[PATCH leds v2 00/50] Start moving parsing of `linux,default-trigger` to LED core (a cleanup of LED drivers)

From: Marek Behún
Date: Thu Sep 17 2020 - 18:34:09 EST


Hi,

this series is also available at [1].

This is v2, you can read cover letter of v1 at [2] (togehter with
explanation of why I did this).

Changes since v1:
- split big changes into several patches of little changes
- added many cosmetic fixes (helper variables, reversal christmas tree
variables declaration, ...)
- fixed some bugs in various drivers (memory leaks, iteration over
unavailable OF nodes)
- made some drivers compilable when COMPILE_TEST=y (since allyesconfig
did not compile them). Not all though, some still don't compile with
allyesconfig
- the commit that moves parsing of `linux,default-trigger` property from
drivers to LED core is now last in the series, instead of first

Marek

[1] https://git.kernel.org/pub/scm/linux/kernel/git/kabel/linux.git/log/?h=leds-cleanup-for-pavel
[2] https://lore.kernel.org/linux-leds/20200916231650.11484-1-marek.behun@xxxxxx/T/#m826493318174b0f38a3d4ba107092b5420ce440c

Cc: Álvaro Fernández Rojas <noltari@xxxxxxxxx>
Cc: Andrew Lunn <andrew@xxxxxxx>
Cc: Andrey Utkin <andrey_utkin@xxxxxxxxxxxx>
Cc: Baolin Wang <baolin.wang7@xxxxxxxxx>
Cc: Baolin Wang <baolin.wang@xxxxxxxxxx>
Cc: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
Cc: Christian Mauderer <oss@xxxxxxxxxxxxx>
Cc: Chunyan Zhang <zhang.lyra@xxxxxxxxx>
Cc: Daniel Mack <daniel@xxxxxxxx>
Cc: Dan Murphy <dmurphy@xxxxxx>
Cc: David Rivshin <drivshin@xxxxxxxxxxx>
Cc: Grant Feng <von81@xxxxxxx>
Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxxxx>
Cc: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>
Cc: Jaedon Shin <jaedon.shin@xxxxxxxxx>
Cc: John Crispin <john@xxxxxxxxxxx>
Cc: Kevin Cernekee <cernekee@xxxxxxxxx>
Cc: Lee Jones <lee.jones@xxxxxxxxxx>
Cc: Liam Girdwood <lgirdwood@xxxxxxxxx>
Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
Cc: Mark Brown <broonie@xxxxxxxxxx>
Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Milo Kim <milo.kim@xxxxxx>
Cc: NeilBrown <neilb@xxxxxxx>
Cc: Nikita Travkin <nikitos.tr@xxxxxxxxx>
Cc: Orson Zhai <orsonzhai@xxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Cc: Pavel Machek <pavel@xxxxxx>
Cc: Philippe Retornaz <philippe.retornaz@xxxxxxx>
Cc: Riku Voipio <riku.voipio@xxxxxx>
Cc: Rod Whitby <rod@xxxxxxxxxxxx>
Cc: Ryder Lee <ryder.lee@xxxxxxxxxxxx>
Cc: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
Cc: Sean Wang <sean.wang@xxxxxxxxxxxx>
Cc: Sebastian Reichel <sre@xxxxxxxxxx>
Cc: Simon Guinot <sguinot@xxxxxxxxx>
Cc: Simon Guinot <simon.guinot@xxxxxxxxxxxx>
Cc: Simon Shields <simon@xxxxxxxxxxxxx>
Cc: Thierry Reding <thierry.reding@xxxxxxxxx>
Cc: Thomas Bogendoerfer <tbogendoerfer@xxxxxxx>
Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
Cc: "Uwe Kleine-König" <u.kleine-koenig@xxxxxxxxxxxxxx>
Cc: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx>
Cc: Vincent Donnefort <vdonnefort@xxxxxxxxx>
Cc: Xiaotong Lu <xiaotong.lu@xxxxxxxxxxxxxx>

