Re: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-03-02 Thread Jacek Anaszewski

On 03/02/2015 01:54 PM, Sakari Ailus wrote:

Hi Jacek,

On Fri, Feb 27, 2015 at 03:34:22PM +0100, Jacek Anaszewski wrote:

Hi Sakari,

On 02/21/2015 11:57 AM, Sakari Ailus wrote:

Hi Pavel and Greg,

On Fri, Feb 20, 2015 at 09:57:38PM +0100, Pavel Machek wrote:

On Fri 2015-02-20 07:36:16, Greg KH wrote:

On Fri, Feb 20, 2015 at 08:56:11AM +0100, Jacek Anaszewski wrote:

On 02/19/2015 10:40 PM, Greg KH wrote:

On Thu, Feb 19, 2015 at 11:02:04AM +0200, Sakari Ailus wrote:

On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:


On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:

Add a documentation of LED Flash class specific 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


NAK-ed-by: Pavel Machek


+What:  /sys/class/leds/led/available_sync_leds
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write
+   Space separated list of LEDs available for flash strobe
+   synchronization, displayed in the format:
+
+   led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.


Multiple values per file, with all the problems we had in /proc. I
assume led_id is an integer? What prevents space or dot in led name?


Very good point. How about using a newline instead? That'd be a little bit
easier to parse, too.


No, please make it one value per-file, which is what sysfs requires.


The purpose of this attribute is only to provide an information about
the range of valid identifiers that can be written to the
flash_sync_strobe attribute. Wouldn't splitting this to many attributes
be an unnecessary inflation of sysfs files?


Ok a list of allowed values to write is acceptable, as long as it is not
hard to parse and always is space separated.


Well, this one is list of LED numbers and LED names.


It'd be nice if these names would match the V4L2 sub-device names. We don't


 From the discussion on IRC it turned out that one of components of the
V4L2 sub-device name will be a media controller identifier.

This implies that if support for V4L2 Flash devices will be turned off
in the kernel config the LED name will have to differ from the case
when the support is on. I think that this is undesired.


Well... the media entity names need to be unique in the Media controller
device. In the future we may have just a single Media controller device in
the system, possibly depending on the driver so that some drivers can make
use of that while some will have one on their own, mostly older drivers that
is.

I think what Laurent proposed to refer to an ID was the hardware device, so
that in the future the hardware device / media entity name would be unique.
That'd be a much more manageable and easier to verify for correctness than a
global name that is defined by a driver.

Older drivers wouldn't be affected. Old user space might not work with new
drivers without taking the hwdev field into account.

So the hwdev (name or ID) would be part of the struct media_entity_desc, but
*not* a part of the name field in the struct.


The origin of this discussion was your statement:

 It'd be nice if these names would match the V4L2 sub-device names.
 We don't have any rules for them other than they must be unique,
 and there's the established practice that an I2C address follows
 the component name.

Has the naming scheme been already agreed?



Cc Laurent and Hans.


have any rules for them other than they must be unique, and there's the
established practice that an I2C address follows the component name. We're
about to discuss the matter on Monday on #v4l (11:00 Finnish time), but I
don't think we can generally guarantee any of the names won't have spaces.



Separate files, then?


I tried to split this to separate files but it turned out to be awkward.
Since the number of LEDs to synchronize can vary from device to device,
the number of the related sysfs attributes cannot be fixed.

As far as I know allocating the sysfs attributes dynamically is unsafe,


How so? I think most implementations use static variables because that's all
they need.


I was thinking about the need for freeing the memory allocated for
attributes on remove and races with udev.


and thus the maximum allowed number of synchronized LEDs would have to
be agreed on for the whole led-class-flash and the relevant number of
similar struct attribute instances and related callbacks would have to
be created statically for every LED Flash class device, no matter if
a device would need them.


This could be handled in the framework instead.


Of course the relevant sysfs group could be initialized only with
the needed number of sync leds attributes, but still this is less
than optimal design.

It looks like this interface indeed doesn't fit for sysfs.

I am leaning towards removing the support for 

Re: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-03-02 Thread Sakari Ailus
Hi Jacek,

