Re: [net-next RFC PATCH 1/2] drivers: net: dsa: qca8k: add support for led config

From: Ansuel Smith
Date: Mon Sep 20 2021 - 22:51:50 EST


On Mon, Sep 20, 2021 at 08:55:48PM +0200, Andrew Lunn wrote:
> On Mon, Sep 20, 2021 at 08:08:50PM +0200, Ansuel Smith wrote:
> > Add support for led control and led toggle.
> > qca8337 and qca8327 switch have various reg to control port leds.
> > The current implementation permit to toggle them on/off and to declare
> > their blink rules based on the entry in the dts.
> > They can also be declared in userspace by the "control_rule" entry in
> > the led sysfs. When hw_mode is active (set by default) the leds blink
> > based on the control_rule. There are 6 total control rule.
> > Control rule that applies to phy0-3 commonly used for lan port.
> > Control rule that applies to phy4 commonly used for wan port.
> > Each phy port (5 in total) can have a maximum of 3 different leds
> > attached. Each led can be turned off, blink at 4hz, off or set to
> > hw_mode and follow their respecitve control rule. The hw_mode can be
> > toggled using the sysfs entry and will be disabled on brightness or
> > blink set.
>
> Hi Ansuel
>
> It is great you are using the LED subsystem for this. But we need to
> split the code up into a generic part which can shared by any
> switch/PHY and a driver specific part.
>
> There has been a lot of discussion on the list about this. Maybe you
> can help get us to a generic solution which can be used by everybody.
>
> Andrew

Yes, can you point me to the discussion?
I post this as RFC for this exact reason... I read somehwere that there
was a discussion on how to implementd leds for switch but never ever
found it. Also i'm very confused on the node structure on how to define
leds, I think my current implementation is very verbose and long.
As you can see this switch have all the leds controllable with a special
mode to apply some special rules (and actually blink by the switch)
So yes I would like to propose some idea and describe how this switch
works hoping other OEM does the same thing. (I'm very negative about
this part)