RE: [PATCH v2 1/2] dt-bindings: leds: add LED_FUNCTION for wlan2g/wlan5g

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Marek Behun [mailto:marek.behun@xxxxxx]
> Sent: Samstag, 19. September 2020 22:32
> To: Adrian Schmutzler <freifunk@xxxxxxxxxxxxxxxxxxx>
> Cc: linux-leds@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH v2 1/2] dt-bindings: leds: add LED_FUNCTION for
> wlan2g/wlan5g
> 
> On Sat, 19 Sep 2020 21:24:26 +0200
> Adrian Schmutzler <freifunk@xxxxxxxxxxxxxxxxxxx> wrote:
> 
> > Many consumer "routers" have dedicated LEDs for specific WiFi bands,
> > e.g. one for 2.4 GHz and one for 5 GHz. These LEDs specifically
> > indicate the state of the relevant band, so the latter should be
> > included in the function name. LED_FUNCTION_WLAN will remain for
> > general cases or when the LED is used for more than one band.
> >
> > This essentially is equivalent to how we use LED_FUNCTION_LAN and
> > LED_FUNCTION_WAN instead of just having LED_FUNCTION_ETHERNET.
> 
> Dont. If you want the LED name to inform the user about the WiFi device it is
> being triggered on, it instead should come from the devicename part:
>   "wlan0:blue:activity"
> 
> In fact the function should not be "wlan" (nor "wlan2g" or "wlan5g", but
> "activity".
> 
> I am going to try to work on this subsystem so that if trigger source of the LED
> is set to a WiFi device and function is set to activity, the LED shall blink on wifi
> activity.
> 
> This way we can also avoid using the `linux,default-trigger` property in favour
> of `function`, i.e. if I have:
> 
>    wlan0: wifi@12300 {
>      compatible = "some-wifi";
>      #trigger-source-cells = <0>;
>    }
> 
>    led {
>      color = <LED_COLOR_ID_BLUE>;
>      function = LED_FUNCTION_ACTIVITY;
>      trigger-sources = <&wlan0>;
>    };
> 
> Than this will automatically name the LED as
>   wlan0:blue:activity
> and if the corresponding trigger is available, it should set the trigger even if
> no `linux,default-trigger` property is present.

Thanks for the explanation, I understand why this makes sense conceptually.

However, I assume your use of the word "will" indicates that I won't be able to build a solution like this with kernel 5.4?
So, easiest surrogate there would be to just stick to label property for the moment ...?

How is the "device" part determined? Can I just change the DT label from wlan0 to wlan2g to get a more descriptive name, which will be translated into the led name like wlan2g:blue:activity?

And finally, though partly off-topic:
Is there any way to determine the full "led name" from device-tree? We currently have aliases for certain leds, like
	led-upgrade = &led_somename;

The allowed us to construct the /sys/class/leds/<label> path directly from /proc/device-tree (in a user-space script), as we could access the label property of the LED.
As far as I understand it, the color/function system does not provide a comparable lever, as the final name is only constructed in led-core.c?

Best

Adrian

Attachment: openpgp-digital-signature.asc
Description: PGP signature


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux