From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bryan Wu Subject: Re: [PATCH v10 1/8] Documentation: leds: Add description of v4l2-flash sub-device Date: Wed, 10 Jun 2015 11:21:07 -0700 Message-ID: References: <1433754145-12765-1-git-send-email-j.anaszewski@samsung.com> <1433754145-12765-2-git-send-email-j.anaszewski@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from mail-pd0-f175.google.com ([209.85.192.175]:36304 "EHLO mail-pd0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752479AbbFJSV2 (ORCPT ); Wed, 10 Jun 2015 14:21:28 -0400 In-Reply-To: <1433754145-12765-2-git-send-email-j.anaszewski@samsung.com> Sender: linux-leds-owner@vger.kernel.org List-Id: linux-leds@vger.kernel.org To: Jacek Anaszewski Cc: Linux LED Subsystem , "linux-media@vger.kernel.org" , Kyungmin Park , Pavel Machek , "rpurdie@rpsys.net" , Sakari Ailus , Sylwester Nawrocki On Mon, Jun 8, 2015 at 2:02 AM, Jacek Anaszewski wrote: > This patch extends LED Flash class documention by > the description of interactions with v4l2-flash sub-device. > Merged into my -devel branch and it won't be merged into 4.2.0 merge window but wait for one more cycle, since now it's quite late in 4.1.0 cycle. Thanks, -Bryan > Signed-off-by: Jacek Anaszewski > Acked-by: Kyungmin Park > Cc: Richard Purdie > --- > Documentation/leds/leds-class-flash.txt | 51 +++++++++++++++++++++++++++++++ > 1 file changed, 51 insertions(+) > > diff --git a/Documentation/leds/leds-class-flash.txt b/Documentation/leds/leds-class-flash.txt > index 19bb673..8da3c6f 100644 > --- a/Documentation/leds/leds-class-flash.txt > +++ b/Documentation/leds/leds-class-flash.txt > @@ -20,3 +20,54 @@ Following sysfs attributes are exposed for controlling flash LED devices: > - max_flash_timeout > - flash_strobe > - flash_fault > + > + > +V4L2 flash wrapper for flash LEDs > +================================= > + > +A LED subsystem driver can be controlled also from the level of VideoForLinux2 > +subsystem. In order to enable this CONFIG_V4L2_FLASH_LED_CLASS symbol has to > +be defined in the kernel config. > + > +The driver must call the v4l2_flash_init function to get registered in the > +V4L2 subsystem. The function takes six arguments: > +- dev : flash device, e.g. an I2C device > +- of_node : of_node of the LED, may be NULL if the same as device's > +- fled_cdev : LED flash class device to wrap > +- iled_cdev : LED flash class device representing indicator LED associated with > + fled_cdev, may be NULL > +- ops : V4L2 specific ops > + * external_strobe_set - defines the source of the flash LED strobe - > + V4L2_CID_FLASH_STROBE control or external source, typically > + a sensor, which makes it possible to synchronise the flash > + strobe start with exposure start, > + * intensity_to_led_brightness and led_brightness_to_intensity - perform > + enum led_brightness <-> V4L2 intensity conversion in a device > + specific manner - they can be used for devices with non-linear > + LED current scale. > +- config : configuration for V4L2 Flash sub-device > + * dev_name - the name of the media entity, unique in the system, > + * flash_faults - bitmask of flash faults that the LED flash class > + device can report; corresponding LED_FAULT* bit definitions are > + available in , > + * torch_intensity - constraints for the LED in TORCH mode > + in microamperes, > + * indicator_intensity - constraints for the indicator LED > + in microamperes, > + * has_external_strobe - determines whether the flash strobe source > + can be switched to external, > + > +On remove the v4l2_flash_release function has to be called, which takes one > +argument - struct v4l2_flash pointer returned previously by v4l2_flash_init. > +This function can be safely called with NULL or error pointer argument. > + > +Please refer to drivers/leds/leds-max77693.c for an exemplary usage of the > +v4l2 flash wrapper. > + > +Once the V4L2 sub-device is registered by the driver which created the Media > +controller device, the sub-device node acts just as a node of a native V4L2 > +flash API device would. The calls are simply routed to the LED flash API. > + > +Opening the V4L2 flash sub-device makes the LED subsystem sysfs interface > +unavailable. The interface is re-enabled after the V4L2 flash sub-device > +is closed. > -- > 1.7.9.5 >