leds: Add LED Flash class extension to the LED subsystem
authorJacek Anaszewski <j.anaszewski@samsung.com>
Fri, 9 Jan 2015 15:22:51 +0000 (07:22 -0800)
committerBryan Wu <cooloney@gmail.com>
Mon, 26 Jan 2015 22:59:08 +0000 (14:59 -0800)
commit7aea8389a77abf9fde254aca2434a605c7704f58
tree580f35fdeca75a9533329d85822ab32f89fce64a
parent452bc149947bb31775f0dc6a637fcf792af88e60
leds: Add LED Flash class extension to the LED subsystem

Some LED devices support two operation modes - torch and flash.
This patch provides support for flash LED devices in the LED subsystem
by introducing new sysfs attributes and kernel internal interface.
The attributes being introduced are: flash_brightness, flash_strobe,
flash_timeout, max_flash_timeout, max_flash_brightness, flash_fault,
flash_sync_strobe and available_sync_leds. All the flash related
features are placed in a separate module.

The modifications aim to be compatible with V4L2 framework requirements
related to the flash devices management. The design assumes that V4L2
sub-device can take of the LED class device control and communicate
with it through the kernel internal interface. When V4L2 Flash sub-device
file is opened, the LED class device sysfs interface is made
unavailable.

Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Bryan Wu <cooloney@gmail.com>
drivers/leds/Kconfig
drivers/leds/Makefile
drivers/leds/led-class-flash.c [new file with mode: 0644]
drivers/leds/led-class.c
include/linux/led-class-flash.h [new file with mode: 0644]
include/linux/leds.h