From: Martin Blumenstingl Date: Sat, 26 Nov 2016 00:01:14 +0000 (+0100) Subject: kernel: mac80211: disable ath9k bands via device tree X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=448b9b67e15b85994562a2e585028c0595148a98;p=openwrt%2Fstaging%2Fansuel.git kernel: mac80211: disable ath9k bands via device tree These properties allow overriding the settings from the EEPROM which indicate whether a band is enabled or not. Setting this property is only needed when the RF circuit does not support the 2.4GHz or 5GHz band while it is enabled nevertheless in the EEPROM. These patches will be replaced with a future upstream version which will introduces an ieee80211 device tree property to disable bands. Signed-off-by: Martin Blumenstingl --- diff --git a/package/kernel/mac80211/patches/557-ath9k-disable-bands-via-dt.patch b/package/kernel/mac80211/patches/557-ath9k-disable-bands-via-dt.patch new file mode 100644 index 0000000000..ae447ce1f5 --- /dev/null +++ b/package/kernel/mac80211/patches/557-ath9k-disable-bands-via-dt.patch @@ -0,0 +1,32 @@ +--- a/Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt ++++ b/Documentation/devicetree/bindings/net/wireless/qca,ath9k.txt +@@ -34,6 +34,14 @@ Optional properties: + ath9k wireless chip (in this case the calibration / + EEPROM data will be loaded from userspace using the + kernel firmware loader). ++- qca,disable-2ghz: Overrides the settings from the EEPROM and disables the ++ 2.4GHz band. Setting this property is only needed ++ when the RF circuit does not support the 2.4GHz band ++ while it is enabled nevertheless in the EEPROM. ++- qca,disable-5ghz: Overrides the settings from the EEPROM and disables the ++ 5GHz band. Setting this property is only needed when ++ the RF circuit does not support the 5GHz band while ++ it is enabled nevertheless in the EEPROM. + - mac-address: See ethernet.txt in the parent directory + - local-mac-address: See ethernet.txt in the parent directory + +--- a/drivers/net/wireless/ath/ath9k/init.c ++++ b/drivers/net/wireless/ath/ath9k/init.c +@@ -571,6 +571,12 @@ static int ath9k_of_init(struct ath_soft + + ath_dbg(common, CONFIG, "parsing configuration from OF node\n"); + ++ if (of_property_read_bool(np, "qca,disable-2ghz")) ++ ah->disable_2ghz = true; ++ ++ if (of_property_read_bool(np, "qca,disable-5ghz")) ++ ah->disable_5ghz = true; ++ + if (of_property_read_bool(np, "qca,no-eeprom")) { + /* ath9k-eeprom--.bin */ + scnprintf(eeprom_name, sizeof(eeprom_name),