ath9k: distinguish between device initialization and ath_softc init
[safe/jmp/linux-2.6] / drivers / net / wireless / ath / ath9k / hw.h
index 28bffdb..4c78e8c 100644 (file)
@@ -42,6 +42,9 @@
 #define AR_SUBVENDOR_ID_NEW_A  0x7065
 #define AR5416_MAGIC           0x19641014
 
+#define AR5416_DEVID_AR9287_PCI  0x002D
+#define AR5416_DEVID_AR9287_PCIE 0x002E
+
 /* Register read/write primitives */
 #define REG_WRITE(_ah, _reg, _val) ath9k_iowrite32((_ah), (_reg), (_val))
 #define REG_READ(_ah, _reg) ath9k_ioread32((_ah), (_reg))
@@ -400,6 +403,7 @@ struct ath_hw {
        union {
                struct ar5416_eeprom_def def;
                struct ar5416_eeprom_4k map4k;
+               struct ar9287_eeprom_t map9287;
        } eeprom;
        const struct eeprom_ops *eep_ops;
        enum ath9k_eep_map eep_map;
@@ -417,7 +421,6 @@ struct ath_hw {
 
        enum nl80211_iftype opmode;
        enum ath9k_power_mode power_mode;
-       enum ath9k_power_mode restore_mode;
 
        struct ath9k_nfcal_hist nfCalHist[NUM_NF_READINGS];
        struct ar5416Stats stats;
@@ -538,10 +541,10 @@ struct ath_hw {
        struct ar5416IniArray iniModesTxGain;
 };
 
-/* Attach, Detach, Reset */
+/* Initialization, Detach, Reset */
 const char *ath9k_hw_probe(u16 vendorid, u16 devid);
 void ath9k_hw_detach(struct ath_hw *ah);
-struct ath_hw *ath9k_hw_attach(u16 devid, struct ath_softc *sc, int *error);
+int ath9k_hw_init(struct ath_hw *ah);
 void ath9k_hw_rfdetach(struct ath_hw *ah);
 int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
                   bool bChannelChange);
@@ -609,7 +612,6 @@ void ath9k_hw_configpcipowersave(struct ath_hw *ah, int restore);
 /* Interrupt Handling */
 bool ath9k_hw_intrpend(struct ath_hw *ah);
 bool ath9k_hw_getisr(struct ath_hw *ah, enum ath9k_int *masked);
-enum ath9k_int ath9k_hw_intrget(struct ath_hw *ah);
 enum ath9k_int ath9k_hw_set_interrupts(struct ath_hw *ah, enum ath9k_int ints);
 
 void ath9k_hw_btcoex_enable(struct ath_hw *ah);