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

Marek Vasut
2022-12-01T23:45:14Z

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
"