[PATCH/RFC v2 0/8] LED / flash API integration

From: Jacek Anaszewski
Date: Fri Mar 28 2014 - 11:29:39 EST


This is is a second version of the patch series being a follow up
of the discussion on Media summit 2013-10-23, related to the
LED / flash API integration (the notes from the discussion were
enclosed in the message [1], paragraph 5).
The series is based on linux-next next-20140328 and contains
significant number of modifications in comparison to its first
version (Lee, Richard and Sakari - thanks for the review).

In order to show the exemplary usage of the proposed mechanism
the patch series includes implementation of a Flash LED device
driver along with the suitable modifications in a media controller
driver.

Description of the proposed modifications according to
the kernel components they are relevant to:
- LED subsystem modifications
* added led_flash module which, when enabled in the config,
registers flash specific sysfs attributes:
- flash_brightness
- max_flash_brightness
- flash_timeout
- max_flash_timeout
- flash_strobe
- flash_fault
- hw_triggered
and exposes kernel internal API
- led_set_flash_strobe
- led_get_flash_strobe
- led_set_flash_brightness
- led_update_flash_brightness
- led_set_flash_timeout
- led_get_flash_fault
- led_set_hw_triggered
- led_sysfs_lock
- led_sysfs_unlock
- Addition of a V4L2 Flash sub-device registration helpers
* added v4l2-flash.c and v4l2-flash.h files with helper
functions that facilitate registration/unregistration
of a subdevice, which wrapps a LED subsystem device and
exposes V4L2 Flash control interface
- exynos4-is media controller modifications
- Addition of a driver for the flash cell of the MAX77693 mfd
* the driver exploits the newly introduced mechanism
- Update of the samsung-fimc.txt DT bindings documentation
- Update of the max77693.txt DT bindings documentation
- Update of the LED subsystem documentation

Thanks,
Jacek Anaszewski

[1] http://www.spinics.net/lists/linux-media/msg69253.html

Jacek Anaszewski (8):
leds: Add sysfs and kernel internal API for flash LEDs
leds: Improve and export led_update_brightness function
Documentation: leds: Add description of flash mode
leds: Add support for max77693 mfd flash cell
DT: Add documentation for the mfd Maxim max77693 flash cell
media: Add registration helpers for V4L2 flash sub-devices
media: exynos4-is: Add support for v4l2-flash subdevs
DT: Add documentation for exynos4-is camera-flash property

.../devicetree/bindings/media/samsung-fimc.txt | 3 +
Documentation/devicetree/bindings/mfd/max77693.txt | 47 ++
Documentation/leds/leds-class.txt | 52 ++
drivers/leds/Kconfig | 18 +
drivers/leds/Makefile | 2 +
drivers/leds/led-class.c | 62 +-
drivers/leds/led-core.c | 17 +
drivers/leds/led-flash.c | 375 +++++++++
drivers/leds/led-triggers.c | 16 +-
drivers/leds/leds-max77693.c | 864 ++++++++++++++++++++
drivers/leds/leds.h | 3 +
drivers/media/platform/exynos4-is/media-dev.c | 34 +-
drivers/media/platform/exynos4-is/media-dev.h | 14 +-
drivers/media/v4l2-core/Kconfig | 10 +
drivers/media/v4l2-core/Makefile | 2 +
drivers/media/v4l2-core/v4l2-flash.c | 302 +++++++
drivers/mfd/max77693.c | 3 +-
include/linux/leds.h | 34 +-
include/linux/leds_flash.h | 189 +++++
include/linux/mfd/max77693.h | 32 +
include/media/v4l2-flash.h | 104 +++
21 files changed, 2157 insertions(+), 26 deletions(-)
create mode 100644 drivers/leds/led-flash.c
create mode 100644 drivers/leds/leds-max77693.c
create mode 100644 drivers/media/v4l2-core/v4l2-flash.c
create mode 100644 include/linux/leds_flash.h
create mode 100644 include/media/v4l2-flash.h

--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/