b43: HT-PHY: allow writing longer tables with a single call
RFC PATCH 1/1 b43: HT-PHY: allow writing longer tables with a single call
Sometime we need to write table which is 2-10 elements long. It's easier to create such a function instead of defining array every time.
--- drivers/net/wireless/b43/tables_phy_ht.c | 45 ++++++++++++++++++++++++++++++ drivers/net/wireless/b43/tables_phy_ht.h | 1 + 2 files changed, 46 insertions(+), 0 deletions(-)
drivers/net/wireless/b43/tables_phy_ht.c +45 -0
@@ -674,6 +674,51 @@ void b43_httab_write(struct b43_wldev *dev, u32 offset, u32 value)return ; } +void b43_httab_write_few (struct b43_wldev *dev,u32 offset,size_t num, ...) +{ +va_list args; +u32 type, value; +unsigned int i; + + type = offset &B43_HTTAB_TYPEMASK ; + offset &=0xFFFF ; + +va_start (args, num); +switch (type) { +case B43_HTTAB_8BIT : +b43_phy_write (dev,B43_PHY_HT_TABLE_ADDR , offset); +for (i =0 ; i < num; i++) { + value =va_arg (args, int); +B43_WARN_ON (value & ~0xFF ); +b43_phy_write (dev,B43_PHY_HT_TABLE_DATALO , value); + } +break ; +case B43_HTTAB_16BIT : +b43_phy_write (dev,B43_PHY_HT_TABLE_ADDR , offset); +for (i =0 ; i < num; i++) { + value =va_arg (args, int); +B43_WARN_ON (value & ~0xFFFF ); +b43_phy_write (dev,B43_PHY_HT_TABLE_DATALO , value); + } +break ; +case B43_HTTAB_32BIT : +b43_phy_write (dev,B43_PHY_HT_TABLE_ADDR , offset); +for (i =0 ; i < num; i++) { + value =va_arg (args, int); +b43_phy_write (dev,B43_PHY_HT_TABLE_DATAHI , + value >>16 ); +b43_phy_write (dev,B43_PHY_HT_TABLE_DATALO , + value &0xFFFF ); + } +break ; +default : +B43_WARN_ON (1 ); + } +va_end (args); + +return ; +} +void b43_httab_write_bulk (struct b43_wldev *dev,u32 offset,unsigned int nr_elements,const void *_data) {
drivers/net/wireless/b43/tables_phy_ht.h +1 -0
@@ -14,6 +14,7 @@ u32 b43_httab_read(struct b43_wldev *dev, u32 offset);void b43_httab_read_bulk (struct b43_wldev *dev,u32 offset,unsigned int nr_elements,void *_data);void b43_httab_write (struct b43_wldev *dev,u32 offset,u32 value); +void b43_httab_write_few (struct b43_wldev *dev,u32 offset,size_t num, ...);void b43_httab_write_bulk (struct b43_wldev *dev,u32 offset,unsigned int nr_elements,const void *_data);
Signature · 1 line
1.7.3.4
RFC PATCH 1/1 b43: HT-PHY: allow writing longer tables with a single call
W dniu 12 sierpnia 2011 00:10 u?ytkownik Rafa? Mi?ecki <[email protected]> napisa?:
Quoted 2 lines
Sometime we need to write table which is 2-10 elements long. It's easier to create such a function instead of defining array every time.
John, take this one please.
Signature · 1 line
Rafa?
RFC PATCH 1/1 b43: HT-PHY: allow writing longer tables with a single call
Quoted 6 lines · Rafa? Mi?ecki
W dniu 12 sierpnia 2011 00:10 u?ytkownik Rafa? Mi?ecki <[email protected]> napisa?:
Quoted 2 lines
Sometime we need to write table which is 2-10 elements long. It's easier to create such a function instead of defining array every time.
John, take this one please.
Repost it, without "RFC" in the title.
Signature · 2 lines
John W. Linville Someday the world will need a hero, and you linville at tuxdriver.com might be all we have. Be ready.