Subject: [PATCH 7/32] rt2x00: make vals static

From: Ivo van Doorn <[email-masked]>
Date: Fri, 28 Apr 2006 00:02:57 +0200

From: Ivo van Doorn <[email-masked]>

The vals[] arrays in *_init_hw_channels can be made
static to optimize memory and reduce stack size.

Signed-off-by: Ivo van Doorn <[email-masked]>

diff -uprN wireless-dev-rt2x00/drivers/net/wireless/d80211/rt2x00/rt2400pci.c wireless-dev-rt2x00-patch/drivers/net/wireless/d80211/rt2x00/rt2400pci.c
--- wireless-dev-rt2x00/drivers/net/wireless/d80211/rt2x00/rt2400pci.c	2006-04-27 21:40:06.000000000 +0200
+++ wireless-dev-rt2x00-patch/drivers/net/wireless/d80211/rt2x00/rt2400pci.c	2006-04-27 21:40:43.000000000 +0200
@@ -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,
diff -uprN wireless-dev-rt2x00/drivers/net/wireless/d80211/rt2x00/rt2500pci.c wireless-dev-rt2x00-patch/drivers/net/wireless/d80211/rt2x00/rt2500pci.c
--- wireless-dev-rt2x00/drivers/net/wireless/d80211/rt2x00/rt2500pci.c	2006-04-27 21:40:06.000000000 +0200
+++ wireless-dev-rt2x00-patch/drivers/net/wireless/d80211/rt2x00/rt2500pci.c	2006-04-27 21:40:43.000000000 +0200
@@ -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 rt2x00
 				cpu_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 rt2x00
 				cpu_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,
diff -uprN wireless-dev-rt2x00/drivers/net/wireless/d80211/rt2x00/rt2500usb.c wireless-dev-rt2x00-patch/drivers/net/wireless/d80211/rt2x00/rt2500usb.c
--- wireless-dev-rt2x00/drivers/net/wireless/d80211/rt2x00/rt2500usb.c	2006-04-27 21:40:06.000000000 +0200
+++ wireless-dev-rt2x00-patch/drivers/net/wireless/d80211/rt2x00/rt2500usb.c	2006-04-27 21:40:43.000000000 +0200
@@ -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 rt2x00
 		for (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,