mirror of https://github.com/hak5/openwrt.git
mac80211: ath9k: add GPIO mask dts property
This patch adds 'qca,gpio-mask=<u32>' device tree property to ath9k node. This optional setting is a hack and should only be used in very special (and rare) cases when a button or LED is wired to a GPIO pin normally masked out (due to being one-way etc). Netgear WNDR4300 v2 is one such example - it uses GPI9 for RFKILL. See ath9k/reg.h *_GPIO_MASK constants. Use with caution and expect to see stream of kernel warnings if wrong mask value is provided. Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>master
parent
5f07b6f367
commit
4a0a1fc91c
|
@ -0,0 +1,25 @@
|
||||||
|
--- a/drivers/net/wireless/ath/ath9k/init.c
|
||||||
|
+++ b/drivers/net/wireless/ath/ath9k/init.c
|
||||||
|
@@ -654,6 +654,12 @@ static int ath9k_of_init(struct ath_soft
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void ath9k_of_gpio_mask(struct ath_softc *sc)
|
||||||
|
+{
|
||||||
|
+ of_property_read_u32(sc->dev->of_node, "qca,gpio-mask",
|
||||||
|
+ &sc->sc_ah->caps.gpio_mask);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static int ath9k_init_softc(u16 devid, struct ath_softc *sc,
|
||||||
|
const struct ath_bus_ops *bus_ops)
|
||||||
|
{
|
||||||
|
@@ -758,6 +764,9 @@ static int ath9k_init_softc(u16 devid, s
|
||||||
|
if (ret)
|
||||||
|
goto err_hw;
|
||||||
|
|
||||||
|
+ /* GPIO mask quirk */
|
||||||
|
+ ath9k_of_gpio_mask(sc);
|
||||||
|
+
|
||||||
|
ret = ath9k_init_queues(sc);
|
||||||
|
if (ret)
|
||||||
|
goto err_queues;
|
Loading…
Reference in New Issue