On Fri, Feb 27, 2015 at 03:34:22PM +0100, Jacek Anaszewski wrote:
 Hi Sakari,
 
 On 02/21/2015 11:57 AM, Sakari Ailus wrote:
 Hi Pavel and Greg,
 
 On Fri, Feb 20, 2015 at 09:57:38PM +0100, Pavel Machek wrote:
 On Fri 2015-02-20 07:36:16, Greg KH wrote:
 On Fri, Feb 20, 2015 at 08:56:11AM +0100, Jacek Anaszewski wrote:
 On 02/19/2015 10:40 PM, Greg KH wrote:
 On Thu, Feb 19, 2015 at 11:02:04AM +0200, Sakari Ailus wrote:
 On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:
 
 On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:
 Add a documentation of LED Flash class specific 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
 
 NAK-ed-by: Pavel Machek
 
 +What:/sys/class/leds/led/available_sync_leds
 +Date:February 2015
 +KernelVersion:   3.20
 +Contact: Jacek Anaszewski j.anaszew...@samsung.com
 +Description: read/write
 + Space separated list of LEDs available for flash strobe
 + synchronization, displayed in the format:
 +
 + led1_id.led1_name led2_id.led2_name led3_id.led3_name 
 etc.
 
 Multiple values per file, with all the problems we had in /proc. I
 assume led_id is an integer? What prevents space or dot in led name?
 
 Very good point. How about using a newline instead? That'd be a little 
 bit
 easier to parse, too.
 
 No, please make it one value per-file, which is what sysfs requires.
 
 The purpose of this attribute is only to provide an information about
 the range of valid identifiers that can be written to the
 flash_sync_strobe attribute. Wouldn't splitting this to many attributes
 be an unnecessary inflation of sysfs files?
 
 Ok a list of allowed values to write is acceptable, as long as it is not
 hard to parse and always is space separated.
 
 Well, this one is list of LED numbers and LED names.
 
 It'd be nice if these names would match the V4L2 sub-device names. We don't
 
 From the discussion on IRC it turned out that one of components of the
 V4L2 sub-device name will be a media controller identifier.
 
 This implies that if support for V4L2 Flash devices will be turned off
 in the kernel config the LED name will have to differ from the case
 when the support is on. I think that this is undesired.

Well... the media entity names need to be unique in the Media controller
device. In the future we may have just a single Media controller device in
the system, possibly depending on the driver so that some drivers can make
use of that while some will have one on their own, mostly older drivers that
is.

I think what Laurent proposed to refer to an ID was the hardware device, so
that in the future the hardware device / media entity name would be unique.
That'd be a much more manageable and easier to verify for correctness than a
global name that is defined by a driver.

Older drivers wouldn't be affected. Old user space might not work with new
drivers without taking the hwdev field into account.

So the hwdev (name or ID) would be part of the struct media_entity_desc, but
*not* a part of the name field in the struct.

Cc Laurent and Hans.

 have any rules for them other than they must be unique, and there's the
 established practice that an I2C address follows the component name. We're
 about to discuss the matter on Monday on #v4l (11:00 Finnish time), but I
 don't think we can generally guarantee any of the names won't have spaces.
 
 Separate files, then?
 
 I tried to split this to separate files but it turned out to be awkward.
 Since the number of LEDs to synchronize can vary from device to device,
 the number of the related sysfs attributes cannot be fixed.
 
 As far as I know allocating the sysfs attributes dynamically is unsafe,

How so? I think most implementations use static variables because that's all
they need.

 and thus the maximum allowed number of synchronized LEDs would have to
 be agreed on for the whole led-class-flash and the relevant number of
 similar struct attribute instances and related callbacks would have to
 be created statically for every LED Flash class device, no matter if
 a device would need them.

This could be handled in the framework instead.

 Of course the relevant sysfs group could be initialized only with
 the needed number of sync leds attributes, but still this is less
 than optimal design.
 
 It looks like this interface indeed doesn't fit for sysfs.
 
 I am leaning towards removing the support for synchronized flash LEDs
 from the LED subsystem entirely and leave it only to V4L2.

Perfectly fine for me as well, I guess the synchronised strobe has mostly
use on V4L2. It could always be added later on if needed.

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ai...@iki.fi XMPP: sai...@retiisi.org.uk
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to 

Re: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-03-02 Thread Pavel Machek
Hi!

  Of course the relevant sysfs group could be initialized only with
  the needed number of sync leds attributes, but still this is less
  than optimal design.
  
  It looks like this interface indeed doesn't fit for sysfs.
  
  I am leaning towards removing the support for synchronized flash LEDs
  from the LED subsystem entirely and leave it only to V4L2.
 
 Perfectly fine for me as well, I guess the synchronised strobe has mostly
 use on V4L2. It could always be added later on if needed.

