From ad2e55e02b67701b6af61c9348234987b1217a59 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Tue, 8 Oct 2024 12:55:07 -0700 Subject: [PATCH] mac80211: ath9k: remove platform leds These only work with and are useful with mach files. Now that those are gone, this can go too. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/16635 Signed-off-by: Robert Marko --- .../mac80211/patches/ath9k/100-gpio-of.patch | 5 +- .../patches/ath9k/530-ath9k_extra_leds.patch | 24 ++++---- .../ath9k/531-ath9k_extra_platform_leds.patch | 56 ------------------- .../ath9k/542-ath9k_debugfs_diag.patch | 2 +- .../ath9k/548-ath9k_enable_gpio_chip.patch | 16 ++---- .../ath9k/549-ath9k_enable_gpio_buttons.patch | 8 +-- 6 files changed, 24 insertions(+), 87 deletions(-) delete mode 100644 package/kernel/mac80211/patches/ath9k/531-ath9k_extra_platform_leds.patch diff --git a/package/kernel/mac80211/patches/ath9k/100-gpio-of.patch b/package/kernel/mac80211/patches/ath9k/100-gpio-of.patch index 2cddb59fc5..28dcc6cf85 100644 --- a/package/kernel/mac80211/patches/ath9k/100-gpio-of.patch +++ b/package/kernel/mac80211/patches/ath9k/100-gpio-of.patch @@ -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; diff --git a/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch b/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch index 4bb27d558c..0377c3f0b6 100644 --- a/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch +++ b/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch @@ -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; } @@ -125,11 +125,11 @@ { - 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); @@ -144,6 +144,7 @@ void ath_init_leds(struct ath_softc *sc) { - int ret; ++ struct ath_hw *ah = sc->sc_ah; + char led_name[32]; + const char *trigger; + @@ -162,18 +163,21 @@ - "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 index 4f41cd9139..0000000000 --- a/package/kernel/mac80211/patches/ath9k/531-ath9k_extra_platform_leds.patch +++ /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)); - diff --git a/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch b/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch index 9821716c6a..90a8e4b0fb 100644 --- a/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch +++ b/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch @@ -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); diff --git a/package/kernel/mac80211/patches/ath9k/548-ath9k_enable_gpio_chip.patch b/package/kernel/mac80211/patches/ath9k/548-ath9k_enable_gpio_chip.patch index 1c071c4621..0efe23b9dc 100644 --- a/package/kernel/mac80211/patches/ath9k/548-ath9k_enable_gpio_chip.patch +++ b/package/kernel/mac80211/patches/ath9k/548-ath9k_enable_gpio_chip.patch @@ -192,7 +192,7 @@ Signed-off-by: Felix Fietkau 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 + 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 + 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) diff --git a/package/kernel/mac80211/patches/ath9k/549-ath9k_enable_gpio_buttons.patch b/package/kernel/mac80211/patches/ath9k/549-ath9k_enable_gpio_buttons.patch index 92f110b95c..78700222a9 100644 --- a/package/kernel/mac80211/patches/ath9k/549-ath9k_enable_gpio_buttons.patch +++ b/package/kernel/mac80211/patches/ath9k/549-ath9k_enable_gpio_buttons.patch @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau #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 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; -- 2.30.2