linux-leds.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH 1/3] net: phy: mscc: Add possibilty to disable combined LED mode
       [not found]   ` <18de5e10-f41f-0790-89c8-3a70d48539be@kontron.de>
@ 2021-10-01 10:09     ` Marek Behún
  2021-10-01 10:52       ` Frieder Schrempf
  0 siblings, 1 reply; 2+ messages in thread
From: Marek Behún @ 2021-10-01 10:09 UTC (permalink / raw)
  To: Frieder Schrempf, linux-leds
  Cc: Andrew Lunn, Frieder Schrempf, David S. Miller, Heiner Kallweit,
	Jakub Kicinski, linux-kernel, netdev, Bjarni Jonasson,
	Ioana Ciornei, Russell King, Steen Hegelund

On Fri, 1 Oct 2021 11:20:36 +0200
Frieder Schrempf <frieder.schrempf@kontron.de> wrote:

> On 01.10.21 02:05, Andrew Lunn wrote:
> > On Thu, Sep 30, 2021 at 02:57:43PM +0200, Frieder Schrempf wrote:  
> >> From: Frieder Schrempf <frieder.schrempf@kontron.de>
> >>
> >> By default the LED modes offer to combine two indicators like speed/link
> >> and activity in one LED. In order to use a LED only for the first of the
> >> two modes, the combined feature needs to be disabled.
> >>
> >> In order to do this we introduce a boolean devicetree property
> >> 'vsc8531,led-[N]-combine-disable' and wire it up to the matching
> >> bits in the LED behavior register.  
> > 
> > Sorry, but no DT property. Each PHY has its own magic combination of
> > DT properties, nothing shared, nothing common. This does not scale.
> > 
> > Please look at the work being done to control PHY LEDs using the Linux
> > LED infrastructure. That should give us one uniform interface for all
> > PHY LEDs.  
> 
> +Cc: Marek
> 
> I guess you are referring to this: [1]?
> 
> If so, the last version I could find is a year old now. Is anyone still
> working on this?

Yes, I am still working on this.

Anyway the last version is not one year old, the last version to add
this support is 4 months old:
https://lore.kernel.org/netdev/20210602144439.4d20b295@dellmb/T/

This version does not add the code for ethernet PHYs, instead it just
tries to touch only the LED subsystem by adding the API for offloading
LED triggers and an example implementation for Turris Omnia LED
controller.

I will probably send another version this weekend. Sorry this takes
this long.


> I understand, that the generic approach is the one we want to have, but
> does this really mean adding PHY led configuration via DT to existing
> drivers (that already use DT properties for LED modes) is not accepted
> anymore, even if the new API is not yet in place?

I don't know about Rob, but I would be against it.

But if you need to have your PHY LED configured with via devicetree
ASAP, instead of proposing the vendor specific property, you can
propose LED subnodes and properties that will be generic and compatible
with the LED subsystem API, i.e. something like:

  ethernet-phy@1 {
    .... eth phy properties;

    leds {
      led@0 {
        reg = <0>;
        color = <LED_COLOR_ID_GREEN>;
        /* this LED should indicate link/speed */
        function = LED_FUNCTION_LINK; 
      };
    };
  }

Then make your PHY driver parse this, and make it so that if
function is LED_FUNCTION_LINK or LED_FUNCTION_ACTIVITY, the driver will
disable combined mode.

Afterwards, when LED subsystem has support for trigger offloading, you
can update mscc driver so that instead of just disabling combined mode,
it will register the LEDs via LED subsystem...

Marek

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/3] net: phy: mscc: Add possibilty to disable combined LED mode
  2021-10-01 10:09     ` [PATCH 1/3] net: phy: mscc: Add possibilty to disable combined LED mode Marek Behún