Makes sense...
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


Re: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-27 Thread Jacek Anaszewski

Hi Sakari,

On 02/21/2015 11:57 AM, Sakari Ailus wrote:

Hi Pavel and Greg,

On Fri, Feb 20, 2015 at 09:57:38PM +0100, Pavel Machek wrote:

On Fri 2015-02-20 07:36:16, Greg KH wrote:

On Fri, Feb 20, 2015 at 08:56:11AM +0100, Jacek Anaszewski wrote:

On 02/19/2015 10:40 PM, Greg KH wrote:

On Thu, Feb 19, 2015 at 11:02:04AM +0200, Sakari Ailus wrote:

On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:


On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:

Add a documentation of LED Flash class specific 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


NAK-ed-by: Pavel Machek


+What:  /sys/class/leds/led/available_sync_leds
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write
+   Space separated list of LEDs available for flash strobe
+   synchronization, displayed in the format:
+
+   led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.


Multiple values per file, with all the problems we had in /proc. I
assume led_id is an integer? What prevents space or dot in led name?


Very good point. How about using a newline instead? That'd be a little bit
easier to parse, too.


No, please make it one value per-file, which is what sysfs requires.


The purpose of this attribute is only to provide an information about
the range of valid identifiers that can be written to the
flash_sync_strobe attribute. Wouldn't splitting this to many attributes
be an unnecessary inflation of sysfs files?


Ok a list of allowed values to write is acceptable, as long as it is not
hard to parse and always is space separated.


Well, this one is list of LED numbers and LED names.


It'd be nice if these names would match the V4L2 sub-device names. We don't


From the discussion on IRC it turned out that one of components of the
V4L2 sub-device name will be a media controller identifier.

This implies that if support for V4L2 Flash devices will be turned off
in the kernel config the LED name will have to differ from the case
when the support is on. I think that this is undesired.


have any rules for them other than they must be unique, and there's the
established practice that an I2C address follows the component name. We're
about to discuss the matter on Monday on #v4l (11:00 Finnish time), but I
don't think we can generally guarantee any of the names won't have spaces.



Separate files, then?


I tried to split this to separate files but it turned out to be awkward.
Since the number of LEDs to synchronize can vary from device to device,
the number of the related sysfs attributes cannot be fixed.

As far as I know allocating the sysfs attributes dynamically is unsafe,
and thus the maximum allowed number of synchronized LEDs would have to
be agreed on for the whole led-class-flash and the relevant number of
similar struct attribute instances and related callbacks would have to
be created statically for every LED Flash class device, no matter if
a device would need them.

Of course the relevant sysfs group could be initialized only with
the needed number of sync leds attributes, but still this is less
than optimal design.

It looks like this interface indeed doesn't fit for sysfs.

I am leaning towards removing the support for synchronized flash LEDs
from the LED subsystem entirely and leave it only to V4L2.

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


Re: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-21 Thread Sakari Ailus
Hi Pavel and Greg,

On Fri, Feb 20, 2015 at 09:57:38PM +0100, Pavel Machek wrote:
 On Fri 2015-02-20 07:36:16, Greg KH wrote:
  On Fri, Feb 20, 2015 at 08:56:11AM +0100, Jacek Anaszewski wrote:
   On 02/19/2015 10:40 PM, Greg KH wrote:
   On Thu, Feb 19, 2015 at 11:02:04AM +0200, Sakari Ailus wrote:
   On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:
   
   On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:
   Add a documentation of LED Flash class specific 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
   
   NAK-ed-by: Pavel Machek
   
   +What:/sys/class/leds/led/available_sync_leds
   +Date:February 2015
   +KernelVersion:   3.20
   +Contact: Jacek Anaszewski j.anaszew...@samsung.com
   +Description: read/write
   + Space separated list of LEDs available for flash strobe
   + synchronization, displayed in the format:
   +
   + led1_id.led1_name led2_id.led2_name led3_id.led3_name 
   etc.
   
   Multiple values per file, with all the problems we had in /proc. I
   assume led_id is an integer? What prevents space or dot in led name?
   
   Very good point. How about using a newline instead? That'd be a little 
   bit
   easier to parse, too.
   
   No, please make it one value per-file, which is what sysfs requires.
   
   The purpose of this attribute is only to provide an information about
   the range of valid identifiers that can be written to the
   flash_sync_strobe attribute. Wouldn't splitting this to many attributes
   be an unnecessary inflation of sysfs files?
  
  Ok a list of allowed values to write is acceptable, as long as it is not
  hard to parse and always is space separated.
 
 Well, this one is list of LED numbers and LED names.

