diff options
-rw-r--r-- | package/mac80211/Makefile | 2 | ||||
-rw-r--r-- | package/mac80211/patches/560-ath9k-register-id-table-for-platform-device.patch | 46 |
2 files changed, 47 insertions, 1 deletions
diff --git a/package/mac80211/Makefile b/package/mac80211/Makefile index a7a21666d..1eca01666 100644 --- a/package/mac80211/Makefile +++ b/package/mac80211/Makefile @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mac80211 PKG_VERSION:=2011-04-06 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources PKG_MD5SUM:=7ef8c2d9ee25af7ed33cf339f2484249 diff --git a/package/mac80211/patches/560-ath9k-register-id-table-for-platform-device.patch b/package/mac80211/patches/560-ath9k-register-id-table-for-platform-device.patch new file mode 100644 index 000000000..3a8da5b77 --- /dev/null +++ b/package/mac80211/patches/560-ath9k-register-id-table-for-platform-device.patch @@ -0,0 +1,46 @@ +--- a/drivers/net/wireless/ath/ath9k/ahb.c ++++ b/drivers/net/wireless/ath/ath9k/ahb.c +@@ -21,6 +21,14 @@ + #include <linux/ath9k_platform.h> + #include "ath9k.h" + ++const struct platform_device_id ath9k_platform_id_table[] = { ++ { ++ .name = "ath9k", ++ .driver_data = AR5416_AR9100_DEVID, ++ }, ++ {}, ++}; ++ + /* return bus cachesize in 4B word units */ + static void ath_ahb_read_cachesize(struct ath_common *common, int *csz) + { +@@ -57,6 +65,7 @@ static int ath_ahb_probe(struct platform + struct ath_softc *sc; + struct ieee80211_hw *hw; + struct resource *res; ++ const struct platform_device_id *id = platform_get_device_id(pdev); + int irq; + int ret = 0; + struct ath_hw *ah; +@@ -116,7 +125,7 @@ static int ath_ahb_probe(struct platform + goto err_free_hw; + } + +- ret = ath9k_init_device(AR5416_AR9100_DEVID, sc, 0x0, &ath_ahb_bus_ops); ++ ret = ath9k_init_device(id->driver_data, sc, 0x0, &ath_ahb_bus_ops); + if (ret) { + dev_err(&pdev->dev, "failed to initialize device\n"); + goto err_irq; +@@ -165,8 +174,11 @@ static struct platform_driver ath_ahb_dr + .name = "ath9k", + .owner = THIS_MODULE, + }, ++ .id_table = ath9k_platform_id_table, + }; + ++MODULE_DEVICE_TABLE(platform, ath9k_platform_id_table); ++ + int ath_ahb_init(void) + { + return platform_driver_register(&ath_ahb_driver); |