Re: [PATCH/RFC v7 3/3] Documentation: leds: Add description of LED Flash Class extension

2014-11-14 Thread Jacek Anaszewski

Hi Bryan,

Thanks for a review.

On 11/13/2014 07:58 PM, Bryan Wu wrote:

On Wed, Nov 12, 2014 at 8:09 AM, Jacek Anaszewski
j.anaszew...@samsung.com wrote:

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 |   39 +++
  1 file changed, 39 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..0164329
--- /dev/null
+++ b/Documentation/leds/leds-class-flash.txt
@@ -0,0 +1,39 @@
+
+Flash LED handling under Linux
+==
+
+Some LED devices support two modes - torch and flash. In order to enable


I think I asked this question before, Torch, Flash and Indicator. As
you answered torch is implemented by sync led brightness set operation
in our LEDS_CLASS and Flash is implemented in this LEDS_CLASS_FLASH.

I suggest put this information in document or code comments. Then
people know how to use torch and flash.


Good point.


For indicator I still don't know why we need this since indicator is
like blinking and it should be support by LEDS_CLASS right?


Indicator led is strictly related to flash devices. It is also called a
privacy led because of its purpose - protecting a privacy of a person
being recorded by providing a light signal signifying that a camera is
on. It is a low current led, but some devices use the same led as
for torch and flash and only apply reduced current in the indicator
mode.

In the V4L2 subsystem I see only one driver supporting indicator
leds: /drivers/media/i2c/as3645a.c. It looks like indicator intensity
can be set only when flash mode is V4L2_FLASH_LED_MODE_NONE, i.e. torch
and flash leds cannot be active simultaneously with indicator led.
It is reasonable, as active torch led is a sufficient signalization
of recording.

In the LED subsystem I also see indicators in some drivers,
e.g. leds-lm355x.c, but they are registered as a separate LED class
devices. Moreover the driver adds also a pattern sysfs attribute
for choosing indicator blinking pattern so that is something to be
added to the LED Flash class.
I think that similar improvement to the V4L2 Flash API should be made.

Sakari, what is your opinion?


Flash is for some camera capture, right?


+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)
+   - indicator_brightness - privacy LED brightness in microamperes (RW)
+   - max_indicator_brightness - maximum privacy LED brightness in
+microamperes (RO)


What's the privacy mean here?


Indeed, consistent naming should be applied, so I will modify it to:

maximum indicator LED brightness in microaperes (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_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


Are these error code the same for all the LED 

Re: [PATCH/RFC v7 3/3] Documentation: leds: Add description of LED Flash Class extension

2014-11-13 Thread Bryan Wu
On Wed, Nov 12, 2014 at 8:09 AM, Jacek Anaszewski
j.anaszew...@samsung.com wrote:
 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 |   39 
 +++
  1 file changed, 39 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..0164329
 --- /dev/null
 +++ b/Documentation/leds/leds-class-flash.txt
 @@ -0,0 +1,39 @@
 +
 +Flash LED handling under Linux
 +==
 +
 +Some LED devices support two modes - torch and flash. In order to enable

I think I asked this question before, Torch, Flash and Indicator. As
you answered torch is implemented by sync led brightness set operation
in our LEDS_CLASS and Flash is implemented in this LEDS_CLASS_FLASH.

I suggest put this information in document or code comments. Then
people know how to use torch and flash.

For indicator I still don't know why we need this since indicator is
like blinking and it should be support by LEDS_CLASS right?

Flash is for some camera capture, right?

 +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)
 +   - indicator_brightness - privacy LED brightness in microamperes (RW)
 +   - max_indicator_brightness - maximum privacy LED brightness in
 +microamperes (RO)

What's the privacy mean here?

 +   - flash_timeout - flash strobe duration in microseconds (RW)
 +   - max_flash_timeout - maximum available flash strobe duration (RO)
 +   - flash_strobe - flash strobe state (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
 +   * 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

Are these error code the same for all the LED controller? Or just for
some specific chip?


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


[PATCH/RFC v7 3/3] Documentation: leds: Add description of LED Flash Class extension

2014-11-12 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 |   39 +++
 1 file changed, 39 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..0164329
--- /dev/null
+++ b/Documentation/leds/leds-class-flash.txt
@@ -0,0 +1,39 @@
+
+Flash LED handling under Linux
+==
+
+Some LED devices support two modes - torch and flash. 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)
+   - indicator_brightness - privacy LED brightness in microamperes (RW)
+   - max_indicator_brightness - maximum privacy LED brightness in
+microamperes (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_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
-- 
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