Re: [PATCH/RFC v9 02/19] Documentation: leds: Add description of LED Flash class extension

From: Sakari Ailus
Date: Wed Dec 03 2014 - 12:08:26 EST


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-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/