ath9k_hw: distinguish single-chip solutions on initial probe print
[pandora-kernel.git] / drivers / net / wireless / ath / ath9k / ahb.c
index 2ad7d02..329e6bc 100644 (file)
 #include "ath9k.h"
 
 /* return bus cachesize in 4B word units */
-static void ath_ahb_read_cachesize(struct ath_softc *sc, int *csz)
+static void ath_ahb_read_cachesize(struct ath_common *common, int *csz)
 {
        *csz = L1_CACHE_BYTES >> 2;
 }
 
-static void ath_ahb_cleanup(struct ath_softc *sc)
+static void ath_ahb_cleanup(struct ath_common *common)
 {
+       struct ath_softc *sc = (struct ath_softc *)common->priv;
        iounmap(sc->mem);
 }
 
-static bool ath_ahb_eeprom_read(struct ath_hw *ah, u32 off, u16 *data)
+static bool ath_ahb_eeprom_read(struct ath_common *common, u32 off, u16 *data)
 {
-       struct ath_softc *sc = ah->ah_sc;
+       struct ath_softc *sc = (struct ath_softc *)common->priv;
        struct platform_device *pdev = to_platform_device(sc->dev);
        struct ath9k_platform_data *pdata;
 
        pdata = (struct ath9k_platform_data *) pdev->dev.platform_data;
        if (off >= (ARRAY_SIZE(pdata->eeprom_data))) {
-               DPRINTF(ah->ah_sc, ATH_DBG_FATAL,
-                       "%s: flash read failed, offset %08x is out of range\n",
-                               __func__, off);
+               ath_print(common, ATH_DBG_FATAL,
+                         "%s: flash read failed, offset %08x "
+                         "is out of range\n",
+                         __func__, off);
                return false;
        }
 
@@ -67,6 +69,7 @@ static int ath_ahb_probe(struct platform_device *pdev)
        int irq;
        int ret = 0;
        struct ath_hw *ah;
+       char hw_name[64];
 
        if (!pdev->dev.platform_data) {
                dev_err(&pdev->dev, "no platform data specified\n");
@@ -116,10 +119,9 @@ static int ath_ahb_probe(struct platform_device *pdev)
        sc->hw = hw;
        sc->dev = &pdev->dev;
        sc->mem = mem;
-       sc->bus_ops = &ath_ahb_bus_ops;
        sc->irq = irq;
 
-       ret = ath_init_device(AR5416_AR9100_DEVID, sc, 0x0);
+       ret = ath_init_device(AR5416_AR9100_DEVID, sc, 0x0, &ath_ahb_bus_ops);
        if (ret) {
                dev_err(&pdev->dev, "failed to initialize device\n");
                goto err_free_hw;
@@ -132,14 +134,11 @@ static int ath_ahb_probe(struct platform_device *pdev)
        }
 
        ah = sc->sc_ah;
+       ath9k_hw_name(ah, hw_name, sizeof(hw_name));
        printk(KERN_INFO
-              "%s: Atheros AR%s MAC/BB Rev:%x, "
-              "AR%s RF Rev:%x, mem=0x%lx, irq=%d\n",
+              "%s: %s mem=0x%lx, irq=%d\n",
               wiphy_name(hw->wiphy),
-              ath_mac_bb_name(ah->hw_version.macVersion),
-              ah->hw_version.macRev,
-              ath_rf_name((ah->hw_version.analog5GhzRev & AR_RADIO_SREV_MAJOR)),
-              ah->hw_version.phyRev,
+              hw_name,
               (unsigned long)mem, irq);
 
        return 0;