@ 2021-10-01 10:52       ` Frieder Schrempf
  0 siblings, 0 replies; 2+ messages in thread
From: Frieder Schrempf @ 2021-10-01 10:52 UTC (permalink / raw)
  To: Marek Behún, Frieder Schrempf, linux-leds
  Cc: Andrew Lunn, David S. Miller, Heiner Kallweit, Jakub Kicinski,
	linux-kernel, netdev, Bjarni Jonasson, Ioana Ciornei,
	Russell King, Steen Hegelund

Hi Marek,

On 01.10.21 12:09, Marek Behún wrote:
> On Fri, 1 Oct 2021 11:20:36 +0200
> Frieder Schrempf <frieder.schrempf@kontron.de> wrote:
> 
>> On 01.10.21 02:05, Andrew Lunn wrote:
>>> On Thu, Sep 30, 2021 at 02:57:43PM +0200, Frieder Schrempf wrote:
>>>> From: Frieder Schrempf <frieder.schrempf@kontron.de>
>>>>
>>>> By default the LED modes offer to combine two indicators like speed/link
>>>> and activity in one LED. In order to use a LED only for the first of the
>>>> two modes, the combined feature needs to be disabled.
>>>>
>>>> In order to do this we introduce a boolean devicetree property
>>>> 'vsc8531,led-[N]-combine-disable' and wire it up to the matching
>>>> bits in the LED behavior register.
>>>
>>> Sorry, but no DT property. Each PHY has its own magic combination of
>>> DT properties, nothing shared, nothing common. This does not scale.
>>>
>>> Please look at the work being done to control PHY LEDs using the Linux
>>> LED infrastructure. That should give us one uniform interface for all
>>> PHY LEDs.
>>
>> +Cc: Marek
>>
>> I guess you are referring to this: [1]?
>>
>> If so, the last version I could find is a year old now. Is anyone still
>> working on this?
> 
> Yes, I am still working on this.
> 
> Anyway the last version is not one year old, the last version to add
> this support is 4 months old:
> https://lore.kernel.org/netdev/20210602144439.4d20b295@dellmb/T/

Thanks for pointing out the latest patches. Good to know that you are 
still working on this.

> 
> This version does not add the code for ethernet PHYs, instead it just
> tries to touch only the LED subsystem by adding the API for offloading
> LED triggers and an example implementation for Turris Omnia LED
> controller.
> 
> I will probably send another version this weekend. Sorry this takes
> this long.

No worries, and thanks for the work!

> 
> 
>> I understand, that the generic approach is the one we want to have, but
>> does this really mean adding PHY led configuration via DT to existing
>> drivers (that already use DT properties for LED modes) is not accepted
>> anymore, even if the new API is not yet in place?
> 
> I don't know about Rob, but I would be against it.
> 
> But if you need to have your PHY LED configured with via devicetree
> ASAP, instead of proposing the vendor specific property, you can
> propose LED subnodes and properties that will be generic and compatible
> with the LED subsystem API, i.e. something like:
> 
>    ethernet-phy@1 {
>      .... eth phy properties;
> 
>      leds {
>        led@0 {
>          reg = <0>;
>          color = <LED_COLOR_ID_GREEN>;
>          /* this LED should indicate link/speed */
>          function = LED_FUNCTION_LINK;
>        };
>      };
>    }
> 
> Then make your PHY driver parse this, and make it so that if
> function is LED_FUNCTION_LINK or LED_FUNCTION_ACTIVITY, the driver will
> disable combined mode.
> 
> Afterwards, when LED subsystem has support for trigger offloading, you
> can update mscc driver so that instead of just disabling combined mode,
> it will register the LEDs via LED subsystem...

Good idea, but I'm not really in a hurry. Now knowing that work on the 
trigger offloading is still active, I guess I will just wait a bit until 
the dust has settled and maybe the bindings have been defined. Then I 
can try to implement this in the PHY driver.

Thanks
Frieder

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-10-01 11:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20210930125747.2511954-1-frieder@fris.de>
     [not found] ` <YVZQuIr2poOfWvcO@lunn.ch>
     [not found]   ` <18de5e10-f41f-0790-89c8-3a70d48539be@kontron.de>
2021-10-01 10:09     ` [PATCH 1/3] net: phy: mscc: Add possibilty to disable combined LED mode Marek Behún
2021-10-01 10:52       ` Frieder Schrempf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).