diff options
author | Ivo van Doorn <IvDoorn@gmail.com> | 2008-06-03 16:45:35 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-06-14 12:17:54 -0400 |
commit | 9dad92b9ba49eaab72513d821ae43298bcf93b90 (patch) | |
tree | d2addafa1534616865c563cb0f71207a8a7cde33 /drivers/net/wireless/rt2x00/rt61pci.c | |
parent | 030352a9c7715780b2c01033ae9afe56249bb7cc (diff) |
rt2x00: Calculate register offset during compile time
By using __ffs() the register offsets were always calculated
at run-time which all FIELD32/FIELD16 definitions were builtin
constants. This means we can heavily optimize the register handling
by allowing GCC to do all the work during compilation.
Add some compile_ffs() macros to perform the calculation at
compile time. After this each rt2x00 module size is reduced
by ~2500 bytes. And the stack size of several functions is reduced
as well which further limits the number of rt2x00 results in
'make checkstack'.
v2: Merge GertJan's bugfix of patch [1/11] directly into this patch
instead of providing it as seperate patch.
v3: Add extra parentheses when bitshifting __x
Signed-off-by: Gertjan van Wingerde <gwingerde@kpnplanet.nl>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt61pci.c')
0 files changed, 0 insertions, 0 deletions