ath9k: move devid cache setting to ath_init()
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Mon, 3 Aug 2009 19:24:37 +0000 (12:24 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 4 Aug 2009 20:44:28 +0000 (16:44 -0400)
This lets us trim one argument off of hw initializer routines.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/ath/ath9k/hw.h
drivers/net/wireless/ath/ath9k/main.c

index fcefea8461f6024ada446bcb79a8ad0f87e7f782..ff2875b233dad551faf0b30f70ec5c5949c9e677 100644 (file)
@@ -437,16 +437,14 @@ static void ath9k_hw_set_defaults(struct ath_hw *ah)
                ah->config.serialize_regmode = SER_REG_MODE_AUTO;
 }
 
-static void ath9k_hw_newstate(u16 devid,
-                             struct ath_hw *ah)
+static void ath9k_hw_newstate(struct ath_hw *ah)
 {
        ah->hw_version.magic = AR5416_MAGIC;
        ah->regulatory.country_code = CTRY_DEFAULT;
-       ah->hw_version.devid = devid;
        ah->hw_version.subvendorid = 0;
 
        ah->ah_flags = 0;
-       if ((devid == AR5416_AR9100_DEVID))
+       if (ah->hw_version.devid == AR5416_AR9100_DEVID)
                ah->hw_version.macVersion = AR_SREV_VERSION_9100;
        if (!AR_SREV_9100(ah))
                ah->ah_flags = AH_USE_EEPROM;
@@ -611,13 +609,12 @@ static int ath9k_hw_post_attach(struct ath_hw *ah)
 }
 
 static int ath9k_hw_do_attach(struct ath_hw *ah,
-                             u16 devid,
                              struct ath_softc *sc)
 {
        int r;
        u32 i, j;
 
-       ath9k_hw_newstate(devid, ah);
+       ath9k_hw_newstate(ah);
        ath9k_hw_set_defaults(ah);
 
        if (!ath9k_hw_set_reset_reg(ah, ATH9K_RESET_POWER_ON)) {
@@ -1186,9 +1183,9 @@ void ath9k_hw_detach(struct ath_hw *ah)
        kfree(ah);
 }
 
-int ath9k_hw_attach(struct ath_hw *ah, u16 devid, struct ath_softc *sc)
+int ath9k_hw_attach(struct ath_hw *ah, struct ath_softc *sc)
 {
-       switch (devid) {
+       switch (ah->hw_version.devid) {
        case AR5416_DEVID_PCI:
        case AR5416_DEVID_PCIE:
        case AR5416_AR9100_DEVID:
@@ -1198,7 +1195,7 @@ int ath9k_hw_attach(struct ath_hw *ah, u16 devid, struct ath_softc *sc)
        case AR9285_DEVID_PCIE:
        case AR5416_DEVID_AR9287_PCI:
        case AR5416_DEVID_AR9287_PCIE:
-               return ath9k_hw_do_attach(ah, devid, sc);
+               return ath9k_hw_do_attach(ah, sc);
        default:
                break;
        }
index 4a0d5f202a7e53f0705812cd00ea095e01891512..c769dd6a83567d2637a07d0b28b947622435391d 100644 (file)
@@ -544,7 +544,7 @@ struct ath_hw {
 /* Attach, Detach, Reset */
 const char *ath9k_hw_probe(u16 vendorid, u16 devid);
 void ath9k_hw_detach(struct ath_hw *ah);
-int ath9k_hw_attach(struct ath_hw *ah, u16 devid, struct ath_softc *sc);
+int ath9k_hw_attach(struct ath_hw *ah, struct ath_softc *sc);
 void ath9k_hw_rfdetach(struct ath_hw *ah);
 int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
                   bool bChannelChange);
index c2b9974aa094aa5c87a5679e3fce012b664e9c7f..fa2c230c3c2fae5398aec5bf87c7d8b955edeab5 100644 (file)
@@ -1331,8 +1331,9 @@ static int ath_init(u16 devid, struct ath_softc *sc)
        }
 
        ah->ah_sc = sc;
+       ah->hw_version.devid = devid;
 
-       r = ath9k_hw_attach(ah, devid, sc);
+       r = ath9k_hw_attach(ah, sc);
        if (r) {
                DPRINTF(sc, ATH_DBG_FATAL,
                        "Unable to attach hardware; "