aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGertjan van Wingerde <gwingerde@gmail.com>2012-08-31 13:22:13 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-09-07 15:08:40 -0400
commit99bdf51a6892e7fdff8d879890f075b3bf51d4ef (patch)
treed9520cddeed3aef16ab135da90a498b61ce62412
parent605b55186bfb34eab896c50a21409f9eed2e2a34 (diff)
rt2x00: Unify GPIO register field namings
The various rt2x00 drivers use different methods to name the different GPIO register fields indicating the GPIO pin value and the fields indicating the direction. Start using a unified naming scheme for the GPIO register fields: - <csr>_VAL<x> for fields indicating the GPIO pin value. - <csr>_DIR<x> for fields indicating the GPIO pin direction. Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Ivo Van Doorn <ivdoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/rt2x00/rt2400pci.c4
-rw-r--r--drivers/net/wireless/rt2x00/rt2400pci.h34
-rw-r--r--drivers/net/wireless/rt2x00/rt2500pci.c2
-rw-r--r--drivers/net/wireless/rt2x00/rt2500pci.h18
-rw-r--r--drivers/net/wireless/rt2x00/rt2500usb.c4
-rw-r--r--drivers/net/wireless/rt2x00/rt2500usb.h34
-rw-r--r--drivers/net/wireless/rt2x00/rt2800.h53
-rw-r--r--drivers/net/wireless/rt2x00/rt2800lib.c38
-rw-r--r--drivers/net/wireless/rt2x00/rt2800pci.c6
-rw-r--r--drivers/net/wireless/rt2x00/rt2800usb.c6
-rw-r--r--drivers/net/wireless/rt2x00/rt61pci.c12
-rw-r--r--drivers/net/wireless/rt2x00/rt61pci.h26
-rw-r--r--drivers/net/wireless/rt2x00/rt73usb.c4
-rw-r--r--drivers/net/wireless/rt2x00/rt73usb.h34
14 files changed, 143 insertions, 132 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c
index 64328af496f5..6458ab87717b 100644
--- a/drivers/net/wireless/rt2x00/rt2400pci.c
+++ b/drivers/net/wireless/rt2x00/rt2400pci.c
@@ -205,7 +205,7 @@ static int rt2400pci_rfkill_poll(struct rt2x00_dev *rt2x00dev)
205 u32 reg; 205 u32 reg;
206 206
207 rt2x00pci_register_read(rt2x00dev, GPIOCSR, &reg); 207 rt2x00pci_register_read(rt2x00dev, GPIOCSR, &reg);
208 return rt2x00_get_field32(reg, GPIOCSR_BIT0); 208 return rt2x00_get_field32(reg, GPIOCSR_VAL0);
209} 209}
210 210
211#ifdef CONFIG_RT2X00_LIB_LEDS 211#ifdef CONFIG_RT2X00_LIB_LEDS
@@ -1629,7 +1629,7 @@ static int rt2400pci_probe_hw(struct rt2x00_dev *rt2x00dev)
1629 * rfkill switch GPIO pin correctly. 1629 * rfkill switch GPIO pin correctly.
1630 */ 1630 */
1631 rt2x00pci_register_read(rt2x00dev, GPIOCSR, &reg); 1631 rt2x00pci_register_read(rt2x00dev, GPIOCSR, &reg);
1632 rt2x00_set_field32(&reg, GPIOCSR_BIT8, 1); 1632 rt2x00_set_field32(&reg, GPIOCSR_DIR0, 1);
1633 rt2x00pci_register_write(rt2x00dev, GPIOCSR, reg); 1633 rt2x00pci_register_write(rt2x00dev, GPIOCSR, reg);
1634 1634
1635 /* 1635 /*
diff --git a/drivers/net/wireless/rt2x00/rt2400pci.h b/drivers/net/wireless/rt2x00/rt2400pci.h
index 9d78a53ac61a..e4b07f0aa3cc 100644
--- a/drivers/net/wireless/rt2x00/rt2400pci.h
+++ b/drivers/net/wireless/rt2x00/rt2400pci.h
@@ -660,24 +660,26 @@
660 660
661/* 661/*
662 * GPIOCSR: GPIO control register. 662 * GPIOCSR: GPIO control register.
663 * GPIOCSR_VALx: Actual GPIO pin x value
664 * GPIOCSR_DIRx: GPIO direction: 0 = output; 1 = input
663 */ 665 */
664#define GPIOCSR 0x0120 666#define GPIOCSR 0x0120
665#define GPIOCSR_BIT0 FIELD32(0x00000001) 667#define GPIOCSR_VAL0 FIELD32(0x00000001)
666#define GPIOCSR_BIT1 FIELD32(0x00000002) 668#define GPIOCSR_VAL1 FIELD32(0x00000002)
667#define GPIOCSR_BIT2 FIELD32(0x00000004) 669#define GPIOCSR_VAL2 FIELD32(0x00000004)
668#define GPIOCSR_BIT3 FIELD32(0x00000008) 670#define GPIOCSR_VAL3 FIELD32(0x00000008)
669#define GPIOCSR_BIT4 FIELD32(0x00000010) 671#define GPIOCSR_VAL4 FIELD32(0x00000010)
670#define GPIOCSR_BIT5 FIELD32(0x00000020) 672#define GPIOCSR_VAL5 FIELD32(0x00000020)
671#define GPIOCSR_BIT6 FIELD32(0x00000040) 673#define GPIOCSR_VAL6 FIELD32(0x00000040)
672#define GPIOCSR_BIT7 FIELD32(0x00000080) 674#define GPIOCSR_VAL7 FIELD32(0x00000080)
673#define GPIOCSR_BIT8 FIELD32(0x00000100) 675#define GPIOCSR_DIR0 FIELD32(0x00000100)
674#define GPIOCSR_BIT9 FIELD32(0x00000200) 676#define GPIOCSR_DIR1 FIELD32(0x00000200)
675#define GPIOCSR_BIT10 FIELD32(0x00000400) 677#define GPIOCSR_DIR2 FIELD32(0x00000400)
676#define GPIOCSR_BIT11 FIELD32(0x00000800) 678#define GPIOCSR_DIR3 FIELD32(0x00000800)
677#define GPIOCSR_BIT12 FIELD32(0x00001000) 679#define GPIOCSR_DIR4 FIELD32(0x00001000)
678#define GPIOCSR_BIT13 FIELD32(0x00002000) 680#define GPIOCSR_DIR5 FIELD32(0x00002000)
679#define GPIOCSR_BIT14 FIELD32(0x00004000) 681#define GPIOCSR_DIR6 FIELD32(0x00004000)
680#define GPIOCSR_BIT15 FIELD32(0x00008000) 682#define GPIOCSR_DIR7 FIELD32(0x00008000)
681 683
682/* 684/*
683 * BBPPCSR: BBP Pin control register. 685 * BBPPCSR: BBP Pin control register.
diff --git a/drivers/net/wireless/rt2x00/rt2500pci.c b/drivers/net/wireless/rt2x00/rt2500pci.c
index 3de0406735f6..68bca1456cda 100644
--- a/drivers/net/wireless/rt2x00/rt2500pci.c
+++ b/drivers/net/wireless/rt2x00/rt2500pci.c
@@ -205,7 +205,7 @@ static int rt2500pci_rfkill_poll(struct rt2x00_dev *rt2x00dev)
205 u32 reg; 205 u32 reg;
206 206
207 rt2x00pci_register_read(rt2x00dev, GPIOCSR, &reg); 207 rt2x00pci_register_read(rt2x00dev, GPIOCSR, &reg);
208 return rt2x00_get_field32(reg, GPIOCSR_BIT0); 208 return rt2x00_get_field32(reg, GPIOCSR_VAL0);
209} 209}
210 210
211#ifdef CONFIG_RT2X00_LIB_LEDS 211#ifdef CONFIG_RT2X00_LIB_LEDS
diff --git a/drivers/net/wireless/rt2x00/rt2500pci.h b/drivers/net/wireless/rt2x00/rt2500pci.h
index 2aad7ba8a100..9c10068e4987 100644
--- a/drivers/net/wireless/rt2x00/rt2500pci.h
+++ b/drivers/net/wireless/rt2x00/rt2500pci.h
@@ -789,16 +789,18 @@
789 789
790/* 790/*
791 * GPIOCSR: GPIO control register. 791 * GPIOCSR: GPIO control register.
792 * GPIOCSR_VALx: GPIO value
793 * GPIOCSR_DIRx: GPIO direction: 0 = output; 1 = input
792 */ 794 */
793#define GPIOCSR 0x0120 795#define GPIOCSR 0x0120
794#define GPIOCSR_BIT0 FIELD32(0x00000001) 796#define GPIOCSR_VAL0 FIELD32(0x00000001)
795#define GPIOCSR_BIT1 FIELD32(0x00000002) 797#define GPIOCSR_VAL1 FIELD32(0x00000002)
796#define GPIOCSR_BIT2 FIELD32(0x00000004) 798#define GPIOCSR_VAL2 FIELD32(0x00000004)
797#define GPIOCSR_BIT3 FIELD32(0x00000008) 799#define GPIOCSR_VAL3 FIELD32(0x00000008)
798#define GPIOCSR_BIT4 FIELD32(0x00000010) 800#define GPIOCSR_VAL4 FIELD32(0x00000010)
799#define GPIOCSR_BIT5 FIELD32(0x00000020) 801#define GPIOCSR_VAL5 FIELD32(0x00000020)
800#define GPIOCSR_BIT6 FIELD32(0x00000040) 802#define GPIOCSR_VAL6 FIELD32(0x00000040)
801#define GPIOCSR_BIT7 FIELD32(0x00000080) 803#define GPIOCSR_VAL7 FIELD32(0x00000080)
802#define GPIOCSR_DIR0 FIELD32(0x00000100) 804#define GPIOCSR_DIR0 FIELD32(0x00000100)
803#define GPIOCSR_DIR1 FIELD32(0x00000200) 805#define GPIOCSR_DIR1 FIELD32(0x00000200)
804#define GPIOCSR_DIR2 FIELD32(0x00000400) 806#define GPIOCSR_DIR2 FIELD32(0x00000400)
diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c
index 89fee311d8fd..f95b5516c50a 100644
--- a/drivers/net/wireless/rt2x00/rt2500usb.c
+++ b/drivers/net/wireless/rt2x00/rt2500usb.c
@@ -283,7 +283,7 @@ static int rt2500usb_rfkill_poll(struct rt2x00_dev *rt2x00dev)
283 u16 reg; 283 u16 reg;
284 284
285 rt2500usb_register_read(rt2x00dev, MAC_CSR19, &reg); 285 rt2500usb_register_read(rt2x00dev, MAC_CSR19, &reg);
286 return rt2x00_get_field16(reg, MAC_CSR19_BIT7); 286 return rt2x00_get_field16(reg, MAC_CSR19_VAL7);
287} 287}
288 288
289#ifdef CONFIG_RT2X00_LIB_LEDS 289#ifdef CONFIG_RT2X00_LIB_LEDS
@@ -1786,7 +1786,7 @@ static int rt2500usb_probe_hw(struct rt2x00_dev *rt2x00dev)
1786 * rfkill switch GPIO pin correctly. 1786 * rfkill switch GPIO pin correctly.
1787 */ 1787 */
1788 rt2500usb_register_read(rt2x00dev, MAC_CSR19, &reg); 1788 rt2500usb_register_read(rt2x00dev, MAC_CSR19, &reg);
1789 rt2x00_set_field16(&reg, MAC_CSR19_BIT8, 0); 1789 rt2x00_set_field16(&reg, MAC_CSR19_DIR0, 0);
1790 rt2500usb_register_write(rt2x00dev, MAC_CSR19, reg); 1790 rt2500usb_register_write(rt2x00dev, MAC_CSR19, reg);
1791 1791
1792 /* 1792 /*
diff --git a/drivers/net/wireless/rt2x00/rt2500usb.h b/drivers/net/wireless/rt2x00/rt2500usb.h
index 9652300b6f9c..1b91a4cef965 100644
--- a/drivers/net/wireless/rt2x00/rt2500usb.h
+++ b/drivers/net/wireless/rt2x00/rt2500usb.h
@@ -187,24 +187,26 @@
187 187
188/* 188/*
189 * MAC_CSR19: GPIO control register. 189 * MAC_CSR19: GPIO control register.
190 * MAC_CSR19_VALx: GPIO value
191 * MAC_CSR19_DIRx: GPIO direction: 0 = input; 1 = output
190 */ 192 */
191#define MAC_CSR19 0x0426 193#define MAC_CSR19 0x0426
192#define MAC_CSR19_BIT0 FIELD16(0x0001) 194#define MAC_CSR19_VAL0 FIELD16(0x0001)
193#define MAC_CSR19_BIT1 FIELD16(0x0002) 195#define MAC_CSR19_VAL1 FIELD16(0x0002)
194#define MAC_CSR19_BIT2 FIELD16(0x0004) 196#define MAC_CSR19_VAL2 FIELD16(0x0004)
195#define MAC_CSR19_BIT3 FIELD16(0x0008) 197#define MAC_CSR19_VAL3 FIELD16(0x0008)
196#define MAC_CSR19_BIT4 FIELD16(0x0010) 198#define MAC_CSR19_VAL4 FIELD16(0x0010)
197#define MAC_CSR19_BIT5 FIELD16(0x0020) 199#define MAC_CSR19_VAL5 FIELD16(0x0020)
198#define MAC_CSR19_BIT6 FIELD16(0x0040) 200#define MAC_CSR19_VAL6 FIELD16(0x0040)
199#define MAC_CSR19_BIT7 FIELD16(0x0080) 201#define MAC_CSR19_VAL7 FIELD16(0x0080)
200#define MAC_CSR19_BIT8 FIELD16(0x0100) 202#define MAC_CSR19_DIR0 FIELD16(0x0100)
201#define MAC_CSR19_BIT9 FIELD16(0x0200) 203#define MAC_CSR19_DIR1 FIELD16(0x0200)
202#define MAC_CSR19_BIT10 FIELD16(0x0400) 204#define MAC_CSR19_DIR2 FIELD16(0x0400)
203#define MAC_CSR19_BIT11 FIELD16(0x0800) 205#define MAC_CSR19_DIR3 FIELD16(0x0800)
204#define MAC_CSR19_BIT12 FIELD16(0x1000) 206#define MAC_CSR19_DIR4 FIELD16(0x1000)
205#define MAC_CSR19_BIT13 FIELD16(0x2000) 207#define MAC_CSR19_DIR5 FIELD16(0x2000)
206#define MAC_CSR19_BIT14 FIELD16(0x4000) 208#define MAC_CSR19_DIR6 FIELD16(0x4000)
207#define MAC_CSR19_BIT15 FIELD16(0x8000) 209#define MAC_CSR19_DIR7 FIELD16(0x8000)
208 210
209/* 211/*
210 * MAC_CSR20: LED control register. 212 * MAC_CSR20: LED control register.
diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h
index a838e17db45c..e13916f18001 100644
--- a/drivers/net/wireless/rt2x00/rt2800.h
+++ b/drivers/net/wireless/rt2x00/rt2800.h
@@ -439,32 +439,33 @@
439#define WMM_TXOP1_CFG_AC3TXOP FIELD32(0xffff0000) 439#define WMM_TXOP1_CFG_AC3TXOP FIELD32(0xffff0000)
440 440
441/* 441/*
442 * GPIO_CTRL_CFG: 442 * GPIO_CTRL:
443 * GPIOD: GPIO direction, 0: Output, 1: Input 443 * GPIO_CTRL_VALx: GPIO value
444 */ 444 * GPIO_CTRL_DIRx: GPIO direction: 0 = output; 1 = input
445#define GPIO_CTRL_CFG 0x0228 445 */
446#define GPIO_CTRL_CFG_BIT0 FIELD32(0x00000001) 446#define GPIO_CTRL 0x0228
447#define GPIO_CTRL_CFG_BIT1 FIELD32(0x00000002) 447#define GPIO_CTRL_VAL0 FIELD32(0x00000001)
448#define GPIO_CTRL_CFG_BIT2 FIELD32(0x00000004) 448#define GPIO_CTRL_VAL1 FIELD32(0x00000002)
449#define GPIO_CTRL_CFG_BIT3 FIELD32(0x00000008) 449#define GPIO_CTRL_VAL2 FIELD32(0x00000004)
450#define GPIO_CTRL_CFG_BIT4 FIELD32(0x00000010) 450#define GPIO_CTRL_VAL3 FIELD32(0x00000008)
451#define GPIO_CTRL_CFG_BIT5 FIELD32(0x00000020) 451#define GPIO_CTRL_VAL4 FIELD32(0x00000010)
452#define GPIO_CTRL_CFG_BIT6 FIELD32(0x00000040) 452#define GPIO_CTRL_VAL5 FIELD32(0x00000020)
453#define GPIO_CTRL_CFG_BIT7 FIELD32(0x00000080) 453#define GPIO_CTRL_VAL6 FIELD32(0x00000040)
454#define GPIO_CTRL_CFG_GPIOD_BIT0 FIELD32(0x00000100) 454#define GPIO_CTRL_VAL7 FIELD32(0x00000080)
455#define GPIO_CTRL_CFG_GPIOD_BIT1 FIELD32(0x00000200) 455#define GPIO_CTRL_DIR0 FIELD32(0x00000100)
456#define GPIO_CTRL_CFG_GPIOD_BIT2 FIELD32(0x00000400) 456#define GPIO_CTRL_DIR1 FIELD32(0x00000200)
457#define GPIO_CTRL_CFG_GPIOD_BIT3 FIELD32(0x00000800) 457#define GPIO_CTRL_DIR2 FIELD32(0x00000400)
458#define GPIO_CTRL_CFG_GPIOD_BIT4 FIELD32(0x00001000) 458#define GPIO_CTRL_DIR3 FIELD32(0x00000800)
459#define GPIO_CTRL_CFG_GPIOD_BIT5 FIELD32(0x00002000) 459#define GPIO_CTRL_DIR4 FIELD32(0x00001000)
460#define GPIO_CTRL_CFG_GPIOD_BIT6 FIELD32(0x00004000) 460#define GPIO_CTRL_DIR5 FIELD32(0x00002000)
461#define GPIO_CTRL_CFG_GPIOD_BIT7 FIELD32(0x00008000) 461#define GPIO_CTRL_DIR6 FIELD32(0x00004000)
462#define GPIO_CTRL_CFG_BIT8 FIELD32(0x00010000) 462#define GPIO_CTRL_DIR7 FIELD32(0x00008000)
463#define GPIO_CTRL_CFG_BIT9 FIELD32(0x00020000) 463#define GPIO_CTRL_VAL8 FIELD32(0x00010000)
464#define GPIO_CTRL_CFG_BIT10 FIELD32(0x00040000) 464#define GPIO_CTRL_VAL9 FIELD32(0x00020000)
465#define GPIO_CTRL_CFG_GPIOD_BIT8 FIELD32(0x01000000) 465#define GPIO_CTRL_VAL10 FIELD32(0x00040000)
466#define GPIO_CTRL_CFG_GPIOD_BIT9 FIELD32(0x02000000) 466#define GPIO_CTRL_DIR8 FIELD32(0x01000000)
467#define GPIO_CTRL_CFG_GPIOD_BIT10 FIELD32(0x04000000) 467#define GPIO_CTRL_DIR9 FIELD32(0x02000000)
468#define GPIO_CTRL_DIR10 FIELD32(0x04000000)
468 469
469/* 470/*
470 * MCU_CMD_CFG 471 * MCU_CMD_CFG
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index b93516d832fb..58fc1d9bacd6 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -923,8 +923,8 @@ int rt2800_rfkill_poll(struct rt2x00_dev *rt2x00dev)
923 rt2800_register_read(rt2x00dev, WLAN_FUN_CTRL, &reg); 923 rt2800_register_read(rt2x00dev, WLAN_FUN_CTRL, &reg);
924 return rt2x00_get_field32(reg, WLAN_GPIO_IN_BIT0); 924 return rt2x00_get_field32(reg, WLAN_GPIO_IN_BIT0);
925 } else { 925 } else {
926 rt2800_register_read(rt2x00dev, GPIO_CTRL_CFG, &reg); 926 rt2800_register_read(rt2x00dev, GPIO_CTRL, &reg);
927 return rt2x00_get_field32(reg, GPIO_CTRL_CFG_BIT2); 927 return rt2x00_get_field32(reg, GPIO_CTRL_VAL2);
928 } 928 }
929} 929}
930EXPORT_SYMBOL_GPL(rt2800_rfkill_poll); 930EXPORT_SYMBOL_GPL(rt2800_rfkill_poll);
@@ -1570,10 +1570,10 @@ static void rt2800_set_ant_diversity(struct rt2x00_dev *rt2x00dev,
1570 rt2800_mcu_request(rt2x00dev, MCU_ANT_SELECT, 0xff, 1570 rt2800_mcu_request(rt2x00dev, MCU_ANT_SELECT, 0xff,
1571 eesk_pin, 0); 1571 eesk_pin, 0);
1572 1572
1573 rt2800_register_read(rt2x00dev, GPIO_CTRL_CFG, &reg); 1573 rt2800_register_read(rt2x00dev, GPIO_CTRL, &reg);
1574 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_GPIOD_BIT3, 0); 1574 rt2x00_set_field32(&reg, GPIO_CTRL_DIR3, 0);
1575 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_BIT3, gpio_bit3); 1575 rt2x00_set_field32(&reg, GPIO_CTRL_VAL3, gpio_bit3);
1576 rt2800_register_write(rt2x00dev, GPIO_CTRL_CFG, reg); 1576 rt2800_register_write(rt2x00dev, GPIO_CTRL, reg);
1577} 1577}
1578 1578
1579void rt2800_config_ant(struct rt2x00_dev *rt2x00dev, struct antenna_setup *ant) 1579void rt2800_config_ant(struct rt2x00_dev *rt2x00dev, struct antenna_setup *ant)
@@ -1995,13 +1995,13 @@ static void rt2800_config_channel_rf3052(struct rt2x00_dev *rt2x00dev,
1995 rt2800_rfcsr_write(rt2x00dev, 29, 0x9f); 1995 rt2800_rfcsr_write(rt2x00dev, 29, 0x9f);
1996 } 1996 }
1997 1997
1998 rt2800_register_read(rt2x00dev, GPIO_CTRL_CFG, &reg); 1998 rt2800_register_read(rt2x00dev, GPIO_CTRL, &reg);
1999 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_GPIOD_BIT7, 0); 1999 rt2x00_set_field32(&reg, GPIO_CTRL_DIR7, 0);
2000 if (rf->channel <= 14) 2000 if (rf->channel <= 14)
2001 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_BIT7, 1); 2001 rt2x00_set_field32(&reg, GPIO_CTRL_VAL7, 1);
2002 else 2002 else
2003 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_BIT7, 0); 2003 rt2x00_set_field32(&reg, GPIO_CTRL_VAL7, 0);
2004 rt2800_register_write(rt2x00dev, GPIO_CTRL_CFG, reg); 2004 rt2800_register_write(rt2x00dev, GPIO_CTRL, reg);
2005 2005
2006 rt2800_rfcsr_read(rt2x00dev, 7, &rfcsr); 2006 rt2800_rfcsr_read(rt2x00dev, 7, &rfcsr);
2007 rt2x00_set_field8(&rfcsr, RFCSR7_RF_TUNING, 1); 2007 rt2x00_set_field8(&rfcsr, RFCSR7_RF_TUNING, 1);
@@ -3587,16 +3587,16 @@ static int rt2800_init_bbp(struct rt2x00_dev *rt2x00dev)
3587 if (test_bit(CAPABILITY_BT_COEXIST, &rt2x00dev->cap_flags)) { 3587 if (test_bit(CAPABILITY_BT_COEXIST, &rt2x00dev->cap_flags)) {
3588 u32 reg; 3588 u32 reg;
3589 3589
3590 rt2800_register_read(rt2x00dev, GPIO_CTRL_CFG, &reg); 3590 rt2800_register_read(rt2x00dev, GPIO_CTRL, &reg);
3591 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_GPIOD_BIT3, 0); 3591 rt2x00_set_field32(&reg, GPIO_CTRL_DIR3, 0);
3592 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_GPIOD_BIT6, 0); 3592 rt2x00_set_field32(&reg, GPIO_CTRL_DIR6, 0);
3593 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_BIT3, 0); 3593 rt2x00_set_field32(&reg, GPIO_CTRL_VAL3, 0);
3594 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_BIT6, 0); 3594 rt2x00_set_field32(&reg, GPIO_CTRL_VAL6, 0);
3595 if (ant == 0) 3595 if (ant == 0)
3596 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_BIT3, 1); 3596 rt2x00_set_field32(&reg, GPIO_CTRL_VAL3, 1);
3597 else if (ant == 1) 3597 else if (ant == 1)
3598 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_BIT6, 1); 3598 rt2x00_set_field32(&reg, GPIO_CTRL_VAL6, 1);
3599 rt2800_register_write(rt2x00dev, GPIO_CTRL_CFG, reg); 3599 rt2800_register_write(rt2x00dev, GPIO_CTRL, reg);
3600 } 3600 }
3601 3601
3602 /* This chip has hardware antenna diversity*/ 3602 /* This chip has hardware antenna diversity*/
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 4765bbd654cd..096554094554 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -1000,9 +1000,9 @@ static int rt2800pci_probe_hw(struct rt2x00_dev *rt2x00dev)
1000 * Enable rfkill polling by setting GPIO direction of the 1000 * Enable rfkill polling by setting GPIO direction of the
1001 * rfkill switch GPIO pin correctly. 1001 * rfkill switch GPIO pin correctly.
1002 */ 1002 */
1003 rt2x00pci_register_read(rt2x00dev, GPIO_CTRL_CFG, &reg); 1003 rt2x00pci_register_read(rt2x00dev, GPIO_CTRL, &reg);
1004 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_GPIOD_BIT2, 1); 1004 rt2x00_set_field32(&reg, GPIO_CTRL_DIR2, 1);
1005 rt2x00pci_register_write(rt2x00dev, GPIO_CTRL_CFG, reg); 1005 rt2x00pci_register_write(rt2x00dev, GPIO_CTRL, reg);
1006 1006
1007 /* 1007 /*
1008 * Initialize hw specifications. 1008 * Initialize hw specifications.
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
index 6b4226b71618..b13b3142996a 100644
--- a/drivers/net/wireless/rt2x00/rt2800usb.c
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c
@@ -761,9 +761,9 @@ static int rt2800usb_probe_hw(struct rt2x00_dev *rt2x00dev)
761 * Enable rfkill polling by setting GPIO direction of the 761 * Enable rfkill polling by setting GPIO direction of the
762 * rfkill switch GPIO pin correctly. 762 * rfkill switch GPIO pin correctly.
763 */ 763 */
764 rt2x00usb_register_read(rt2x00dev, GPIO_CTRL_CFG, &reg); 764 rt2x00usb_register_read(rt2x00dev, GPIO_CTRL, &reg);
765 rt2x00_set_field32(&reg, GPIO_CTRL_CFG_GPIOD_BIT2, 1); 765 rt2x00_set_field32(&reg, GPIO_CTRL_DIR2, 1);
766 rt2x00usb_register_write(rt2x00dev, GPIO_CTRL_CFG, reg); 766 rt2x00usb_register_write(rt2x00dev, GPIO_CTRL, reg);
767 767
768 /* 768 /*
769 * Initialize hw specifications. 769 * Initialize hw specifications.
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
index b8ec96163922..2673e058caaf 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -243,7 +243,7 @@ static int rt61pci_rfkill_poll(struct rt2x00_dev *rt2x00dev)
243 u32 reg; 243 u32 reg;
244 244
245 rt2x00pci_register_read(rt2x00dev, MAC_CSR13, &reg); 245 rt2x00pci_register_read(rt2x00dev, MAC_CSR13, &reg);
246 return rt2x00_get_field32(reg, MAC_CSR13_BIT5); 246 return rt2x00_get_field32(reg, MAC_CSR13_VAL5);
247} 247}
248 248
249#ifdef CONFIG_RT2X00_LIB_LEDS 249#ifdef CONFIG_RT2X00_LIB_LEDS
@@ -715,11 +715,11 @@ static void rt61pci_config_antenna_2529_rx(struct rt2x00_dev *rt2x00dev,
715 715
716 rt2x00pci_register_read(rt2x00dev, MAC_CSR13, &reg); 716 rt2x00pci_register_read(rt2x00dev, MAC_CSR13, &reg);
717 717
718 rt2x00_set_field32(&reg, MAC_CSR13_BIT4, p1); 718 rt2x00_set_field32(&reg, MAC_CSR13_DIR4, 0);
719 rt2x00_set_field32(&reg, MAC_CSR13_BIT12, 0); 719 rt2x00_set_field32(&reg, MAC_CSR13_VAL4, p1);
720 720
721 rt2x00_set_field32(&reg, MAC_CSR13_BIT3, !p2); 721 rt2x00_set_field32(&reg, MAC_CSR13_DIR3, 0);
722 rt2x00_set_field32(&reg, MAC_CSR13_BIT11, 0); 722 rt2x00_set_field32(&reg, MAC_CSR13_VAL3, !p2);
723 723
724 rt2x00pci_register_write(rt2x00dev, MAC_CSR13, reg); 724 rt2x00pci_register_write(rt2x00dev, MAC_CSR13, reg);
725} 725}
@@ -2855,7 +2855,7 @@ static int rt61pci_probe_hw(struct rt2x00_dev *rt2x00dev)
2855 * rfkill switch GPIO pin correctly. 2855 * rfkill switch GPIO pin correctly.
2856 */ 2856 */
2857 rt2x00pci_register_read(rt2x00dev, MAC_CSR13, &reg); 2857 rt2x00pci_register_read(rt2x00dev, MAC_CSR13, &reg);
2858 rt2x00_set_field32(&reg, MAC_CSR13_BIT13, 1); 2858 rt2x00_set_field32(&reg, MAC_CSR13_DIR5, 1);
2859 rt2x00pci_register_write(rt2x00dev, MAC_CSR13, reg); 2859 rt2x00pci_register_write(rt2x00dev, MAC_CSR13, reg);
2860 2860
2861 /* 2861 /*
diff --git a/drivers/net/wireless/rt2x00/rt61pci.h b/drivers/net/wireless/rt2x00/rt61pci.h
index 9ee0c33175fd..9bc6b6044e34 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.h
+++ b/drivers/net/wireless/rt2x00/rt61pci.h
@@ -357,20 +357,22 @@ struct hw_pairwise_ta_entry {
357 357
358/* 358/*
359 * MAC_CSR13: GPIO. 359 * MAC_CSR13: GPIO.
360 * MAC_CSR13_VALx: GPIO value
361 * MAC_CSR13_DIRx: GPIO direction: 0 = output; 1 = input
360 */ 362 */
361#define MAC_CSR13 0x3034 363#define MAC_CSR13 0x3034
362#define MAC_CSR13_BIT0 FIELD32(0x00000001) 364#define MAC_CSR13_VAL0 FIELD32(0x00000001)
363#define MAC_CSR13_BIT1 FIELD32(0x00000002) 365#define MAC_CSR13_VAL1 FIELD32(0x00000002)
364#define MAC_CSR13_BIT2 FIELD32(0x00000004) 366#define MAC_CSR13_VAL2 FIELD32(0x00000004)
365#define MAC_CSR13_BIT3 FIELD32(0x00000008) 367#define MAC_CSR13_VAL3 FIELD32(0x00000008)
366#define MAC_CSR13_BIT4 FIELD32(0x00000010) 368#define MAC_CSR13_VAL4 FIELD32(0x00000010)
367#define MAC_CSR13_BIT5 FIELD32(0x00000020) 369#define MAC_CSR13_VAL5 FIELD32(0x00000020)
368#define MAC_CSR13_BIT8 FIELD32(0x00000100) 370#define MAC_CSR13_DIR0 FIELD32(0x00000100)
369#define MAC_CSR13_BIT9 FIELD32(0x00000200) 371#define MAC_CSR13_DIR1 FIELD32(0x00000200)
370#define MAC_CSR13_BIT10 FIELD32(0x00000400) 372#define MAC_CSR13_DIR2 FIELD32(0x00000400)
371#define MAC_CSR13_BIT11 FIELD32(0x00000800) 373#define MAC_CSR13_DIR3 FIELD32(0x00000800)
372#define MAC_CSR13_BIT12 FIELD32(0x00001000) 374#define MAC_CSR13_DIR4 FIELD32(0x00001000)
373#define MAC_CSR13_BIT13 FIELD32(0x00002000) 375#define MAC_CSR13_DIR5 FIELD32(0x00002000)
374 376
375/* 377/*
376 * MAC_CSR14: LED control register. 378 * MAC_CSR14: LED control register.
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c
index 248436c13ce0..cfa9f37cccc2 100644
--- a/drivers/net/wireless/rt2x00/rt73usb.c
+++ b/drivers/net/wireless/rt2x00/rt73usb.c
@@ -189,7 +189,7 @@ static int rt73usb_rfkill_poll(struct rt2x00_dev *rt2x00dev)
189 u32 reg; 189 u32 reg;
190 190
191 rt2x00usb_register_read(rt2x00dev, MAC_CSR13, &reg); 191 rt2x00usb_register_read(rt2x00dev, MAC_CSR13, &reg);
192 return rt2x00_get_field32(reg, MAC_CSR13_BIT7); 192 return rt2x00_get_field32(reg, MAC_CSR13_VAL7);
193} 193}
194 194
195#ifdef CONFIG_RT2X00_LIB_LEDS 195#ifdef CONFIG_RT2X00_LIB_LEDS
@@ -2195,7 +2195,7 @@ static int rt73usb_probe_hw(struct rt2x00_dev *rt2x00dev)
2195 * rfkill switch GPIO pin correctly. 2195 * rfkill switch GPIO pin correctly.
2196 */ 2196 */
2197 rt2x00usb_register_read(rt2x00dev, MAC_CSR13, &reg); 2197 rt2x00usb_register_read(rt2x00dev, MAC_CSR13, &reg);
2198 rt2x00_set_field32(&reg, MAC_CSR13_BIT15, 0); 2198 rt2x00_set_field32(&reg, MAC_CSR13_DIR7, 0);
2199 rt2x00usb_register_write(rt2x00dev, MAC_CSR13, reg); 2199 rt2x00usb_register_write(rt2x00dev, MAC_CSR13, reg);
2200 2200
2201 /* 2201 /*
diff --git a/drivers/net/wireless/rt2x00/rt73usb.h b/drivers/net/wireless/rt2x00/rt73usb.h
index df1cc116b83b..7577e0ba3877 100644
--- a/drivers/net/wireless/rt2x00/rt73usb.h
+++ b/drivers/net/wireless/rt2x00/rt73usb.h
@@ -267,24 +267,26 @@ struct hw_pairwise_ta_entry {
267 267
268/* 268/*
269 * MAC_CSR13: GPIO. 269 * MAC_CSR13: GPIO.
270 * MAC_CSR13_VALx: GPIO value
271 * MAC_CSR13_DIRx: GPIO direction: 0 = input; 1 = output
270 */ 272 */
271#define MAC_CSR13 0x3034 273#define MAC_CSR13 0x3034
272#define MAC_CSR13_BIT0 FIELD32(0x00000001) 274#define MAC_CSR13_VAL0 FIELD32(0x00000001)
273#define MAC_CSR13_BIT1 FIELD32(0x00000002) 275#define MAC_CSR13_VAL1 FIELD32(0x00000002)
274#define MAC_CSR13_BIT2 FIELD32(0x00000004) 276#define MAC_CSR13_VAL2 FIELD32(0x00000004)
275#define MAC_CSR13_BIT3 FIELD32(0x00000008) 277#define MAC_CSR13_VAL3 FIELD32(0x00000008)
276#define MAC_CSR13_BIT4 FIELD32(0x00000010) 278#define MAC_CSR13_VAL4 FIELD32(0x00000010)
277#define MAC_CSR13_BIT5 FIELD32(0x00000020) 279#define MAC_CSR13_VAL5 FIELD32(0x00000020)
278#define MAC_CSR13_BIT6 FIELD32(0x00000040) 280#define MAC_CSR13_VAL6 FIELD32(0x00000040)
279#define MAC_CSR13_BIT7 FIELD32(0x00000080) 281#define MAC_CSR13_VAL7 FIELD32(0x00000080)
280#define MAC_CSR13_BIT8 FIELD32(0x00000100) 282#define MAC_CSR13_DIR0 FIELD32(0x00000100)
281#define MAC_CSR13_BIT9 FIELD32(0x00000200) 283#define MAC_CSR13_DIR1 FIELD32(0x00000200)
282#define MAC_CSR13_BIT10 FIELD32(0x00000400) 284#define MAC_CSR13_DIR2 FIELD32(0x00000400)
283#define MAC_CSR13_BIT11 FIELD32(0x00000800) 285#define MAC_CSR13_DIR3 FIELD32(0x00000800)
284#define MAC_CSR13_BIT12 FIELD32(0x00001000) 286#define MAC_CSR13_DIR4 FIELD32(0x00001000)
285#define MAC_CSR13_BIT13 FIELD32(0x00002000) 287#define MAC_CSR13_DIR5 FIELD32(0x00002000)
286#define MAC_CSR13_BIT14 FIELD32(0x00004000) 288#define MAC_CSR13_DIR6 FIELD32(0x00004000)
287#define MAC_CSR13_BIT15 FIELD32(0x00008000) 289#define MAC_CSR13_DIR7 FIELD32(0x00008000)
288 290
289/* 291/*
290 * MAC_CSR14: LED control register. 292 * MAC_CSR14: LED control register.