It'd be nice if these names would match the V4L2 sub-device names. We don't
have any rules for them other than they must be unique, and there's the
established practice that an I2C address follows the component name. We're
about to discuss the matter on Monday on #v4l (11:00 Finnish time), but I
don't think we can generally guarantee any of the names won't have spaces.

Separate files, then?

   Apart from it, we have also flash_faults attribute, that currently
   provides a space separated list of flash faults that have occurred.
  
  That's crazy, what's to keep it from growing and growing to be larger
  than is allowed to be read?
 
 Umm. Actually, this one is less crazy, I'd say. List of faults is
 fixed, and you can have them all-at-once, at most, which is way below
 4K limit.

We'd first run out of V4L2 bitmask control bits --- there are 32 of them.
I'm frankly not really worried about that either.

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ai...@iki.fi XMPP: sai...@retiisi.org.uk
--
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: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-21 Thread Greg KH
On Fri, Feb 20, 2015 at 05:15:10PM +0100, Jacek Anaszewski wrote:
 On 02/20/2015 04:36 PM, Greg KH wrote:
 On Fri, Feb 20, 2015 at 08:56:11AM +0100, Jacek Anaszewski wrote:
 On 02/19/2015 10:40 PM, Greg KH wrote:
 On Thu, Feb 19, 2015 at 11:02:04AM +0200, Sakari Ailus wrote:
 On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:
 
 On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:
 Add a documentation of LED Flash class specific 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
 
 NAK-ed-by: Pavel Machek
 
 +What:  /sys/class/leds/led/available_sync_leds
 +Date:  February 2015
 +KernelVersion: 3.20
 +Contact:   Jacek Anaszewski j.anaszew...@samsung.com
 +Description:   read/write
 +   Space separated list of LEDs available for flash strobe
 +   synchronization, displayed in the format:
 +
 +   led1_id.led1_name led2_id.led2_name led3_id.led3_name 
 etc.
 
 Multiple values per file, with all the problems we had in /proc. I
 assume led_id is an integer? What prevents space or dot in led name?
 
 Very good point. How about using a newline instead? That'd be a little bit
 easier to parse, too.
 
 No, please make it one value per-file, which is what sysfs requires.
 
 The purpose of this attribute is only to provide an information about
 the range of valid identifiers that can be written to the
 flash_sync_strobe attribute. Wouldn't splitting this to many attributes
 be an unnecessary inflation of sysfs files?
 
 Ok a list of allowed values to write is acceptable, as long as it is not
 hard to parse and always is space separated.
 
 Is a new line character also acceptable as a delimiter?

No.

Again, sysfs files should not need to be parsed, they are
one-value-per-file for a good reason.

If you want to do something else, wonderful, but don't use sysfs.  It's
looking like this whole interface should not be using sysfs as it
doesn't fit there at all.

sorry,

greg k-h
--
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: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-21 Thread Greg KH
On Sat, Feb 21, 2015 at 12:57:33PM +0200, Sakari Ailus wrote:
 Hi Pavel and Greg,
 
 On Fri, Feb 20, 2015 at 09:57:38PM +0100, Pavel Machek wrote:
  On Fri 2015-02-20 07:36:16, Greg KH wrote:
   On Fri, Feb 20, 2015 at 08:56:11AM +0100, Jacek Anaszewski wrote:
On 02/19/2015 10:40 PM, Greg KH wrote:
On Thu, Feb 19, 2015 at 11:02:04AM +0200, Sakari Ailus wrote:
On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:

On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:
Add a documentation of LED Flash class specific 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

NAK-ed-by: Pavel Machek

+What:  /sys/class/leds/led/available_sync_leds
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write
+   Space separated list of LEDs available for flash strobe
+   synchronization, displayed in the format:
+
+   led1_id.led1_name led2_id.led2_name led3_id.led3_name 
etc.

Multiple values per file, with all the problems we had in /proc. I
assume led_id is an integer? What prevents space or dot in led name?

Very good point. How about using a newline instead? That'd be a 
little bit
easier to parse, too.

No, please make it one value per-file, which is what sysfs requires.

