linux-stable/drivers/leds
Sakari Ailus 503dd28af1 media: v4l2-flash-led-class: Create separate sub-devices for indicators
The V4L2 flash interface allows controlling multiple LEDs through a single
sub-devices if, and only if, these LEDs are of different types. This
approach scales badly for flash controllers that drive multiple flash LEDs
or for LED specific associations. Essentially, the original assumption of a
LED driver chip that drives a single flash LED and an indicator LED is no
longer valid.

Address the matter by registering one sub-device per LED.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com> (for greybus/light)
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-08-26 20:26:35 -04:00
..
trigger LED updates for 4.13 2017-07-06 11:32:40 -07:00
Kconfig leds: Remove SEAD-3 driver 2017-06-19 20:56:47 +02:00
Makefile leds: Remove SEAD-3 driver 2017-06-19 20:56:47 +02:00
led-class-flash.c leds: flash: Remove checking for state < 1 in flash_strobe_store() 2016-01-04 09:57:37 +01:00
led-class.c leds: core: add OF variants of LED registering functions 2017-03-08 21:10:01 +01:00
led-core.c led: core: Fix blink_brightness setting race 2016-11-22 12:07:05 +01:00
led-triggers.c leds: triggers: Check return value of kobject_uevent_env() 2016-09-20 10:22:10 +02:00
leds-88pm860x.c leds: 88pm860x: Use devm_led_classdev_register 2016-03-14 09:22:22 +01:00
leds-aat1290.c media: v4l2-flash-led-class: Create separate sub-devices for indicators 2017-08-26 20:26:35 -04:00
leds-adp5520.c leds: adp5520: Remove work queue 2016-01-04 09:57:32 +01:00
leds-asic3.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-bcm6328.c leds: bcm6328: fix signal source assignment for leds 4 to 7 2017-06-13 20:36:56 +02:00
leds-bcm6358.c leds: bcm6358: remove unneeded busy status check 2016-01-04 09:57:40 +01:00
leds-bd2802.c leds: bd2802: Remove work queue 2016-01-04 09:57:32 +01:00
leds-blinkm.c leds: blinkm: Remove work queue 2016-01-04 09:57:32 +01:00
leds-clevo-mail.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-cobalt-qube.c leds: leds-cobalt-qube: Use devm_led_classdev_register 2015-11-03 08:59:09 +01:00
leds-cobalt-raq.c leds: leds-cobalt-raq: use builtin_platform_driver 2016-11-23 16:38:01 +01:00
leds-cpcap.c leds: cpcap: new driver 2017-03-29 21:02:27 +02:00
leds-da903x.c leds: da903x: Use devm_led_classdev_register 2016-03-14 09:22:22 +01:00
leds-da9052.c leds: da9052: Remove work queue 2016-01-04 09:57:34 +01:00
leds-dac124s085.c leds: dac124d085: Remove work queue 2016-01-04 09:57:34 +01:00
leds-fsg.c leds: leds-fsg: Use devm_led_classdev_register 2015-08-28 14:06:23 +02:00
leds-gpio-register.c
leds-gpio.c leds: gpio: use OF variant of LED registering function 2017-03-08 21:10:02 +01:00
leds-hp6xx.c leds: convert IDE trigger to common disk trigger 2016-06-20 09:57:56 +02:00
leds-ipaq-micro.c leds: ipaq-micro: Implement brightness_set_blocking op 2016-01-04 09:57:38 +01:00
leds-is31fl32xx.c leds: is31fl32xx: define complete i2c_device_id table 2016-07-19 13:58:42 +02:00
leds-is31fl319x.c leds: is31fl319x: 1/3/6/9-channel light effect led driver 2016-08-15 14:02:31 +02:00
leds-ktd2692.c leds: ktd2692: avoid harmless maybe-uninitialized warning 2017-01-26 21:16:38 +01:00
leds-lm355x.c leds: lm355x: Remove work queue 2016-01-04 09:57:36 +01:00
leds-lm3530.c leds: Drop owner assignment from i2c_driver 2015-08-28 14:06:02 +02:00
leds-lm3533.c leds: lm3533: Use devm_led_classdev_register 2016-03-14 09:22:21 +01:00
leds-lm3642.c leds: lm3642: Remove work queue 2016-01-04 09:57:32 +01:00
leds-locomo.c leds: leds-locomo.c: Use devm_led_classdev_register 2015-11-03 08:59:50 +01:00
leds-lp55xx-common.c leds: lp55xx: Remove work queue 2016-01-04 09:57:33 +01:00
leds-lp55xx-common.h leds: lp55xx: Remove work queue 2016-01-04 09:57:33 +01:00
leds-lp3944.c leds: lp3944: improve wording and formatting in a comment 2016-03-14 09:22:20 +01:00
leds-lp3952.c leds: lp3952: Use 'if (ret)' pattern 2017-03-23 20:33:59 +01:00
leds-lp5521.c scripts/spelling.txt: add "memory" pattern and fix typos 2017-05-08 17:15:13 -07:00
leds-lp5523.c leds: lp55xx: make various arrays static const 2017-06-30 23:15:44 +02:00
leds-lp5562.c scripts/spelling.txt: add "memory" pattern and fix typos 2017-05-08 17:15:13 -07:00
leds-lp8501.c leds: lp55xx: Remove work queue 2016-01-04 09:57:33 +01:00
leds-lp8788.c leds: lp8788: Use devm_led_classdev_register 2016-03-14 09:22:22 +01:00
leds-lp8860.c leds: lp8860: Remove work queue 2016-01-04 09:57:33 +01:00
leds-lt3593.c leds: lt3593: Remove work queue 2016-01-04 09:57:34 +01:00
leds-max8997.c leds: max8997: Use devm_led_classdev_register 2016-03-14 09:22:23 +01:00
leds-max77693.c media: v4l2-flash-led-class: Create separate sub-devices for indicators 2017-08-26 20:26:35 -04:00
leds-mc13783.c leds: mc13783: Fix MC13892 keypad led access 2016-11-22 12:07:03 +01:00
leds-menf21bmc.c leds: leds-menf21bmc.c: Use devm_led_class_register 2015-11-03 08:59:52 +01:00
leds-mlxcpld.c leds: verify vendor and change license in mlxcpld driver 2016-11-22 12:07:04 +01:00
leds-mt6323.c leds: mt6323: Fix an off by one bug in probe 2017-03-23 20:23:57 +01:00
leds-net48xx.c leds: leds-net48xx: Use devm_led_classdev_register 2015-11-03 08:59:54 +01:00
leds-netxbig.c leds: netxbig: fix module autoload for OF registration 2016-11-30 11:10:27 +01:00
leds-nic78bx.c leds: Add user LED driver for NIC78bx device 2016-11-22 12:07:04 +01:00
leds-ns2.c leds: ns2: Remove work queue 2016-01-04 09:57:37 +01:00
leds-ot200.c leds: leds-ot200: Use devm_led_classdev_register 2015-11-03 08:59:13 +01:00
leds-pca955x.c leds: pca955x: Correct I2C Functionality 2017-05-22 21:12:44 +02:00
leds-pca963x.c leds: pca963x: Add bindings to invert polarity 2017-05-14 13:01:29 +02:00
leds-pca9532.c leds: pca9532: Extend pca9532 device tree support 2017-04-19 20:27:50 +02:00
leds-pm8058.c leds: add PM8058 LEDs driver 2016-08-16 22:37:26 +02:00
leds-powernv.c powerpc/opal: Add inline function to get rc from an ASYNC_COMP opal_msg 2016-06-29 17:33:18 +10:00
leds-pwm.c leds: pwm: Remove atomic code paths 2017-01-04 09:37:56 +01:00
leds-rb532.c leds: drop owner assignment from platform_drivers 2014-10-20 16:20:43 +02:00
leds-regulator.c leds: regulator: Remove work queue 2016-01-04 09:57:35 +01:00
leds-s3c24xx.c leds: s3c24xx: Use devm_led_classdev_register 2016-03-14 09:22:22 +01:00
leds-ss4200.c leds: ss4200: add DMI data for FSC SCALEO Home Server 2016-04-19 09:03:20 +02:00
leds-sunfire.c leds: sunfire: Use platform_register/unregister_drivers() 2016-01-04 09:57:38 +01:00
leds-syscon.c leds: syscon: Make the driver explicitly non-modular 2016-01-04 09:57:39 +01:00
leds-tca6507.c leds: tca6507: silence an uninitialized variable warning 2016-04-14 13:08:58 +02:00
leds-tlc591xx.c leds: tlc591xx: Remove work queue 2016-01-04 09:57:32 +01:00
leds-wm831x-status.c leds: wm831x-status: Use devm_led_classdev_register 2016-03-14 09:22:22 +01:00
leds-wm8350.c leds: wm8350: Remove work queue 2016-01-04 09:57:35 +01:00
leds-wrap.c leds: leds-wrap.c: Use devm_led_classdev_register 2015-11-03 08:59:58 +01:00
leds.h leds: triggers: Allow to switch the trigger to "panic" on a kernel panic 2016-05-06 10:22:09 +02:00
uleds.c leds: Introduce userspace LED class driver 2016-11-22 12:07:02 +01:00