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

2015-01-26 Thread Bryan Wu
On Mon, Jan 12, 2015 at 12:04 AM, Jacek Anaszewski
j.anaszew...@samsung.com wrote:
 Hi Pavel,

 Thanks for the review.

 On 01/09/2015 06:40 PM, Pavel Machek wrote:

 Hi!

 The documentation being added contains overall description of the
 LED Flash Class and the related sysfs attributes.

 Signed-off-by: Jacek Anaszewski j.anaszew...@samsung.com
 Acked-by: Kyungmin Park kyungmin.p...@samsung.com
 Cc: Bryan Wu coolo...@gmail.com
 Cc: Richard Purdie rpur...@rpsys.net


 +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 function to gain
 flash
 +related capabilities.
 +
 +There are flash LED devices which can control more than one LED and
 allow for
 +strobing the sub-leds synchronously. A LED will be strobed synchronously
 with
 +the one whose identifier is written to the flash_sync_strobe sysfs
 attribute.
 +The list of available sub-led identifiers can be read from the


 sub-LED?


 Indeed, this naming will be more consistent.

 +   - 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
 +   * 0x20 - the flash controller has detected a short or
 open
 +circuit condition on the indicator LED
 +   * 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


 Did not everyone agree that text strings are preferable to bitmasks?


 Pavel


 I just forgot to update the flash_fault documentation. Will fix in the
 next version.

Please provide an updated version. I will merge them.

-Bryan
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-01-12 Thread Jacek Anaszewski

Hi Pavel,

Thanks for the review.

On 01/09/2015 06:40 PM, Pavel Machek wrote:

Hi!


The documentation being added contains overall description of the
LED Flash Class and the related sysfs attributes.

Signed-off-by: Jacek Anaszewski j.anaszew...@samsung.com
Acked-by: Kyungmin Park kyungmin.p...@samsung.com
Cc: Bryan Wu coolo...@gmail.com
Cc: Richard Purdie rpur...@rpsys.net



+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 function to gain flash
+related capabilities.
+
+There are flash LED devices which can control more than one LED and allow for
+strobing the sub-leds synchronously. A LED will be strobed synchronously with
+the one whose identifier is written to the flash_sync_strobe sysfs attribute.
+The list of available sub-led identifiers can be read from the


sub-LED?


Indeed, this naming will be more consistent.


+   - 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
+   * 0x20 - the flash controller has detected a short or open
+circuit condition on the indicator LED
+   * 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


Did not everyone agree that text strings are preferable to bitmasks?

Pavel



I just forgot to update the flash_fault documentation. Will fix in the
next version.

--
Best Regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-01-09 Thread Jacek Anaszewski
The documentation being added contains overall description of the
LED Flash Class and the related sysfs attributes.

Signed-off-by: Jacek Anaszewski j.anaszew...@samsung.com
Acked-by: Kyungmin Park kyungmin.p...@samsung.com
Cc: Bryan Wu coolo...@gmail.com
Cc: Richard Purdie rpur...@rpsys.net
---
 Documentation/leds/leds-class-flash.txt |   57 +++
 1 file changed, 57 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 000..d80096b
--- /dev/null
+++ b/Documentation/leds/leds-class-flash.txt
@@ -0,0 +1,57 @@
+
+Flash LED handling under Linux
+==
+
+Some LED devices support two modes - torch and flash. In the LED subsystem
+those modes are supported by LED class (see Documentation/leds/leds-class.txt)
+and LED Flash class respectively. The torch mode related features are enabled
+by default and the flash ones only if a driver declares it by setting
+LED_DEV_CAP_FLASH flag.
+
+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 function to gain flash
+related capabilities.
+
+There are flash LED devices which can control more than one LED and allow for
+strobing the sub-leds synchronously. A LED will be strobed synchronously with
+the one whose identifier is written to the flash_sync_strobe sysfs attribute.
+The list of available sub-led identifiers can be read from the 
available_sync_leds
+sysfs attribute. In order to enable the related settings the driver must set
+LED_DEV_CAP_SYNC_STROBE flag.
+
+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)
+   - available_sync_leds - list of sub-leds available for flash strobe
+   synchronization (RO)
+   - flash_sync_strobe - identifier of the sub-led to synchronize the flash
+ strobe with; 0 stands for no synchronization (RW)
+   - 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
+   * 0x20 - the flash controller has detected a short or open
+circuit condition on the indicator LED
+   * 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, if possible, by reading the attribute.
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2015-01-09 Thread Pavel Machek
Hi!

 The documentation being added contains overall description of the
 LED Flash Class and the related sysfs attributes.
 
 Signed-off-by: Jacek Anaszewski j.anaszew...@samsung.com
 Acked-by: Kyungmin Park kyungmin.p...@samsung.com
 Cc: Bryan Wu coolo...@gmail.com
 Cc: Richard Purdie rpur...@rpsys.net

 +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 function to gain flash
 +related capabilities.
 +
 +There are flash LED devices which can control more than one LED and allow for
 +strobing the sub-leds synchronously. A LED will be strobed synchronously with
 +the one whose identifier is written to the flash_sync_strobe sysfs attribute.
 +The list of available sub-led identifiers can be read from the

sub-LED?

 + - 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
 + * 0x20 - the flash controller has detected a short or open
 +  circuit condition on the indicator LED
 + * 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

Did not everyone agree that text strings are preferable to bitmasks?

Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html