Hi Jacek, On Wed, Dec 03, 2014 at 05:06:37PM +0100, Jacek Anaszewski wrote: > The documentation being added contains overall description of the > LED Flash Class and the related sysfs attributes. > > Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> > Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> > Cc: Bryan Wu <cooloney@xxxxxxxxx> > Cc: Richard Purdie <rpurdie@xxxxxxxxx> > --- > Documentation/leds/leds-class-flash.txt | 50 +++++++++++++++++++++++++++++++ > 1 file changed, 50 insertions(+) > create mode 100644 Documentation/leds/leds-class-flash.txt > > diff --git a/Documentation/leds/leds-class-flash.txt b/Documentation/leds/leds-class-flash.txt > new file mode 100644 > index 0000000..82e58b1 > --- /dev/null > +++ b/Documentation/leds/leds-class-flash.txt > @@ -0,0 +1,50 @@ > + > +Flash LED handling under Linux > +============================== > + > +Some LED devices support two modes - torch and flash. The modes are > +supported by the LED class (see Documentation/leds/leds-class.txt) > +and LED Flash class respectively. > + > +In order to enable support for flash LEDs CONFIG_LEDS_CLASS_FLASH symbol > +must be defined in the kernel config. A flash LED driver must register > +in the LED subsystem with led_classdev_flash_register to gain flash > +capabilities. > + > +Following sysfs attributes are exposed for controlling flash led devices: > + > + - flash_brightness - flash LED brightness in microamperes (RW) > + - max_flash_brightness - maximum available flash LED brightness (RO) > + - flash_timeout - flash strobe duration in microseconds (RW) > + - max_flash_timeout - maximum available flash strobe duration (RO) > + - flash_strobe - flash strobe state (RW) > + - flash_sync_strobe - one flash device can control more than one > + sub-led; when this atrribute is set to 1 s/atrribute/attribute/ > + the flash led will be strobed synchronously > + with the other one controlled by the same > + device; flash timeout setting is inherited > + from the led being strobed explicitly and > + flash brightness setting of a sub-led's > + being synchronized is used (RW) The flash brightness shouldn't be determined by the strobed LED. If this is a property of the hardware, then be it, but in general no, it it shouldn't be an interface requirement. I think this should just say that the strobe is synchronised. How does the user btw. figure out which flash LEDs may be strobed synchronously using the LED flash interface? > + - flash_fault - bitmask of flash faults that may have occurred > + possible flags are: > + * 0x01 - flash controller voltage to the flash LED has exceeded > + the limit specific to the flash controller > + * 0x02 - the flash strobe was still on when the timeout set by > + the user has expired; not all flash controllers may > + set this in all such conditions > + * 0x04 - the flash controller has overheated > + * 0x08 - the short circuit protection of the flash controller > + has been triggered > + * 0x10 - current in the LED power supply has exceeded the limit > + specific to the flash controller > + * 0x40 - flash controller voltage to the flash LED has been > + below the minimum limit specific to the flash > + * 0x80 - the input voltage of the flash controller is below > + the limit under which strobing the flash at full > + current will not be possible. The condition persists > + until this flag is no longer set > + * 0x100 - the temperature of the LED has exceeded its allowed > + upper limit > + > + Flash faults are cleared by reading the attribute. -- Kind regards, Sakari Ailus e-mail: sakari.ailus@xxxxxx XMPP: sailus@xxxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html