devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jacek Anaszewski <jacek.anaszewski@gmail.com>
To: Lee Jones <lee@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	linux-renesas-soc@vger.kernel.org,
	Magnus Damm <magnus.damm@gmail.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	devicetree@vger.kernel.org, Pavel Machek <pavel@kernel.org>,
	linux-leds <linux-leds@vger.kernel.org>
Subject: Re: [PATCH v3] ARM: dts: renesas: r9a06g032-rzn1d400-db: describe Debug LEDs
Date: Thu, 15 May 2025 22:14:20 +0200	[thread overview]
Message-ID: <77f6870b-55a3-4397-bc4a-77c335a8dc65@gmail.com> (raw)
In-Reply-To: <20250515065305.GB2936510@google.com>

On 5/15/25 08:53, Lee Jones wrote:
> 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@gmail.com> 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@sang-engineering.com> wrote:
>>>>>>>>>> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
>>>>>>>>>> ---
>>>>>>>>>>
>>>>>>>>>> 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.

No problem.

>> 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.

We could add a note saying that if required function name is unlikely
to be reused in other devices, then it is acceptable to use custom
string.

-- 
Best regards,
Jacek Anaszewski


  reply	other threads:[~2025-05-15 20:14 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-17  9:28 [PATCH v3] ARM: dts: renesas: r9a06g032-rzn1d400-db: describe Debug LEDs Wolfram Sang
2025-04-17 11:39 ` Geert Uytterhoeven
2025-05-08  7:56   ` Wolfram Sang
2025-05-08 13:49     ` Lee Jones
2025-05-10 12:43       ` Jacek Anaszewski
2025-05-12  7:13         ` Geert Uytterhoeven
2025-05-12 17:54           ` Jacek Anaszewski
2025-05-14 15:28             ` Lee Jones
2025-05-14 18:57               ` Jacek Anaszewski
2025-05-15  6:53                 ` Lee Jones
2025-05-15 20:14                   ` Jacek Anaszewski [this message]
2025-05-15  8:27                 ` Wolfram Sang
2025-05-15  9:15                   ` Lee Jones
2025-05-15 19:53                   ` Jacek Anaszewski
2025-05-16  7:35         ` Alexander Dahl
2025-05-18 14:36           ` Jacek Anaszewski
2025-05-19  7:37             ` Alexander Dahl
2025-05-19 21:14               ` Jacek Anaszewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=77f6870b-55a3-4397-bc4a-77c335a8dc65@gmail.com \
    --to=jacek.anaszewski@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=krzk+dt@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=pavel@kernel.org \
    --cc=robh@kernel.org \
    --cc=wsa+renesas@sang-engineering.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).