The purpose of this attribute is only to provide an information about
the range of valid identifiers that can be written to the
flash_sync_strobe attribute. Wouldn't splitting this to many attributes
be an unnecessary inflation of sysfs files?
   
   Ok a list of allowed values to write is acceptable, as long as it is not
   hard to parse and always is space separated.
  
  Well, this one is list of LED numbers and LED names.
 
 It'd be nice if these names would match the V4L2 sub-device names. We don't
 have any rules for them other than they must be unique, and there's the
 established practice that an I2C address follows the component name. We're
 about to discuss the matter on Monday on #v4l (11:00 Finnish time), but I
 don't think we can generally guarantee any of the names won't have spaces.
 
 Separate files, then?

Yes please.
--
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: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-20 Thread Jacek Anaszewski

Hi Pavel,

On 02/20/2015 09:16 AM, Pavel Machek wrote:

Hi!


+What:  /sys/class/leds/led/available_sync_leds
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write
+   Space separated list of LEDs available for flash strobe
+   synchronization, displayed in the format:
+
+   led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.


Multiple values per file, with all the problems we had in /proc. I
assume led_id is an integer? What prevents space or dot in led name?


Very good point. How about using a newline instead? That'd be a little bit
easier to parse, too.


No, please make it one value per-file, which is what sysfs requires.


The purpose of this attribute is only to provide an information about
the range of valid identifiers that can be written to the
flash_sync_strobe attribute. Wouldn't splitting this to many attributes
be an unnecessary inflation of sysfs files?


No, it would not. It is required so that we don't end up with broken
parsers.


Let's discuss the acceptable approach then. I propose a directory
named synchronized_strobe and containing the files as you proposed
in one of the previous messages: led_id.active and led_id.name.
The attribute flash_sync_strobe would be redundant then and should
be removed.

Use cases for two LEDs:

- max77693-led1
- max77693-led2

#cd synchronized_strobe
#ls
#0.active 0.name 1.active 1.name
#cat 0.name
#max77693-led1
#cat 0.active
#0
#cat 1.name
#max77693-led2
#cat 1.active
#0
#echo 1  0.active
#cat 0.active
#1
#echo 1  1.active
#cat 0.active
#0
#cat 1.active
#1



Apart from it, we have also flash_faults attribute, that currently
provides a space separated list of flash faults that have occurred.
If we are to stick tightly to the one-value-per-file rule, then how
we should approach flash_faults case? Should the separate file be
dynamically created for each reported fault?


I think you can get away with flash_faults attribute (since the
strings are hardcoded).


If so, the attribute will be left as is.


Dynamically created files would be extremely ugly interface, but you
could also have files such as overvoltage_fault containing either 0
or 1 ...


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


Re: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-20 Thread Pavel Machek
Hi!

 +What:/sys/class/leds/led/available_sync_leds
 +Date:February 2015
 +KernelVersion:   3.20
 +Contact: Jacek Anaszewski j.anaszew...@samsung.com
 +Description: read/write
 + Space separated list of LEDs available for flash strobe
 + synchronization, displayed in the format:
 +
 + led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.
 
 Multiple values per file, with all the problems we had in /proc. I
 assume led_id is an integer? What prevents space or dot in led name?
 
 Very good point. How about using a newline instead? That'd be a little bit
 easier to parse, too.
 
 No, please make it one value per-file, which is what sysfs requires.
 
 The purpose of this attribute is only to provide an information about
 the range of valid identifiers that can be written to the
 flash_sync_strobe attribute. Wouldn't splitting this to many attributes
 be an unnecessary inflation of sysfs files?

No, it would not. It is required so that we don't end up with broken
parsers.
 
 Apart from it, we have also flash_faults attribute, that currently
 provides a space separated list of flash faults that have occurred.
 If we are to stick tightly to the one-value-per-file rule, then how
 we should approach flash_faults case? Should the separate file be
 dynamically created for each reported fault?

I think you can get away with flash_faults attribute (since the
strings are hardcoded).

Dynamically created files would be extremely ugly interface, but you
could also have files such as overvoltage_fault containing either 0
or 1 ...
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


