Re: [PATCH] dt-bindings: leds: Mark label property as deprecated

From: Marek Vasut
Date: Thu Dec 01 2022 - 18:45:14 EST


On 11/30/22 20:26, Pavel Machek wrote:
On Wed 2022-11-30 13:19:05, Rob Herring wrote:
On Fri, Nov 25, 2022 at 10:26:30PM +0100, Marek Vasut wrote:
On 11/22/22 13:23, Pavel Machek wrote:
Hi!

Hi,

Mark the label property as deprecated as it is mentioned
in the description.

Lets do it the other way around. Functions (etc) don't really provide
good enough description of LED, and label is still needed.

Can you please provide a clear explanation which property or approach is the
correct one for new DTs ?

So far, the documentation states that "label" is deprecated, and users
should replace it with "function" and "color".

'function' is what activity/operation the LED is associated with. It is
a fixed set of strings which s/w may use. It is a replacement for
'linux,default-trigger'.

'label' is what is printed next to the LED for a human to read. 'label'
can be anything and the OS shouldn't care what it is.

Unfortunately, no.

We use label as a path in /sys/class/leds. And it looks like integer
"function" is not really adequate for describing what LED does. There
are too many LEDs and not enough integers, and it is common to have
same function ("activity") on multiple devices ("wifi", "mmc", "eth").

The Documentation/devicetree/bindings/leds/common.yaml schema indicates that function is a string, not an integer:

"
32 function:
33 description:
34 LED function. Use one of the LED_FUNCTION_* prefixed definitions
35 from the header include/dt-bindings/leds/common.h. If there is no
36 matching LED_FUNCTION available, add a new one.
37 $ref: /schemas/types.yaml#/definitions/string
"