Hi Matti, Thank you for the patch. If your driver does not depend on it then please send is separately. Besides, we would require to convert many of current LED drivers to verify how the proposed parsing mechanism will work with them. I've been testing my LED name composition series using QEMU and stubbing things in drivers where necessary and I propose to use the same approach in this case. Best regards, Jacek Anaszewski On 11/18/19 8:03 AM, Matti Vaittinen wrote: > Qucik grep for 'for_each' or 'linux,default-trigger' or > 'default-state' under drivers/leds can tell quite a lot. It seems > multiple LED controller drivers implement the very similar looping > through the child nodes in order to locate the LED nodes and read > and support the common LED dt bindings. Implementing this same > stuff for all LED controllers gets old pretty fast. > > This commit adds support for locating the LED node (based on known > node names - or linux,led-compatible property) and handling of > few common LED properties. > > linux,default-trigger, > default-state (with the exception of keep), > > (in addition to already handled > function-enumerator, > function, > color > and label). > > Regarding the node look-up: If no init_data is given, then no > node-lookup is done and cdev name is used as such. > > If init_data is goven but no starting point for node lookup - then > (parent) device's own DT node is used. If no led-compatible is given, > then of_match is searched for. If neither led-compatible not of_match > is given then device's own node or passed starting point are used as > such. > > Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxxxxxxxxxxxx> > --- > > Changes from v4: > Fixed issues reported by Dan Carpenter and kbuild-bot. > (leftover kfree and uninitialized return value) > > drivers/leds/led-class.c | 88 ++++++++++++-- > drivers/leds/led-core.c | 246 +++++++++++++++++++++++++++++++-------- > include/linux/leds.h | 90 ++++++++++++-- > 3 files changed, 359 insertions(+), 65 deletions(-) > -- Best regards, Jacek Anaszewski