Re: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-20 Thread Pavel Machek
On Fri 2015-02-20 07:36:16, Greg KH wrote:
 On Fri, Feb 20, 2015 at 08:56:11AM +0100, Jacek Anaszewski wrote:
  On 02/19/2015 10:40 PM, Greg KH wrote:
  On Thu, Feb 19, 2015 at 11:02:04AM +0200, Sakari Ailus wrote:
  On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:
  
  On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:
  Add a documentation of LED Flash class specific 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
  
  NAK-ed-by: Pavel Machek
  
  +What:  /sys/class/leds/led/available_sync_leds
  +Date:  February 2015
  +KernelVersion: 3.20
  +Contact:   Jacek Anaszewski j.anaszew...@samsung.com
  +Description:   read/write
  +   Space separated list of LEDs available for flash strobe
  +   synchronization, displayed in the format:
  +
  +   led1_id.led1_name led2_id.led2_name led3_id.led3_name 
  etc.
  
  Multiple values per file, with all the problems we had in /proc. I
  assume led_id is an integer? What prevents space or dot in led name?
  
  Very good point. How about using a newline instead? That'd be a little bit
  easier to parse, too.
  
  No, please make it one value per-file, which is what sysfs requires.
  
  The purpose of this attribute is only to provide an information about
  the range of valid identifiers that can be written to the
  flash_sync_strobe attribute. Wouldn't splitting this to many attributes
  be an unnecessary inflation of sysfs files?
 
 Ok a list of allowed values to write is acceptable, as long as it is not
 hard to parse and always is space separated.

Well, this one is list of LED numbers and LED names.

  Apart from it, we have also flash_faults attribute, that currently
  provides a space separated list of flash faults that have occurred.
 
 That's crazy, what's to keep it from growing and growing to be larger
 than is allowed to be read?

Umm. Actually, this one is less crazy, I'd say. List of faults is
fixed, and you can have them all-at-once, at most, which is way below
4K limit.
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


Re: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-20 Thread Jacek Anaszewski

On 02/20/2015 04:36 PM, Greg KH wrote:

On Fri, Feb 20, 2015 at 08:56:11AM +0100, Jacek Anaszewski wrote:

On 02/19/2015 10:40 PM, Greg KH wrote:

On Thu, Feb 19, 2015 at 11:02:04AM +0200, Sakari Ailus wrote:

On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:


On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:

Add a documentation of LED Flash class specific 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


NAK-ed-by: Pavel Machek


+What:  /sys/class/leds/led/available_sync_leds
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write
+   Space separated list of LEDs available for flash strobe
+   synchronization, displayed in the format:
+
+   led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.


Multiple values per file, with all the problems we had in /proc. I
assume led_id is an integer? What prevents space or dot in led name?


Very good point. How about using a newline instead? That'd be a little bit
easier to parse, too.


No, please make it one value per-file, which is what sysfs requires.


The purpose of this attribute is only to provide an information about
the range of valid identifiers that can be written to the
flash_sync_strobe attribute. Wouldn't splitting this to many attributes
be an unnecessary inflation of sysfs files?


Ok a list of allowed values to write is acceptable, as long as it is not
hard to parse and always is space separated.


Is a new line character also acceptable as a delimiter?


Apart from it, we have also flash_faults attribute, that currently
provides a space separated list of flash faults that have occurred.


That's crazy, what's to keep it from growing and growing to be larger
than is allowed to be read?


The number of possible faults is fixed to 9 currently. They are 
presented in the form of strings no longer currently than 40 characters.

There can be maximum 9 faults reported at a time, this is not a kind of
a log. This will allow to define roughly 100 types of faults, having
that PAGE_SIZE is 4096. I think this is far more than it is conceivable
for the simple LED flash device.


If we are to stick tightly to the one-value-per-file rule, then how
we should approach flash_faults case? Should the separate file be
dynamically created for each reported fault?


I think you need to use something other than sysfs here, sorry.

uevents for your faults?

thanks,

greg k-h



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


Re: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-20 Thread Greg KH
On Fri, Feb 20, 2015 at 08:56:11AM +0100, Jacek Anaszewski wrote:
 On 02/19/2015 10:40 PM, Greg KH wrote:
 On Thu, Feb 19, 2015 at 11:02:04AM +0200, Sakari Ailus wrote:
 On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:
 
 On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:
 Add a documentation of LED Flash class specific 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
 
 NAK-ed-by: Pavel Machek
 
 +What:/sys/class/leds/led/available_sync_leds
 +Date:February 2015
 +KernelVersion:   3.20
 +Contact: Jacek Anaszewski j.anaszew...@samsung.com
 +Description: read/write
 + Space separated list of LEDs available for flash strobe
 + synchronization, displayed in the format:
 +
 + led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.
 
 Multiple values per file, with all the problems we had in /proc. I
 assume led_id is an integer? What prevents space or dot in led name?
 
 Very good point. How about using a newline instead? That'd be a little bit
 easier to parse, too.
 
 No, please make it one value per-file, which is what sysfs requires.
 
 The purpose of this attribute is only to provide an information about
 the range of valid identifiers that can be written to the
 flash_sync_strobe attribute. Wouldn't splitting this to many attributes
 be an unnecessary inflation of sysfs files?

