rt2x00: make vals static
Subsystems (3)
PATCH 7/32 rt2x00: make vals static
From: Ivo van Doorn <[email protected]>
The vals[] arrays in *_init_hw_channels can be made static to optimize memory and reduce stack size.
drivers/net/wireless/d80211/rt2x00/rt2400pci.c +1 -1
@@ -1868,7 +1868,7 @@ rt2400pci_init_hw_channels(struct rt2x00 {int counter;u16 eeprom; -u32 vals[] = { +static u32 vals[] = {0x000c1fda ,0x000c1fee ,0x000c2002 ,0x000c2016 ,0x000c202a ,0x000c203e ,0x000c2052 ,0x000c2066 ,0x000c207a ,0x000c208e ,0x000c20a2 ,0x000c20b6 ,
drivers/net/wireless/d80211/rt2x00/rt2500pci.c +11 -11
@@ -1929,9 +1929,9 @@ rt2500pci_init_hw_channels(struct rt2x00 struct ieee80211_channel *channels) {int counter; -u16 eeprom;u32 rf2_base; -struct { +u16 eeprom; +static struct {unsigned int chip;u32 val[3 ]; } rf[] = {
@@ -1947,16 +1947,16 @@ rt2500pci_init_hw_channels(struct rt2x00* Channel initialization. * First we set the basic variables. */ -for (counter =0 ; counter <13 ; counter++) { - channels[counter].chan = counter +1 ; +for (counter =0 ; counter <13 ; counter++) { + channels[counter].chan = counter +1 ; channels[counter].freq =2407 + ((counter +1 ) *5 ); channels[counter].flag =IEEE80211_CHAN_W_IBSS |IEEE80211_CHAN_W_ACTIVE_SCAN |IEEE80211_CHAN_W_SCAN ; channels[counter].antenna_max =0xff ; - } + } - channels[13 ].chan =14 ; - channels[13 ].freq =2484 ; + channels[13 ].chan =14 ; + channels[13 ].freq =2484 ; channels[13 ].flag =IEEE80211_CHAN_W_IBSS |IEEE80211_CHAN_W_ACTIVE_SCAN |IEEE80211_CHAN_W_SCAN ; channels[13 ].antenna_max =0xff ;
@@ -1988,7 +1988,7 @@ rt2500pci_init_hw_channels(struct rt2x00 rf2_base =0x00080000 ;if (rt2x00_rf (&rt2x00pci->chip,RF2522 )) { -u32 vals[] = { +static u32 vals[] = {0x000c1fda ,0x000c1fee ,0x000c2002 ,0x000c2016 ,0x000c202a ,0x000c203e ,0x000c2052 ,0x000c2066 ,0x000c207a ,0x000c208e ,0x000c20a2 ,0x000c20b6 ,
@@ -2000,7 +2000,7 @@ rt2500pci_init_hw_channels(struct rt2x00 }else if (rt2x00_rf (&rt2x00pci->chip,RF2523 ) ||rt2x00_rf (&rt2x00pci->chip,RF2524 ) ||rt2x00_rf (&rt2x00pci->chip,RF2525 )) { -u32 vals[] = { +static u32 vals[] = {0x00000c9e ,0x00000ca2 ,0x00000ca6 ,0x00000caa ,0x00000cae ,0x00000cb2 ,0x00000cb6 ,0x00000cba , 0x00000cbe, 0x00000d02, 0x00000d06, 0x00000d0a,
@@ -2012,7 +2012,7 @@ rt2500pci_init_hw_channels(struct rt2x00cpu_to_le32 (vals[counter] | rf2_base); }else if (rt2x00_rf (&rt2x00pci->chip,RF2525E ) ||rt2x00_rf (&rt2x00pci->chip,RF5222 )) { -u32 vals[] = { +static u32 vals[] = {0x00001136 ,0x0000113a ,0x0000113e ,0x00001182 ,0x00001186 ,0x0000118a ,0x0000118e ,0x00001192 , 0x00001196, 0x0000119a, 0x0000119e, 0x000011a2,
@@ -2024,7 +2024,7 @@ rt2500pci_init_hw_channels(struct rt2x00cpu_to_le32 (vals[counter] | rf2_base); }if (rt2x00_rf (&rt2x00pci->chip,RF5222 )) { -u32 vals[] = { +static u32 vals[] = {0x00018896 ,0x0001889a ,0x0001889e ,0x000188a2 ,0x000188a6 ,0x000188aa ,0x000188ae ,0x000188b2 ,0x00008802 ,0x00008806 ,0x0000880a ,0x0000880e ,
drivers/net/wireless/d80211/rt2x00/rt2500usb.c +10 -10
@@ -1629,9 +1629,9 @@ rt2500usb_init_hw_channels(struct rt2x00 struct ieee80211_channel *channels) {int counter; -u16 eeprom;u32 rf2_base; -struct { +u16 eeprom; +static struct {unsigned int chip;u32 val[3 ]; } rf[] = {
@@ -1647,16 +1647,16 @@ rt2500usb_init_hw_channels(struct rt2x00* Channel initialization. * First we set the basic variables. */ -for (counter =0 ; counter <13 ; counter++) { - channels[counter].chan = counter +1 ; +for (counter =0 ; counter <13 ; counter++) { + channels[counter].chan = counter +1 ; channels[counter].freq =2407 + ((counter +1 ) *5 ); channels[counter].flag =IEEE80211_CHAN_W_IBSS |IEEE80211_CHAN_W_ACTIVE_SCAN |IEEE80211_CHAN_W_SCAN ; channels[counter].antenna_max =0xff ; - } + } - channels[13 ].chan =14 ; - channels[13 ].freq =2484 ; + channels[13 ].chan =14 ; + channels[13 ].freq =2484 ; channels[13 ].flag =IEEE80211_CHAN_W_IBSS |IEEE80211_CHAN_W_ACTIVE_SCAN |IEEE80211_CHAN_W_SCAN ; channels[13 ].antenna_max =0xff ;
@@ -1687,7 +1687,7 @@ rt2500usb_init_hw_channels(struct rt2x00 rf2_base =0x00080000 ;if (rt2x00_rf (&rt2x00usb->chip,RF2522 )) { -u32 vals[] = { +static u32 vals[] = {0x000c1fda ,0x000c1fee ,0x000c2002 ,0x000c2016 ,0x000c202a ,0x000c203e ,0x000c2052 ,0x000c2066 ,0x000c207a ,0x000c208e ,0x000c20a2 ,0x000c20b6 ,
@@ -1699,7 +1699,7 @@ rt2500usb_init_hw_channels(struct rt2x00 }else if (rt2x00_rf (&rt2x00usb->chip,RF2523 ) ||rt2x00_rf (&rt2x00usb->chip,RF2524 ) ||rt2x00_rf (&rt2x00usb->chip,RF2525 )) { -u32 vals[] = { +static u32 vals[] = {0x00000c9e ,0x00000ca2 ,0x00000ca6 ,0x00000caa ,0x00000cae ,0x00000cb2 ,0x00000cb6 ,0x00000cba , 0x00000cbe, 0x00000d02, 0x00000d06, 0x00000d0a,
@@ -1720,7 +1720,7 @@ rt2500usb_init_hw_channels(struct rt2x00for (counter =0 ; counter <ARRAY_SIZE (vals); counter++) channels[counter].val =cpu_to_le32 (vals[counter]); }else if (rt2x00_rf (&rt2x00usb->chip,RF5222 )) { -u32 vals[] = { +static u32 vals[] = {0x00001136 ,0x0000113a ,0x0000113e ,0x00001182 ,0x00001186 ,0x0000118a ,0x0000118e ,0x00001192 , 0x00001196, 0x0000119a, 0x0000119e, 0x000011a2,
Sie schrieben:
Quoted 4 lines
From: Ivo van Doorn <[email protected]>
The vals[] arrays in
*_init_hw_channelscan be made static to optimize memory and reduce stack size.
What about static const? They are also constants, right? But please try first, if this helps in terms of code size.
Regards
Ingo Oeser
Quoted 8 lines · Ingo Oeser
Sie schrieben:
Quoted 4 lines
From: Ivo van Doorn <[email protected]>
The vals[] arrays in
*_init_hw_channelscan be made static to optimize memory and reduce stack size.What about static const? They are also constants, right? But please try first, if this helps in terms of code size.
Good idea, I'll create a patch to make them constant as well.