Browse Source

ath9k: ignore led_pin if ath9k GPIO controller is used with DT

Don't setup the default led pin if the ath9k GPIO controller is used
via device tree to prevent collision. In case any of the pins exposed
by the ath9k is used, the phyNtpt trigger needs to be set in userspace.

Signed-off-by: Mathias Kresin <[email protected]>
Mathias Kresin 9 years ago
parent
commit
b06559e5b7

+ 6 - 4
package/kernel/mac80211/patches/548-ath9k_enable_gpio_chip.patch

@@ -221,21 +221,23 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	char led_name[32];
  	const char *trigger;
  	int i;
-@@ -156,6 +291,13 @@ void ath_init_leds(struct ath_softc *sc)
+@@ -156,6 +291,15 @@ void ath_init_leds(struct ath_softc *sc)
  	if (AR_SREV_9100(sc->sc_ah))
  		return;
  
 +	if (!np)
 +		ath9k_register_gpio_chip(sc);
 +
-+	/* setup gpio controller only if requested */
-+	if (of_property_read_bool(np, "gpio-controller"))
++	/* setup gpio controller only if requested and skip the led_pin setup */
++	if (of_property_read_bool(np, "gpio-controller")) {
 +		ath9k_register_gpio_chip(sc);
++		return;
++	}
 +
  	ath_fill_led_pin(sc);
  
  	if (pdata && pdata->leds && pdata->num_leds)
-@@ -183,6 +325,7 @@ void ath_init_leds(struct ath_softc *sc)
+@@ -183,6 +327,7 @@ void ath_init_leds(struct ath_softc *sc)
  	ath_create_gpio_led(sc, sc->sc_ah->led_pin, led_name, trigger,
  			   !sc->sc_ah->config.led_active_high);
  }

+ 2 - 2
package/kernel/mac80211/patches/549-ath9k_enable_gpio_buttons.patch

@@ -117,8 +117,8 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	while (!list_empty(&sc->leds)) {
  		led = list_first_entry(&sc->leds, struct ath_led, list);
  #ifdef CONFIG_GPIOLIB
-@@ -299,6 +368,7 @@ void ath_init_leds(struct ath_softc *sc)
- 		ath9k_register_gpio_chip(sc);
+@@ -301,6 +370,7 @@ void ath_init_leds(struct ath_softc *sc)
+ 	}
  
  	ath_fill_led_pin(sc);
 +	ath9k_init_buttons(sc);