mac80211: ath9k: remove platform leds
authorRosen Penev <rosenp@gmail.com>
Tue, 8 Oct 2024 19:55:07 +0000 (12:55 -0700)
committerRobert Marko <robimarko@gmail.com>
Fri, 27 Dec 2024 20:56:45 +0000 (21:56 +0100)
These only work with and are useful with mach files. Now that those are
gone, this can go too.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16635
Signed-off-by: Robert Marko <robimarko@gmail.com>
package/kernel/mac80211/patches/ath9k/100-gpio-of.patch
package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch
package/kernel/mac80211/patches/ath9k/531-ath9k_extra_platform_leds.patch [deleted file]
package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch
package/kernel/mac80211/patches/ath9k/548-ath9k_enable_gpio_chip.patch
package/kernel/mac80211/patches/ath9k/549-ath9k_enable_gpio_buttons.patch

index 2cddb59fc5470e261da051a5963edf5b4e2fa786..28dcc6cf852d4e2552dc07160c084bfa09dcd543 100644 (file)
@@ -1,12 +1,9 @@
 --- a/drivers/net/wireless/ath/ath9k/hw.h
 +++ b/drivers/net/wireless/ath/ath9k/hw.h
-@@ -976,6 +976,13 @@ struct ath_hw {
+@@ -976,6 +976,10 @@ struct ath_hw {
        bool disable_2ghz;
        bool disable_5ghz;
  
-+      int num_leds;
-+      const struct gpio_led *leds;
-+
 +      unsigned num_btns;
 +      const struct gpio_keys_button *btns;
 +      unsigned btn_poll_interval;
index 4bb27d558cc43c6b6582578fc0218cc79f708d53..0377c3f0b69f299e29f4c05a165a9f4d2da3f976 100644 (file)
@@ -38,7 +38,7 @@
  #ifdef CPTCFG_ATH9K_DEBUGFS
 --- a/drivers/net/wireless/ath/ath9k/gpio.c
 +++ b/drivers/net/wireless/ath/ath9k/gpio.c
-@@ -39,61 +39,111 @@ static void ath_fill_led_pin(struct ath_
+@@ -39,61 +39,115 @@ static void ath_fill_led_pin(struct ath_
                else
                        ah->led_pin = ATH_LED_PIN_DEF;
        }
  {
 -      if (!sc->led_registered)
 -              return;
-+      struct ath_led *led;
+-
 -      ath_led_brightness(&sc->led_cdev, LED_OFF);
 -      led_classdev_unregister(&sc->led_cdev);
--
++      struct ath_led *led;
 -      ath9k_hw_gpio_free(sc->sc_ah, sc->sc_ah->led_pin);
 +      while (!list_empty(&sc->leds)) {
 +              led = list_first_entry(&sc->leds, struct ath_led, list);
  void ath_init_leds(struct ath_softc *sc)
  {
 -      int ret;
++      struct ath_hw *ah = sc->sc_ah;
 +      char led_name[32];
 +      const char *trigger;
 +
 -              "ath9k-%s", wiphy_name(sc->hw->wiphy));
 -      sc->led_cdev.name = sc->led_name;
 -      sc->led_cdev.brightness_set = ath_led_brightness;
-+      snprintf(led_name, sizeof(led_name), "ath9k-%s",
-+               wiphy_name(sc->hw->wiphy));
+-
 -      ret = led_classdev_register(wiphy_dev(sc->hw->wiphy), &sc->led_cdev);
 -      if (ret < 0)
--              return;
++      if (ah->led_pin < 0)
+               return;
+-      sc->led_registered = true;
++      snprintf(led_name, sizeof(led_name), "ath9k-%s",
++               wiphy_name(sc->hw->wiphy));
++
 +      if (ath9k_led_blink)
 +              trigger = sc->led_default_trigger;
 +      else
 +              trigger = ieee80211_get_radio_led_name(sc->hw);
--      sc->led_registered = true;
++
 +      ath_create_gpio_led(sc, sc->sc_ah->led_pin, led_name, trigger,
 +                         !sc->sc_ah->config.led_active_high);
  }
diff --git a/package/kernel/mac80211/patches/ath9k/531-ath9k_extra_platform_leds.patch b/package/kernel/mac80211/patches/ath9k/531-ath9k_extra_platform_leds.patch
deleted file mode 100644 (file)
index 4f41cd9..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
---- a/drivers/net/wireless/ath/ath9k/gpio.c
-+++ b/drivers/net/wireless/ath/ath9k/gpio.c
-@@ -108,6 +108,24 @@ int ath_create_gpio_led(struct ath_softc
-       return ret;
- }
-+static int ath_create_platform_led(struct ath_softc *sc,
-+                                 const struct gpio_led *gpio)
-+{
-+      struct ath_led *led;
-+      int ret;
-+
-+      led = kzalloc(sizeof(*led), GFP_KERNEL);
-+      if (!led)
-+              return -ENOMEM;
-+
-+      led->gpio = gpio;
-+      ret = ath_add_led(sc, led);
-+      if (ret < 0)
-+              kfree(led);
-+
-+      return ret;
-+}
-+
- void ath_deinit_leds(struct ath_softc *sc)
- {
-       struct ath_led *led;
-@@ -124,8 +142,10 @@ void ath_deinit_leds(struct ath_softc *s
- void ath_init_leds(struct ath_softc *sc)
- {
-+      struct ath_hw *ah = sc->sc_ah;
-       char led_name[32];
-       const char *trigger;
-+      int i;
-       INIT_LIST_HEAD(&sc->leds);
-@@ -134,6 +154,17 @@ void ath_init_leds(struct ath_softc *sc)
-       ath_fill_led_pin(sc);
-+      if (ah->leds && ah->num_leds)
-+              for (i = 0; i < ah->num_leds; i++) {
-+                      if (ah->leds[i].gpio == ah->led_pin)
-+                              ah->led_pin = -1;
-+
-+                      ath_create_platform_led(sc, &ah->leds[i]);
-+              }
-+
-+      if (ah->led_pin < 0)
-+              return;
-+
-       snprintf(led_name, sizeof(led_name), "ath9k-%s",
-                wiphy_name(sc->hw->wiphy));
index 9821716c6a72c3a97ec18d8952ecccf66fa7b541..90a8e4b0fbb15bc118f87b2a4747161bc5edace2 100644 (file)
@@ -84,7 +84,7 @@
        bool reset_power_on;
        bool htc_reset_init;
  
-@@ -1086,6 +1094,7 @@ void ath9k_hw_check_nav(struct ath_hw *a
+@@ -1083,6 +1091,7 @@ void ath9k_hw_check_nav(struct ath_hw *a
  bool ath9k_hw_check_alive(struct ath_hw *ah);
  
  bool ath9k_hw_setpower(struct ath_hw *ah, enum ath9k_power_mode mode);
index 1c071c46218d2a7a7456c167d19340c9ad64013f..0efe23b9dc950e42a7f76a18c074a42946165a7f 100644 (file)
@@ -192,7 +192,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        return 0;
  }
  
-@@ -135,17 +259,24 @@ void ath_deinit_leds(struct ath_softc *s
+@@ -117,17 +241,24 @@ void ath_deinit_leds(struct ath_softc *s
  
        while (!list_empty(&sc->leds)) {
                led = list_first_entry(&sc->leds, struct ath_led, list);
@@ -216,8 +216,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +      struct device_node *np = sc->dev->of_node;
        char led_name[32];
        const char *trigger;
-       int i;
-@@ -155,6 +286,12 @@ void ath_init_leds(struct ath_softc *sc)
+@@ -136,6 +267,12 @@ void ath_init_leds(struct ath_softc *sc)
        if (AR_SREV_9100(sc->sc_ah))
                return;
  
@@ -229,12 +229,4 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +
        ath_fill_led_pin(sc);
  
-       if (ah->leds && ah->num_leds)
-@@ -179,6 +316,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);
- }
-+
- #endif
- /*******************/
+       if (ah->led_pin < 0)
index 92f110b95c11538075c80dcc7b8a6e8068108343..78700222a93a47cbe9b0fad501d99e700c04910f 100644 (file)
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #endif /* CONFIG_GPIOLIB */
  
  /********************************/
-@@ -257,6 +328,7 @@ void ath_deinit_leds(struct ath_softc *s
+@@ -239,6 +310,7 @@ void ath_deinit_leds(struct ath_softc *s
  {
        struct ath_led *led;
  
@@ -120,11 +120,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        while (!list_empty(&sc->leds)) {
                led = list_first_entry(&sc->leds, struct ath_led, list);
  #ifdef CONFIG_GPIOLIB
-@@ -293,6 +365,7 @@ void ath_init_leds(struct ath_softc *sc)
+@@ -274,6 +346,7 @@ void ath_init_leds(struct ath_softc *sc)
        }
  
        ath_fill_led_pin(sc);
 +      ath9k_init_buttons(sc);
  
-       if (ah->leds && ah->num_leds)
-               for (i = 0; i < ah->num_leds; i++) {
+       if (ah->led_pin < 0)
+               return;