[PATCHv2 2/3] wifi: ath9k: ahb: add led pin OF support

Rosen Penev posted 3 patches 1 month, 3 weeks ago
There is a newer version of this series
[PATCHv2 2/3] wifi: ath9k: ahb: add led pin OF support
Posted by Rosen Penev 1 month, 3 weeks ago
The old and removed platform code had support for assigning a value for
the LED pin for when the default is not correct. Effectively a fix for a
non working LED.

For setting an LED to active high, a negation of led-active-low is used,
as two drivers currently use that and no drivers use led-active-high or
something similar.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/net/wireless/ath/ath9k/init.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index c911b178dcc2..7826b113235d 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -662,6 +662,17 @@ static int ath9k_of_init(struct ath_softc *sc)
 	if (ret == -EPROBE_DEFER)
 		return ret;
 
+	np = of_get_child_by_name(np, "led");
+	if (np && of_device_is_available(np)) {
+		u32 led_pin;
+
+		if (!of_property_read_u32(np, "reg", &led_pin))
+			ah->led_pin = led_pin;
+
+		ah->config.led_active_high = !of_property_read_bool(np, "led-active-low");
+		of_node_put(np);
+	}
+
 	return 0;
 }
 
-- 
2.50.1
Re: [PATCHv2 2/3] wifi: ath9k: ahb: add led pin OF support
Posted by Krzysztof Kozlowski 1 month, 3 weeks ago
On 12/08/2025 21:23, Rosen Penev wrote:
> The old and removed platform code had support for assigning a value for
> the LED pin for when the default is not correct. Effectively a fix for a
> non working LED.
> 
> For setting an LED to active high, a negation of led-active-low is used,
> as two drivers currently use that and no drivers use led-active-high or
> something similar.
> 
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
> ---
>  drivers/net/wireless/ath/ath9k/init.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
> index c911b178dcc2..7826b113235d 100644
> --- a/drivers/net/wireless/ath/ath9k/init.c
> +++ b/drivers/net/wireless/ath/ath9k/init.c
> @@ -662,6 +662,17 @@ static int ath9k_of_init(struct ath_softc *sc)
>  	if (ret == -EPROBE_DEFER)
>  		return ret;
>  
> +	np = of_get_child_by_name(np, "led");
> +	if (np && of_device_is_available(np)) {

You are open-coding of_get_available_child_by_name().

> +		u32 led_pin;
> +
> +		if (!of_property_read_u32(np, "reg", &led_pin))
> +			ah->led_pin = led_pin;
> +
> +		ah->config.led_active_high = !of_property_read_bool(np, "led-active-low");
> +		of_node_put(np);
> +	}

Leaking OF node.

> +
>  	return 0;
>  }
>  


Best regards,
Krzysztof
Re: [PATCHv2 2/3] wifi: ath9k: ahb: add led pin OF support
Posted by Rosen Penev 1 month, 3 weeks ago
On Wed, Aug 13, 2025 at 1:20 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 12/08/2025 21:23, Rosen Penev wrote:
> > The old and removed platform code had support for assigning a value for
> > the LED pin for when the default is not correct. Effectively a fix for a
> > non working LED.
> >
> > For setting an LED to active high, a negation of led-active-low is used,
> > as two drivers currently use that and no drivers use led-active-high or
> > something similar.
> >
> > Signed-off-by: Rosen Penev <rosenp@gmail.com>
> > ---
> >  drivers/net/wireless/ath/ath9k/init.c | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> >
> > diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
> > index c911b178dcc2..7826b113235d 100644
> > --- a/drivers/net/wireless/ath/ath9k/init.c
> > +++ b/drivers/net/wireless/ath/ath9k/init.c
> > @@ -662,6 +662,17 @@ static int ath9k_of_init(struct ath_softc *sc)
> >       if (ret == -EPROBE_DEFER)
> >               return ret;
> >
> > +     np = of_get_child_by_name(np, "led");
> > +     if (np && of_device_is_available(np)) {
>
> You are open-coding of_get_available_child_by_name().
Will fix.
>
> > +             u32 led_pin;
> > +
> > +             if (!of_property_read_u32(np, "reg", &led_pin))
> > +                     ah->led_pin = led_pin;
> > +
> > +             ah->config.led_active_high = !of_property_read_bool(np, "led-active-low");
> > +             of_node_put(np);
> > +     }
>
> Leaking OF node.

Not following here.
>
> > +
> >       return 0;
> >  }
> >
>
>
> Best regards,
> Krzysztof
Re: [PATCHv2 2/3] wifi: ath9k: ahb: add led pin OF support
Posted by Krzysztof Kozlowski 1 month, 3 weeks ago
On 14/08/2025 00:59, Rosen Penev wrote:
>>
>>> +             u32 led_pin;
>>> +
>>> +             if (!of_property_read_u32(np, "reg", &led_pin))
>>> +                     ah->led_pin = led_pin;
>>> +
>>> +             ah->config.led_active_high = !of_property_read_bool(np, "led-active-low");
>>> +             of_node_put(np);
>>> +     }
>>
>> Leaking OF node.
> 
> Not following here.

You miss proper cleanup, leaking of node.

Best regards,
Krzysztof