Subject: Re: [PATCH net-next 5/5] igc: Export LEDs

From: Andrew Lunn <[email-masked]>
Date: Wed, 21 Jul 2021 22:54:36 +0200

> > > Basically the LED name is of the format
> > >   devicename:color:function  

> Unfortunately there isn't consensus about what the devicename should
> mean. There are two "schools of thought":
> 
> 1. device name of the trigger source for the LED, i.e. if the LED
>    blinks on activity on mmc0, the devicename should be mmc0. We have
>    talked about this in the discussions about ethernet PHYs.
>    In the case of the igc driver if the LEDs are controlled by the MAC,
>    I guess some PCI identifier would be OK.

I guess this is most likely for Ethernet LEDs, some sort of bus
identifier. But Ethernet makes use of all sorts of busses, so you will
also see USB, memory mapped for SOCs, MDIO, SPI, etc.

> 2. device name of the LED controller. For example LEDs controlled by
>    the maxim,max77650-led controller (leds-max77650.c) define device
>    name as "max77650"

And what happens when the controller is just a tiny bit of silicon in
the corner of something else, not a standalone device? Would this be
'igc', for LEDs controlled by the IGC Ethernet controller? 'mv88e6xxx'
for Marvell Ethernet switches? 

Also, function is totally unclear. The whole reason we want to use
Linux LEDs is triggers, and it is the selected trigger which
determines the function.

Colour is also an issue. The IGC Ethernet controller has no idea what
colour the LEDs are in the RG-45 socket. And this is generic to
Ethernet MAC and PHY chips. The data sheets never mention colour.  You
might know the colour in DT (and maybe ACPI) systems where you have
specific information about the board. But in for PCIe card, USB
dongles, etc, colour is unknown.

So very little of the naming scheme actually makes sense in this
context.

	 Andrew