linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jacek Anaszewski <j.anaszewski@samsung.com>
To: Sakari Ailus <sakari.ailus@iki.fi>
Cc: Pavel Machek <pavel@ucw.cz>, Greg KH <greg@kroah.com>,
	linux-leds@vger.kernel.org, linux-media@vger.kernel.org,
	devicetree@vger.kernel.org, kyungmin.park@samsung.com,
	cooloney@gmail.com, rpurdie@rpsys.net, s.nawrocki@samsung.com
Subject: Re: 0.led_name 2.other.led.name in /sysfs Re: [PATCH/RFC v11 01/20] leds: flash: document sysfs interface
Date: Fri, 27 Feb 2015 15:34:22 +0100	[thread overview]
Message-ID: <54F0806E.2040309@samsung.com> (raw)
In-Reply-To: <20150221105733.GO3915@valkosipuli.retiisi.org.uk>

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.anaszewski@samsung.com>
>>>>>>>> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
>>>>>>>> Cc: Bryan Wu <cooloney@gmail.com>
>>>>>>>> Cc: Richard Purdie <rpurdie@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.anaszewski@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

  parent reply	other threads:[~2015-02-27 14:34 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-18 16:20 [PATCH/RFC v11 00/20] LED / flash API integration Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 01/20] leds: flash: document sysfs interface Jacek Anaszewski
2015-02-18 22:47   ` 0.led_name 2.other.led.name in /sysfs " Pavel Machek
2015-02-19  8:26     ` Jacek Anaszewski
2015-02-19  9:02     ` Sakari Ailus
2015-02-19 21:40       ` Greg KH
2015-02-20  7:56         ` Jacek Anaszewski
2015-02-20  8:16           ` Pavel Machek
2015-02-20  8:55             ` Jacek Anaszewski
2015-02-20 15:36           ` Greg KH
2015-02-20 16:15             ` Jacek Anaszewski
2015-02-21 19:42               ` Greg KH
2015-02-20 20:57             ` Pavel Machek
2015-02-21 10:57               ` Sakari Ailus
2015-02-21 19:42                 ` Greg KH
2015-02-27 14:34                 ` Jacek Anaszewski [this message]
2015-03-02 12:54                   ` Sakari Ailus
2015-03-02 13:56                     ` Jacek Anaszewski
2015-03-02 15:12                     ` Pavel Machek
2015-02-18 16:20 ` [PATCH/RFC v11 02/20] leds: flash: Improve sync strobe related sysfs attributes Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 03/20] Documentation: leds: Add description of LED Flash class extension Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 04/20] dt-binding: leds: Add common LED DT bindings macros Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 05/20] mfd: max77693: Modify flash cell name identifiers Jacek Anaszewski
2015-02-19  9:21   ` Sakari Ailus
2015-02-18 16:20 ` [PATCH/RFC v11 06/20] mfd: max77693: Remove struct max77693_led_platform_data Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 07/20] mfd: max77693: add TORCH_IOUT_MASK macro Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 08/20] mfd: max77693: Adjust FLASH_EN_SHIFT and TORCH_EN_SHIFT macros Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 09/20] leds: Add support for max77693 mfd flash cell Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 10/20] DT: Add documentation for the mfd Maxim max77693 Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 11/20] leds: Add driver for AAT1290 current regulator Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 12/20] of: Add Skyworks Solutions, Inc. vendor prefix Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 13/20] DT: Add documentation for the Skyworks AAT1290 Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 14/20] exynos4-is: Add support for v4l2-flash subdevs Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 15/20] v4l2-ctrls: Add V4L2_CID_FLASH_SYNC_STROBE control Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 16/20] media: Add registration helpers for V4L2 flash sub-devices Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 17/20] Documentation: leds: Add description of v4l2-flash sub-device Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 18/20] DT: Add documentation for exynos4-is 'flashes' property Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 19/20] leds: max77693: add support for V4L2 Flash sub-device Jacek Anaszewski
2015-02-18 16:20 ` [PATCH/RFC v11 20/20] leds: aat1290: " Jacek Anaszewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54F0806E.2040309@samsung.com \
    --to=j.anaszewski@samsung.com \
    --cc=cooloney@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=greg@kroah.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=rpurdie@rpsys.net \
    --cc=s.nawrocki@samsung.com \
    --cc=sakari.ailus@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).