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 devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html