Re: [PATCH v3] ARM: dts: renesas: r9a06g032-rzn1d400-db: describe Debug LEDs

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

 



On Wed, 14 May 2025, Jacek Anaszewski wrote:

> On 5/14/25 17:28, Lee Jones wrote:
> > On Mon, 12 May 2025, Jacek Anaszewski wrote:
> > 
> > > Hi Geert,
> > > 
> > > On 5/12/25 09:13, Geert Uytterhoeven wrote:
> > > > Hi Jacek,
> > > > 
> > > > Thanks for your answer!
> > > 
> > > You're welcome.
> > > 
> > > > On Sat, 10 May 2025 at 14:43, Jacek Anaszewski
> > > > <jacek.anaszewski@xxxxxxxxx> wrote:
> > > > > On 5/8/25 15:49, Lee Jones wrote:
> > > > > > On Thu, 08 May 2025, Wolfram Sang wrote:
> > > > > > > On Thu, Apr 17, 2025 at 01:39:14PM +0200, Geert Uytterhoeven wrote:
> > > > > > > > On Thu, 17 Apr 2025 at 11:33, Wolfram Sang
> > > > > > > > <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> wrote:
> > > > > > > > > Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
> > > > > > > > > ---
> > > > > > > > > 
> > > > > > > > > Changes since v2:
> > > > > > > > > * using function, color, function-enumerator properties now
> > > > > > > > > 
> > > > > > > > > Honestly, this is better than using node names? With V2, the LEDs were
> > > > > > > > > named as in the schematics, now they are called:
> > > > > > > > > 
> > > > > > > > > lrwxrwxrwx    1 root     root             0 May 12 12:10 green:programming-0 -> ../../devices/platform/leds/leds/green:programming-0
> > > > > > > > > lrwxrwxrwx    1 root     root             0 May 12 12:10 green:programming-1 -> ../../devices/platform/leds/leds/green:programming-1
> > > > > > > > > lrwxrwxrwx    1 root     root             0 May 12 12:10 green:programming-2 -> ../../devices/platform/leds/leds/green:programming-2
> > > > > > > > > ...
> > > > > > > > > 
> > > > > > > > > Which gets even more confusing if we might later add LEDs not on this
> > > > > > > > > board, but on the expansion board. 'green:programming-8' sits where?
> > > > > > > > > 
> > > > > > > > > I really wonder, but if this is the official way now...
> > > > > > > > 
> > > > > > > > Good point!  So I'm inclined to take v2...
> > > > > > > > 
> > > > > > > > Let's raise this with the LED people. I don't want to fight Pavel when
> > > > > > > > v2 hits the CiP tree ;-)
> > > > > > > 
> > > > > > > So, if there is no other opinion here, can we remove function, color,
> > > > > > > function-enumerator and just use the node names which match the
> > > > > > > schematics? Basically apply V2?
> > > > > > 
> > > > > > I didn't author the semantics nor the rules surrounding them, but I am
> > > > > > obliged to enforce them.  Therefore "LED people" say, please stick to
> > > > > > convention as stated in the present documentation:
> > > > > > 
> > > > > > https://docs.kernel.org/leds/leds-class.html#led-device-naming
> > > > > > 
> > > > > > Please note that a "debug" (LED_FUNCTION_DEBUG) option already exists if
> > > > > > that is more appropriate to your use-case.
> > > > > > 
> > > > > > Let's also bring Jacek into the conversion, since I know that he did a
> > > > > > bunch of work around this topic.
> > > > > 
> > > > > The question is if the LED name from the schematics tells anything to
> > > > > the user of the equipment?
> > > > 
> > > > As this is a development board and not a finished product, I would
> > > > answer yes.
> > > 
> > > OK.
> > > 
> > > > > The idea behind LED naming is to facilitate matching the LED class
> > > > > device name as reported by the system with the LED location on the
> > > > > equipment.
> > > > > 
> > > > > The LED naming standardization intended to enforce consistent
> > > > > LED naming, and not allowing to add multiple interchangeable
> > > > > names like wifi/wlan. It also helps to keep LED name sections order in
> > > > > accordance with Linux documentation, which before had been often
> > > > > abused by allowing to assign anything to the now deprecated 'label'
> > > > > DT property.
> > > > 
> > > > I agree this all makes perfect sense for a final product, where the
> > > > purpose of each LED is clear, and sometimes indicated by an icon
> > > > on the case.
> > > > For a development board, some LEDs may have a fixed purpose.
> > > > But typically there is also a collection of generic user LEDs, which
> > > > do not have a fixed purpose, and are identified by a label on the
> > > > schematics.  Imposing an arbitrary numbering scheme on the latter is
> > > > confusing for the user (developer).
> > > 
> > > Using DT child node name for LED class device name is only
> > > a last resort fallback. However if it is devboard and we want to have
> > > a reference to the schematics then I'd say it makes sense to take
> > > LED names from DT nodes. What about the colors? Are the LEDs replaceable
> > > or soldered?
> > 
> > Looks like this option does what you want:
> > 
> > https://github.com/torvalds/linux/blob/master/drivers/leds/led-core.c#L578
> > 
> > For this to execute you need to provide init_data when calling
> > *led_classdev_register*(), omit the; label, function, color_present DT
> > properties and also init_data's default_label attribute.  At which point
> > the DT node name should be taken as the LED class name.
> 
> Yep, I know how it works, I wrote that code after all.

Sorry for the ambiguity.  I was attempting to address Wolfram.

> Here, I wanted to clarify whether it wouldn't make sense to stick to
> the approach with 'function' and 'color' properties if LEDs are fixed
> on the board and the colors are known.
> 
> From [0] I infer that LEDs are green, so we should use 'color' DT
> property definitely. And as a 'function' we can assign plain text "pcaN"
> if you feel it makes sense for that board.

The 'function' documentation specifically says to use one of the
predefined LED_FUNCTION_* entries.  If we are officially accepting
caveats to that, we should probably update it.

> This way you'll get LED name "pcaN:green", that will be according to
> the naming standard.
> 
> So the node would look like this, for the pca1 LED:
> 
> led-1 { function = "pca1"; color = <LED_COLOR_GREEN>; default-state =
> "keep"; };
> 
> [0]
> https://patchwork.kernel.org/project/linux-renesas-soc/patch/20250328153134.2881-11-wsa+renesas@xxxxxxxxxxxxxxxxxxxx/#26336000

-- 
Lee Jones [李琼斯]




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux