[PATCH] zd1211rw: Remove addressing abstraction
Instead of passing our own custom 32-bit addresses around and translating them, this patch makes all our register address constants absolute and removes the translation. There are two ugly parts: - fw_reg_addr() is needed to compute addresses of firmware registers, as this is dynamic based upon firmware - inc_addr() needs a small hack to handle byte vs word addressing However, both of those are only small, and we don't use fw_regs a whole lot anyway. The bonuses here include simplicity and improved driver readability. Also, the fact that registers are now referenced by 16-bit absolute addresses (as opposed to 32-bit pseudo addresses) means that over 2kb compiled code size has been shaved off. Includes some touchups and sparse fixes from Ulrich Kunitz. Signed-off-by:Daniel Drake <dsd@gentoo.org> Signed-off-by:
John W. Linville <linville@tuxdriver.com>
Showing
- drivers/net/wireless/zd1211rw/zd_chip.c 48 additions, 11 deletionsdrivers/net/wireless/zd1211rw/zd_chip.c
- drivers/net/wireless/zd1211rw/zd_chip.h 49 additions, 40 deletionsdrivers/net/wireless/zd1211rw/zd_chip.h
- drivers/net/wireless/zd1211rw/zd_def.h 2 additions, 0 deletionsdrivers/net/wireless/zd1211rw/zd_def.h
- drivers/net/wireless/zd1211rw/zd_ieee80211.h 0 additions, 1 deletiondrivers/net/wireless/zd1211rw/zd_ieee80211.h
- drivers/net/wireless/zd1211rw/zd_rf.h 0 additions, 2 deletionsdrivers/net/wireless/zd1211rw/zd_rf.h
- drivers/net/wireless/zd1211rw/zd_types.h 0 additions, 71 deletionsdrivers/net/wireless/zd1211rw/zd_types.h
- drivers/net/wireless/zd1211rw/zd_usb.c 3 additions, 109 deletionsdrivers/net/wireless/zd1211rw/zd_usb.c
- drivers/net/wireless/zd1211rw/zd_usb.h 2 additions, 4 deletionsdrivers/net/wireless/zd1211rw/zd_usb.h
Loading
Please register or sign in to comment