Ok a list of allowed values to write is acceptable, as long as it is not
hard to parse and always is space separated.

 Apart from it, we have also flash_faults attribute, that currently
 provides a space separated list of flash faults that have occurred.

That's crazy, what's to keep it from growing and growing to be larger
than is allowed to be read?

 If we are to stick tightly to the one-value-per-file rule, then how
 we should approach flash_faults case? Should the separate file be
 dynamically created for each reported fault?

I think you need to use something other than sysfs here, sorry.

uevents for your faults?

thanks,

greg k-h
--
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: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-19 Thread Jacek Anaszewski

On 02/18/2015 11:47 PM, Pavel Machek wrote:


On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:

Add a documentation of LED Flash class specific 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


NAK-ed-by: Pavel Machek


+What:  /sys/class/leds/led/available_sync_leds
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write


Here it should be 'read only', to be fixed.


+   Space separated list of LEDs available for flash strobe
+   synchronization, displayed in the format:
+
+   led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.


Multiple values per file, with all the problems we had in /proc. I
assume led_id is an integer?


Yes.


What prevents space or dot in led name?


Space can be forbidden by defining naming convention. The name comes
from the DT binding 'label' property and I don't see any problem in
forbidding space in it.

A dot in the name does not introduce parsing problems - simply the first
dot after digits separates led id from led name.

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


Re: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-19 Thread Sakari Ailus
On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:
 
 On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:
  Add a documentation of LED Flash class specific 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
 
 NAK-ed-by: Pavel Machek
 
  +What:  /sys/class/leds/led/available_sync_leds
  +Date:  February 2015
  +KernelVersion: 3.20
  +Contact:   Jacek Anaszewski j.anaszew...@samsung.com
  +Description:   read/write
  +   Space separated list of LEDs available for flash strobe
  +   synchronization, displayed in the format:
  +
  +   led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.
 
 Multiple values per file, with all the problems we had in /proc. I
 assume led_id is an integer? What prevents space or dot in led name?

Very good point. How about using a newline instead? That'd be a little bit
easier to parse, too.

-- 
Sakari Ailus
e-mail: sakari.ai...@iki.fi XMPP: sai...@retiisi.org.uk
--
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: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-19 Thread Greg KH
On Thu, Feb 19, 2015 at 11:02:04AM +0200, Sakari Ailus wrote:
 On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:
  
  On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:
   Add a documentation of LED Flash class specific 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
  
  NAK-ed-by: Pavel Machek
  
   +What:/sys/class/leds/led/available_sync_leds
   +Date:February 2015
   +KernelVersion:   3.20
   +Contact: Jacek Anaszewski j.anaszew...@samsung.com
   +Description: read/write
   + Space separated list of LEDs available for flash strobe
   + synchronization, displayed in the format:
   +
   + led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.
  
  Multiple values per file, with all the problems we had in /proc. I
  assume led_id is an integer? What prevents space or dot in led name?
 
 Very good point. How about using a newline instead? That'd be a little bit
 easier to parse, too.

No, please make it one value per-file, which is what sysfs requires.

thanks,

greg k-h
--
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: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-19 Thread Jacek Anaszewski

On 02/19/2015 10:40 PM, Greg KH wrote:

On Thu, Feb 19, 2015 at 11:02:04AM +0200, Sakari Ailus wrote:

On Wed, Feb 18, 2015 at 11:47:47PM +0100, Pavel Machek wrote:


On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:

Add a documentation of LED Flash class specific 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


NAK-ed-by: Pavel Machek


+What:  /sys/class/leds/led/available_sync_leds
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write
+   Space separated list of LEDs available for flash strobe
+   synchronization, displayed in the format:
+
+   led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.


Multiple values per file, with all the problems we had in /proc. I
assume led_id is an integer? What prevents space or dot in led name?


