On Fri, 20 Jan 2023, Hans de Goede wrote: > Add a generic [devm_]led_get() method which can be used on both devicetree > and non devicetree platforms to get a LED classdev associated with > a specific function on a specific device, e.g. the privacy LED associated > with a specific camera sensor. > > Note unlike of_led_get() this takes a string describing the function > rather then an index. This is done because e.g. camera sensors might > have a privacy LED, or a flash LED, or both and using an index > approach leaves it unclear what the function of index 0 is if there is > only 1 LED. > > This uses a lookup-table mechanism for non devicetree platforms. > This allows the platform code to map specific LED class_dev-s to a specific > device,function combinations this way. > > For devicetree platforms getting the LED by function-name could be made > to work using the standard devicetree pattern of adding a -names string > array to map names to the indexes. > > Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > --- > Changes in v5: > - Rename lookup-table names to match those from the gpio and reset lookups: > s/led_name/provider/ > s/consumer_dev_name/dev_id/ > s/consumer_function/con_id/ > > Changes in v4: > - Split out support for led_get() devicetree name-based lookup support > into a separate RFC patch as there currently are no users for this > - Use kstrdup_const() / kfree_const() for the led_name > --- > drivers/leds/led-class.c | 84 ++++++++++++++++++++++++++++++++++++++++ > include/linux/leds.h | 21 ++++++++++ > 2 files changed, 105 insertions(+) Applied, thanks -- Lee Jones [李琼斯]