Marek Behún (50):
leds: various: compile if COMPILE_TEST=y
leds: ip30: compile if COMPILE_TEST=y
leds: fsg: compile if COMPILE_TEST=y
leds: various: use device_get_match_data
leds: various: guard of_match_table member value with of_match_ptr
leds: various: use dev_of_node(dev) instead of dev->of_node
leds: lt3593: do not rewrite .of_node of new LED device to wrong value
leds: various: use only available OF children
leds: various: fix OF node leaks
leds: bcm6328, bcm6358: use devres LED registering function
leds: bcm6328, bcm6358: use struct led_init_data when registering
leds: bcm6328: cosmetic: use reverse christmas tree
leds: bcm6358: cosmetic: use reverse christmas tree
leds: lm3697: use struct led_init_data when registering
leds: lm3697: cosmetic change: use helper variable, reverse christmas
tree
leds: max77650: use struct led_init_data when registering
leds: max77650: use reverse christmas tree
leds: mt6323: use struct led_init_data when registering
leds: mt6323: cosmetic change: use helper variable
leds: pm8058: use struct led_init_data when registering
leds: pm8058: cosmetic change: use helper variable
leds: pm8058: cosmetic change: no need to return in if guard
leds: pm8058: cosmetic: use reverse christmas tree
leds: is31fl32xx: use struct led_init_data when registering
leds: is31fl319x: compute aggregated max current separately
leds: is31fl319x: don't store shutdown gpio descriptor
leds: is31fl319x: don't store audio gain value, simply set it
leds: is31fl319x: refactor to register LEDs while parsing DT
leds: is31fl319x: cosmetic: use reverse christmas tree
leds: is31fl319x: use struct led_init_data when registering
leds: lm36274: use devres LED registering function
leds: lm36274: cosmetic: rename lm36274_data to chip
leds: lm36274: don't iterate through children since there is only one
leds: lm36274: use struct led_init_data when registering
leds: lm36274: do not set chip settings in DT parsing function
leds: ns2: use devres LED registering function
leds: ns2: alloc simple array instead of struct ns2_led_priv
leds: ns2: support OF probing only, forget platdata
leds: ns2: move parsing of one LED into separate function
leds: ns2: use devres API for getting GPIO descriptors
leds: ns2: cosmetic structure rename
leds: ns2: cosmetic variable rename
leds: ns2: cosmetic change
leds: ns2: cosmetic change: use helper variable
leds: ns2: register LED immediately after parsing DT properties
leds: ns2: remove unneeded variable
leds: ns2: cosmetic: use reverse christmas tree
leds: ns2: reorder headers alphabetically
leds: ns2: use struct led_init_data when registering
leds: parse linux,default-trigger DT property in LED core

drivers/leds/Kconfig | 14 +-
drivers/leds/led-class.c | 5 +
drivers/leds/leds-88pm860x.c | 6 +-
drivers/leds/leds-aat1290.c | 4 +-
drivers/leds/leds-an30259a.c | 7 +-
drivers/leds/leds-as3645a.c | 2 +-
drivers/leds/leds-aw2013.c | 11 +-
drivers/leds/leds-bcm6328.c | 28 ++-
drivers/leds/leds-bcm6358.c | 20 +-
drivers/leds/leds-cpcap.c | 9 +-
drivers/leds/leds-cr0014114.c | 5 +-
drivers/leds/leds-el15203000.c | 5 +-
drivers/leds/leds-fsg.c | 6 +
drivers/leds/leds-gpio.c | 5 +-
drivers/leds/leds-ip30.c | 1 +
drivers/leds/leds-is31fl319x.c | 260 +++++++++++-----------
drivers/leds/leds-is31fl32xx.c | 35 ++-
drivers/leds/leds-ktd2692.c | 6 +-
drivers/leds/leds-lm3532.c | 5 +-
drivers/leds/leds-lm3601x.c | 2 +-
drivers/leds/leds-lm36274.c | 122 +++++------
drivers/leds/leds-lm3692x.c | 5 +-
drivers/leds/leds-lm3697.c | 96 ++++----
drivers/leds/leds-lp50xx.c | 2 +-
drivers/leds/leds-lp5521.c | 2 +-
drivers/leds/leds-lp5523.c | 2 +-
drivers/leds/leds-lp5562.c | 2 +-
drivers/leds/leds-lp55xx-common.c | 14 +-
drivers/leds/leds-lp8501.c | 2 +-
drivers/leds/leds-lp8860.c | 8 +-
drivers/leds/leds-lt3593.c | 6 +-
drivers/leds/leds-max77650.c | 28 +--
drivers/leds/leds-max77693.c | 4 +-
drivers/leds/leds-mc13783.c | 8 +-
drivers/leds/leds-mt6323.c | 22 +-
drivers/leds/leds-netxbig.c | 8 +-
drivers/leds/leds-ns2.c | 349 ++++++++++--------------------
drivers/leds/leds-pca9532.c | 4 +-
drivers/leds/leds-pca955x.c | 2 +-
drivers/leds/leds-pca963x.c | 2 +-
drivers/leds/leds-pm8058.c | 43 ++--
drivers/leds/leds-powernv.c | 4 +-
drivers/leds/leds-pwm.c | 2 +-
drivers/leds/leds-sc27xx-bltc.c | 8 +-
drivers/leds/leds-sgm3140.c | 2 +-
drivers/leds/leds-spi-byte.c | 13 +-
drivers/leds/leds-syscon.c | 6 +-
drivers/leds/leds-tca6507.c | 8 +-
drivers/leds/leds-tlc591xx.c | 16 +-
drivers/leds/leds-turris-omnia.c | 10 +-
50 files changed, 511 insertions(+), 725 deletions(-)

--
2.26.2