Very good point. How about using a newline instead? That'd be a little bit
easier to parse, too.


No, please make it one value per-file, which is what sysfs requires.


The purpose of this attribute is only to provide an information about
the range of valid identifiers that can be written to the
flash_sync_strobe attribute. Wouldn't splitting this to many attributes
be an unnecessary inflation of sysfs files?

Apart from it, we have also flash_faults attribute, that currently
provides a space separated list of flash faults that have occurred.
If we are to stick tightly to the one-value-per-file rule, then how
we should approach flash_faults case? Should the separate file be
dynamically created for each reported fault?

--
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 v11 01/20] leds: flash: document sysfs interface

2015-02-18 Thread Jacek Anaszewski
Add a documentation of LED Flash class specific 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/ABI/testing/sysfs-class-led-flash |  104 +++
 1 file changed, 104 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-class-led-flash

diff --git a/Documentation/ABI/testing/sysfs-class-led-flash 
b/Documentation/ABI/testing/sysfs-class-led-flash
new file mode 100644
index 000..c941d21
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-class-led-flash
@@ -0,0 +1,104 @@
+What:  /sys/class/leds/led/flash_brightness
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write
+   Set the brightness of this LED in the flash strobe mode, in
+   microamperes. The file is created only for the flash LED devices
+   that support setting flash brightness.
+
+   The value is between 0 and
+   /sys/class/leds/led/max_flash_brightness.
+
+What:  /sys/class/leds/led/max_flash_brightness
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read only
+   Maximum brightness level for this LED in the flash strobe mode,
+   in microamperes.
+
+What:  /sys/class/leds/led/flash_timeout
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write
+   Hardware timeout for flash, in microseconds. The flash strobe
+   is stopped after this period of time has passed from the start
+   of the strobe. The file is created only for the flash LED
+   devices that support setting flash timeout.
+
+What:  /sys/class/leds/led/max_flash_timeout
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read only
+   Maximum flash timeout for this LED, in microseconds.
+
+What:  /sys/class/leds/led/flash_strobe
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write
+   Flash strobe state. When written with 1 it triggers flash strobe
+   and when written with 0 it turns the flash off.
+
+   On read 1 means that flash is currently strobing and 0 means
+   that flash is off.
+
+What:  /sys/class/leds/led/flash_sync_strobe
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write
+   Identifier of the LED to synchronize the flash strobe with.
+   0 stands for no synchronization. Usually the LEDs available for
+   flash strobing are driven by the same flash LED device. The LEDs
+   available for flash strobe synchronization can be obtained by
+   reading the /sys/class/leds/led/available_sync_leds attribute.
+
+   On read the currently selected LED is displayed in the format:
+   led_id.led_name
+
+What:  /sys/class/leds/led/available_sync_leds
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read/write
+   Space separated list of LEDs available for flash strobe
+   synchronization, displayed in the format:
+
+   led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.
+
+What:  /sys/class/leds/led/flash_fault
+Date:  February 2015
+KernelVersion: 3.20
+Contact:   Jacek Anaszewski j.anaszew...@samsung.com
+Description:   read only
+   Space separated list of flash faults that may have occurred.
+   Flash faults are re-read after strobing the flash. Possible
+   flash faults:
+
+   * led-over-voltage - flash controller voltage to the flash LED
+   has exceeded the limit specific to the flash controller
+   * flash-timeout-exceeded - 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
+   * controller-over-temperature - the flash controller has
+   overheated
+   * controller-short-circuit - the short circuit protection
+   of the flash controller has been triggered
+   * led-power-supply-over-current - current in the LED power
+   supply has exceeded the limit specific to the flash
+   controller
+   * 

0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface

2015-02-18 Thread Pavel Machek

On Wed 2015-02-18 17:20:22, Jacek Anaszewski wrote:
 Add a documentation of LED Flash class specific 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

NAK-ed-by: Pavel Machek

 +What:/sys/class/leds/led/available_sync_leds
 +Date:February 2015
 +KernelVersion:   3.20
 +Contact: Jacek Anaszewski j.anaszew...@samsung.com
 +Description: read/write
 + Space separated list of LEDs available for flash strobe
 + synchronization, displayed in the format:
 +
 + led1_id.led1_name led2_id.led2_name led3_id.led3_name etc.

Multiple values per file, with all the problems we had in /proc. I
assume led_id is an integer? What prevents space or dot in led name?

   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