]> err.no Git - linux-2.6/blobdiff - drivers/net/wireless/rt2x00/rt2500pci.c
rt2x00: Remove data_desc structure
[linux-2.6] / drivers / net / wireless / rt2x00 / rt2500pci.c
index a9872f95361b124b8b8210adab80702640db225a..1dea9d800d4781f9710aea065f56d8a954382974 100644 (file)
@@ -54,7 +54,7 @@
  * the access attempt is considered to have failed,
  * and we will print an error.
  */
-static u32 rt2500pci_bbp_check(const struct rt2x00_dev *rt2x00dev)
+static u32 rt2500pci_bbp_check(struct rt2x00_dev *rt2x00dev)
 {
        u32 reg;
        unsigned int i;
@@ -69,7 +69,7 @@ static u32 rt2500pci_bbp_check(const struct rt2x00_dev *rt2x00dev)
        return reg;
 }
 
-static void rt2500pci_bbp_write(const struct rt2x00_dev *rt2x00dev,
+static void rt2500pci_bbp_write(struct rt2x00_dev *rt2x00dev,
                                const unsigned int word, const u8 value)
 {
        u32 reg;
@@ -95,7 +95,7 @@ static void rt2500pci_bbp_write(const struct rt2x00_dev *rt2x00dev,
        rt2x00pci_register_write(rt2x00dev, BBPCSR, reg);
 }
 
-static void rt2500pci_bbp_read(const struct rt2x00_dev *rt2x00dev,
+static void rt2500pci_bbp_read(struct rt2x00_dev *rt2x00dev,
                               const unsigned int word, u8 *value)
 {
        u32 reg;
@@ -132,7 +132,7 @@ static void rt2500pci_bbp_read(const struct rt2x00_dev *rt2x00dev,
        *value = rt2x00_get_field32(reg, BBPCSR_VALUE);
 }
 
-static void rt2500pci_rf_write(const struct rt2x00_dev *rt2x00dev,
+static void rt2500pci_rf_write(struct rt2x00_dev *rt2x00dev,
                               const unsigned int word, const u32 value)
 {
        u32 reg;
@@ -195,13 +195,13 @@ static void rt2500pci_eepromregister_write(struct eeprom_93cx6 *eeprom)
 #ifdef CONFIG_RT2X00_LIB_DEBUGFS
 #define CSR_OFFSET(__word)     ( CSR_REG_BASE + ((__word) * sizeof(u32)) )
 
-static void rt2500pci_read_csr(const struct rt2x00_dev *rt2x00dev,
+static void rt2500pci_read_csr(struct rt2x00_dev *rt2x00dev,
                               const unsigned int word, u32 *data)
 {
        rt2x00pci_register_read(rt2x00dev, CSR_OFFSET(word), data);
 }
 
-static void rt2500pci_write_csr(const struct rt2x00_dev *rt2x00dev,
+static void rt2500pci_write_csr(struct rt2x00_dev *rt2x00dev,
                                const unsigned int word, u32 data)
 {
        rt2x00pci_register_write(rt2x00dev, CSR_OFFSET(word), data);
@@ -438,17 +438,19 @@ static void rt2500pci_config_antenna(struct rt2x00_dev *rt2x00dev,
         * Configure the TX antenna.
         */
        switch (ant->tx) {
-       case ANTENNA_SW_DIVERSITY:
-       case ANTENNA_HW_DIVERSITY:
-               rt2x00_set_field8(&r2, BBP_R2_TX_ANTENNA, 2);
-               rt2x00_set_field32(&reg, BBPCSR1_CCK, 2);
-               rt2x00_set_field32(&reg, BBPCSR1_OFDM, 2);
-               break;
        case ANTENNA_A:
                rt2x00_set_field8(&r2, BBP_R2_TX_ANTENNA, 0);
                rt2x00_set_field32(&reg, BBPCSR1_CCK, 0);
                rt2x00_set_field32(&reg, BBPCSR1_OFDM, 0);
                break;
+       case ANTENNA_HW_DIVERSITY:
+       case ANTENNA_SW_DIVERSITY:
+               /*
+                * NOTE: We should never come here because rt2x00lib is
+                * supposed to catch this and send us the correct antenna
+                * explicitely. However we are nog going to bug about this.
+                * Instead, just default to antenna B.
+                */
        case ANTENNA_B:
                rt2x00_set_field8(&r2, BBP_R2_TX_ANTENNA, 2);
                rt2x00_set_field32(&reg, BBPCSR1_CCK, 2);
@@ -460,13 +462,17 @@ static void rt2500pci_config_antenna(struct rt2x00_dev *rt2x00dev,
         * Configure the RX antenna.
         */
        switch (ant->rx) {
-       case ANTENNA_SW_DIVERSITY:
-       case ANTENNA_HW_DIVERSITY:
-               rt2x00_set_field8(&r14, BBP_R14_RX_ANTENNA, 2);
-               break;
        case ANTENNA_A:
                rt2x00_set_field8(&r14, BBP_R14_RX_ANTENNA, 0);
                break;
+       case ANTENNA_HW_DIVERSITY:
+       case ANTENNA_SW_DIVERSITY:
+               /*
+                * NOTE: We should never come here because rt2x00lib is
+                * supposed to catch this and send us the correct antenna
+                * explicitely. However we are nog going to bug about this.
+                * Instead, just default to antenna B.
+                */
        case ANTENNA_B:
                rt2x00_set_field8(&r14, BBP_R14_RX_ANTENNA, 2);
                break;
@@ -557,18 +563,10 @@ static void rt2500pci_enable_led(struct rt2x00_dev *rt2x00dev)
 
        rt2x00_set_field32(&reg, LEDCSR_ON_PERIOD, 70);
        rt2x00_set_field32(&reg, LEDCSR_OFF_PERIOD, 30);
-
-       if (rt2x00dev->led_mode == LED_MODE_TXRX_ACTIVITY) {
-               rt2x00_set_field32(&reg, LEDCSR_LINK, 1);
-               rt2x00_set_field32(&reg, LEDCSR_ACTIVITY, 0);
-       } else if (rt2x00dev->led_mode == LED_MODE_ASUS) {
-               rt2x00_set_field32(&reg, LEDCSR_LINK, 0);
-               rt2x00_set_field32(&reg, LEDCSR_ACTIVITY, 1);
-       } else {
-               rt2x00_set_field32(&reg, LEDCSR_LINK, 1);
-               rt2x00_set_field32(&reg, LEDCSR_ACTIVITY, 1);
-       }
-
+       rt2x00_set_field32(&reg, LEDCSR_LINK,
+                          (rt2x00dev->led_mode != LED_MODE_ASUS));
+       rt2x00_set_field32(&reg, LEDCSR_ACTIVITY,
+                          (rt2x00dev->led_mode != LED_MODE_TXRX_ACTIVITY));
        rt2x00pci_register_write(rt2x00dev, LEDCSR, reg);
 }
 
@@ -693,7 +691,7 @@ dynamic_cca_tune:
 static void rt2500pci_init_rxring(struct rt2x00_dev *rt2x00dev)
 {
        struct data_ring *ring = rt2x00dev->rx;
-       struct data_desc *rxd;
+       __le32 *rxd;
        unsigned int i;
        u32 word;
 
@@ -718,7 +716,7 @@ static void rt2500pci_init_rxring(struct rt2x00_dev *rt2x00dev)
 static void rt2500pci_init_txring(struct rt2x00_dev *rt2x00dev, const int queue)
 {
        struct data_ring *ring = rt2x00lib_get_ring(rt2x00dev, queue);
-       struct data_desc *txd;
+       __le32 *txd;
        unsigned int i;
        u32 word;
 
@@ -1169,7 +1167,7 @@ static int rt2500pci_set_device_state(struct rt2x00_dev *rt2x00dev,
  * TX descriptor initialization
  */
 static void rt2500pci_write_tx_desc(struct rt2x00_dev *rt2x00dev,
-                                   struct data_desc *txd,
+                                   __le32 *txd,
                                    struct txdata_entry_desc *desc,
                                    struct ieee80211_hdr *ieee80211hdr,
                                    unsigned int length,
@@ -1238,12 +1236,12 @@ static void rt2500pci_kick_tx_queue(struct rt2x00_dev *rt2x00dev,
        }
 
        rt2x00pci_register_read(rt2x00dev, TXCSR0, &reg);
-       if (queue == IEEE80211_TX_QUEUE_DATA0)
-               rt2x00_set_field32(&reg, TXCSR0_KICK_PRIO, 1);
-       else if (queue == IEEE80211_TX_QUEUE_DATA1)
-               rt2x00_set_field32(&reg, TXCSR0_KICK_TX, 1);
-       else if (queue == IEEE80211_TX_QUEUE_AFTER_BEACON)
-               rt2x00_set_field32(&reg, TXCSR0_KICK_ATIM, 1);
+       rt2x00_set_field32(&reg, TXCSR0_KICK_PRIO,
+                          (queue == IEEE80211_TX_QUEUE_DATA0));
+       rt2x00_set_field32(&reg, TXCSR0_KICK_TX,
+                          (queue == IEEE80211_TX_QUEUE_DATA1));
+       rt2x00_set_field32(&reg, TXCSR0_KICK_ATIM,
+                          (queue == IEEE80211_TX_QUEUE_AFTER_BEACON));
        rt2x00pci_register_write(rt2x00dev, TXCSR0, reg);
 }
 
@@ -1253,7 +1251,7 @@ static void rt2500pci_kick_tx_queue(struct rt2x00_dev *rt2x00dev,
 static void rt2500pci_fill_rxdone(struct data_entry *entry,
                                  struct rxdata_entry_desc *desc)
 {
-       struct data_desc *rxd = entry->priv;
+       __le32 *rxd = entry->priv;
        u32 word0;
        u32 word2;
 
@@ -1280,7 +1278,7 @@ static void rt2500pci_txdone(struct rt2x00_dev *rt2x00dev, const int queue)
 {
        struct data_ring *ring = rt2x00lib_get_ring(rt2x00dev, queue);
        struct data_entry *entry;
-       struct data_desc *txd;
+       __le32 *txd;
        u32 word;
        int tx_status;
        int retry;