All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacek Anaszewski <j.anaszewski@samsung.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: Sakari Ailus <sakari.ailus@iki.fi>,
	pali.rohar@gmail.com, sre@debian.org, sre@ring0.de,
	kernel list <linux-kernel@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	linux-omap@vger.kernel.org, tony@atomide.com, khilman@kernel.org,
	aaro.koskinen@iki.fi, freemangordon@abv.bg,
	bcousson@baylibre.com, robh+dt@kernel.org, pawel.moll@arm.com,
	mark.rutland@arm.com, ijc+devicetree@hellion.org.uk,
	galak@codeaurora.org, devicetree@vger.kernel.org,
	linux-media@vger.kernel.org
Subject: Re: [RFC] adp1653: Add device tree bindings for LED controller
Date: Tue, 18 Nov 2014 11:04:56 +0100	[thread overview]
Message-ID: <546B19C8.2090008@samsung.com> (raw)
In-Reply-To: <20141118084603.GC4059@amd>

On 11/18/2014 09:46 AM, Pavel Machek wrote:
> On Tue 2014-11-18 09:09:09, Jacek Anaszewski wrote:
>> Hi Pavel, Sakari,
>>
>> On 11/17/2014 03:58 PM, Sakari Ailus wrote:
>>> Hi Pavel,
>>>
>>> On Sun, Nov 16, 2014 at 08:59:28AM +0100, Pavel Machek wrote:
>>>> For device tree people: Yes, I know I'll have to create file in
>>>> documentation, but does the binding below look acceptable?
>>>>
>>>> I'll clean up driver code a bit more, remove the printks. Anything
>>>> else obviously wrong?
>>>
>>> Jacek Anaszewski is working on flash support for LED devices. I think it'd
>>> be good to sync the DT bindings for the two, as the types of devices
>>> supported by the LED API and the V4L2 flash API are quite similar.
>>>
>>> Cc Jacek.
>>
>> I've already submitted a patch [1] that updates leds common bindings.
>> I hasn't been merged yet, as the related LED Flash class patch [2]
>> still needs some indicator leds related discussion [3].
>>
>> I think this is a good moment to discuss the flash related led common
>> bindings.
>
> Part of problem is that adp1653 is not regarded as "LED" device by
> current kernel driver.

It doesn't prevent us from keeping the flash devices related
DT bindings unified across kernel subsystems. The DT bindings
docs for the adp1653 could just provide a reference to the
led/common.txt bindings. In the future, when LED Flash
class will be merged, all the V4L2 Flash drivers might be
moved to the LED subsystem to gain the LED subsystem support.

>> [1] http://www.spinics.net/lists/linux-leds/msg02121.html
>
> @@ -3,6 +3,17 @@ Common leds properties.
>   Optional properties for child nodes:
>   - label : The label for this LED.  If omitted, the label is
>     taken from the node name (excluding the unit address).
> +- iout-torch : Array of maximum intensities in microamperes of the
>   torch
> +	led currents in order from sub-led 0 to N-1, where N is the
>   number
> +	of torch sub-leds exposed by the device
> +- iout-flash : Array of maximum intensities in microamperes of the
>   flash
> +	led currents in order from sub-led 0 to N-1, where N is the
>   number
> +	of flash sub-leds exposed by the device
> +- iout-indicator : Array of maximum intensities in microamperes of
> +  the indicator led currents in order from sub-led 0 to N-1,
> +  where N is the number of indicator sub-leds exposed by the device
> +- flash-timeout : timeout in microseconds after which flash led
> +  is turned off
>
>   - linux,default-trigger :  This parameter, if present, is a
>       string defining the trigger assigned to the LED.  Current
>       triggers are:
> @@ -19,5 +30,10 @@ Examples:
>   system-status {
>   	       label = "Status";
>   	       linux,default-trigger = "heartbeat";
> +	       iout-torch = <500 500>;
> +	       iout-flash = <1000 1000>;
> +	       iout-indicator = <100 100>;
> +	       flash-timeout = <1000>;
> +
> 	...
>   };
>
> I don't get it; system-status describes single LED, why are iout-torch
> (and friends) arrays of two?

Some devices can control more than one led. The array is for such
purposes. The system-status should be probably renamed to
something more generic for both common leds and flash leds,
e.g. system-led.

> Also, at least on adp1653, these are actually two leds -- white and
> red. Torch and flash is white led, indicator is red led.

Then you should define three properties:

iout-torch = <[uA]>;
iout-flash = <[uA]>;
iout-indicator = <[uA]>;

iout-torch and iout-flash properties would determine the current
for the white led in the torch and flash modes respectively and
the iout-indicator property would determine the current for
the indicator led.

>> [2] http://www.spinics.net/lists/linux-media/msg83100.html
>> [3] http://www.spinics.net/lists/linux-leds/msg02472.html
>
> What device are you using for testing? Can you cc me on future
> patches?

I am using max77693 [1] and aat1290 [2]. OK, I will add you on cc.

> Why do we need complex "flash LED class" support, and where is the
> V4L2 glue?

The rationale for unification of the LED and V4L2 Flash API
can be found in the discussion [3]. The glue is the v4l2-flash [4]
module which exposes a sub-device, that controls a LED Flash class
device with use of LED Flash class API.

The v4l2-flash sub-device registers with v4l2-async API
in a media device. Exemplary support for v4l2-flash
sub-devices is added to the exynos4-is driver in the patch [5].

Best Regards,
Jacek Anaszewski

[1] http://www.spinics.net/lists/linux-leds/msg02326.html
[2] http://www.spinics.net/lists/linux-media/msg81079.html
[3] http://www.spinics.net/lists/linux-media/msg69012.html
[4] http://www.spinics.net/lists/linux-leds/msg02322.html
[5] http://www.spinics.net/lists/linux-leds/msg02323.html

WARNING: multiple messages have this Message-ID (diff)
From: j.anaszewski@samsung.com (Jacek Anaszewski)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC] adp1653: Add device tree bindings for LED controller
Date: Tue, 18 Nov 2014 11:04:56 +0100	[thread overview]
Message-ID: <546B19C8.2090008@samsung.com> (raw)
In-Reply-To: <20141118084603.GC4059@amd>

On 11/18/2014 09:46 AM, Pavel Machek wrote:
> On Tue 2014-11-18 09:09:09, Jacek Anaszewski wrote:
>> Hi Pavel, Sakari,
>>
>> On 11/17/2014 03:58 PM, Sakari Ailus wrote:
>>> Hi Pavel,
>>>
>>> On Sun, Nov 16, 2014 at 08:59:28AM +0100, Pavel Machek wrote:
>>>> For device tree people: Yes, I know I'll have to create file in
>>>> documentation, but does the binding below look acceptable?
>>>>
>>>> I'll clean up driver code a bit more, remove the printks. Anything
>>>> else obviously wrong?
>>>
>>> Jacek Anaszewski is working on flash support for LED devices. I think it'd
>>> be good to sync the DT bindings for the two, as the types of devices
>>> supported by the LED API and the V4L2 flash API are quite similar.
>>>
>>> Cc Jacek.
>>
>> I've already submitted a patch [1] that updates leds common bindings.
>> I hasn't been merged yet, as the related LED Flash class patch [2]
>> still needs some indicator leds related discussion [3].
>>
>> I think this is a good moment to discuss the flash related led common
>> bindings.
>
> Part of problem is that adp1653 is not regarded as "LED" device by
> current kernel driver.

It doesn't prevent us from keeping the flash devices related
DT bindings unified across kernel subsystems. The DT bindings
docs for the adp1653 could just provide a reference to the
led/common.txt bindings. In the future, when LED Flash
class will be merged, all the V4L2 Flash drivers might be
moved to the LED subsystem to gain the LED subsystem support.

>> [1] http://www.spinics.net/lists/linux-leds/msg02121.html
>
> @@ -3,6 +3,17 @@ Common leds properties.
>   Optional properties for child nodes:
>   - label : The label for this LED.  If omitted, the label is
>     taken from the node name (excluding the unit address).
> +- iout-torch : Array of maximum intensities in microamperes of the
>   torch
> +	led currents in order from sub-led 0 to N-1, where N is the
>   number
> +	of torch sub-leds exposed by the device
> +- iout-flash : Array of maximum intensities in microamperes of the
>   flash
> +	led currents in order from sub-led 0 to N-1, where N is the
>   number
> +	of flash sub-leds exposed by the device
> +- iout-indicator : Array of maximum intensities in microamperes of
> +  the indicator led currents in order from sub-led 0 to N-1,
> +  where N is the number of indicator sub-leds exposed by the device
> +- flash-timeout : timeout in microseconds after which flash led
> +  is turned off
>
>   - linux,default-trigger :  This parameter, if present, is a
>       string defining the trigger assigned to the LED.  Current
>       triggers are:
> @@ -19,5 +30,10 @@ Examples:
>   system-status {
>   	       label = "Status";
>   	       linux,default-trigger = "heartbeat";
> +	       iout-torch = <500 500>;
> +	       iout-flash = <1000 1000>;
> +	       iout-indicator = <100 100>;
> +	       flash-timeout = <1000>;
> +
> 	...
>   };
>
> I don't get it; system-status describes single LED, why are iout-torch
> (and friends) arrays of two?

Some devices can control more than one led. The array is for such
purposes. The system-status should be probably renamed to
something more generic for both common leds and flash leds,
e.g. system-led.

> Also, at least on adp1653, these are actually two leds -- white and
> red. Torch and flash is white led, indicator is red led.

Then you should define three properties:

iout-torch = <[uA]>;
iout-flash = <[uA]>;
iout-indicator = <[uA]>;

iout-torch and iout-flash properties would determine the current
for the white led in the torch and flash modes respectively and
the iout-indicator property would determine the current for
the indicator led.

>> [2] http://www.spinics.net/lists/linux-media/msg83100.html
>> [3] http://www.spinics.net/lists/linux-leds/msg02472.html
>
> What device are you using for testing? Can you cc me on future
> patches?

I am using max77693 [1] and aat1290 [2]. OK, I will add you on cc.

> Why do we need complex "flash LED class" support, and where is the
> V4L2 glue?

The rationale for unification of the LED and V4L2 Flash API
can be found in the discussion [3]. The glue is the v4l2-flash [4]
module which exposes a sub-device, that controls a LED Flash class
device with use of LED Flash class API.

The v4l2-flash sub-device registers with v4l2-async API
in a media device. Exemplary support for v4l2-flash
sub-devices is added to the exynos4-is driver in the patch [5].

Best Regards,
Jacek Anaszewski

[1] http://www.spinics.net/lists/linux-leds/msg02326.html
[2] http://www.spinics.net/lists/linux-media/msg81079.html
[3] http://www.spinics.net/lists/linux-media/msg69012.html
[4] http://www.spinics.net/lists/linux-leds/msg02322.html
[5] http://www.spinics.net/lists/linux-leds/msg02323.html

  reply	other threads:[~2014-11-18 10:04 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-16  7:59 [RFC] adp1653: Add device tree bindings for LED controller Pavel Machek
2014-11-16  7:59 ` Pavel Machek
2014-11-16  8:11 ` Lars-Peter Clausen
2014-11-16  8:11   ` Lars-Peter Clausen
     [not found]   ` <54685C18.1020109-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-11-16  8:43     ` Pavel Machek
2014-11-16  8:43       ` Pavel Machek
2014-11-16  8:43       ` Pavel Machek
2014-11-16 10:09 ` Andreas Färber
2014-11-16 10:09   ` Andreas Färber
2014-11-16 10:09   ` Andreas Färber
2014-11-16 10:15   ` Pavel Machek
2014-11-16 10:15     ` Pavel Machek
2014-11-17  8:43 ` Pali Rohár
2014-11-17  8:43   ` Pali Rohár
2014-11-17  8:43   ` Pali Rohár
2014-11-17 10:05   ` Pavel Machek
2014-11-17 10:05     ` Pavel Machek
2014-11-17 10:09     ` Pali Rohár
2014-11-17 10:09       ` Pali Rohár
2014-11-17 10:09       ` Pali Rohár
2014-11-17 10:15       ` Pavel Machek
2014-11-17 10:15         ` Pavel Machek
2014-11-17 14:55         ` Tony Lindgren
2014-11-17 14:55           ` Tony Lindgren
2014-11-17 15:01           ` Pali Rohár
2014-11-17 15:01             ` Pali Rohár
2014-11-17 15:04             ` Sakari Ailus
2014-11-17 15:04               ` Sakari Ailus
     [not found]               ` <20141117150407.GP8907-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2014-11-17 15:15                 ` Pali Rohár
2014-11-17 15:15                   ` Pali Rohár
2014-11-17 15:15                   ` Pali Rohár
2014-11-22 18:45                   ` Ivaylo Dimitrov
2014-11-22 18:45                     ` Ivaylo Dimitrov
2014-11-17 15:06             ` Tony Lindgren
2014-11-17 15:06               ` Tony Lindgren
2014-11-17 15:21               ` Pali Rohár
2014-11-17 15:21                 ` Pali Rohár
     [not found]               ` <20141117150617.GD7046-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2014-11-18 18:35                 ` Pavel Machek
2014-11-18 18:35                   ` Pavel Machek
2014-11-18 18:35                   ` Pavel Machek
2014-11-19 18:01                   ` Sakari Ailus
2014-11-19 18:01                     ` Sakari Ailus
2014-11-17 14:58 ` Sakari Ailus
2014-11-17 14:58   ` Sakari Ailus
     [not found]   ` <20141117145857.GO8907-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2014-11-18  8:09     ` Jacek Anaszewski
2014-11-18  8:09       ` Jacek Anaszewski
2014-11-18  8:09       ` Jacek Anaszewski
     [not found]       ` <546AFEA5.9020000-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-11-18  8:46         ` Pavel Machek
2014-11-18  8:46           ` Pavel Machek
2014-11-18  8:46           ` Pavel Machek
2014-11-18 10:04           ` Jacek Anaszewski [this message]
2014-11-18 10:04             ` Jacek Anaszewski
2014-11-18 11:32             ` Pavel Machek
2014-11-18 11:32               ` Pavel Machek
2014-11-18 12:52               ` Jacek Anaszewski
2014-11-18 12:52                 ` Jacek Anaszewski
2014-11-18 13:21                 ` Pavel Machek
2014-11-18 13:21                   ` Pavel Machek
2014-11-18 16:02                   ` Jacek Anaszewski
2014-11-18 16:02                     ` Jacek Anaszewski
2014-11-18 16:51                     ` Pavel Machek
2014-11-18 16:51                       ` Pavel Machek
2014-11-19  9:45                       ` Jacek Anaszewski
2014-11-19  9:45                         ` Jacek Anaszewski
2014-11-19  9:45                         ` Jacek Anaszewski
2014-11-19 17:53                         ` Sakari Ailus
2014-11-19 17:53                           ` Sakari Ailus
2014-11-20  9:21                           ` Jacek Anaszewski
2014-11-20  9:21                             ` Jacek Anaszewski
2014-11-20 12:13                           ` Pavel Machek
2014-11-20 12:13                             ` Pavel Machek
2014-11-20 12:12                         ` Pavel Machek
2014-11-20 12:12                           ` Pavel Machek
2014-11-20 12:48                           ` Jacek Anaszewski
2014-11-20 12:48                             ` Jacek Anaszewski
2014-11-20 12:38                         ` Jacek Anaszewski
2014-11-20 12:38                           ` Jacek Anaszewski
2014-11-18  8:50       ` Pavel Machek
2014-11-18  8:50         ` Pavel Machek

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=546B19C8.2090008@samsung.com \
    --to=j.anaszewski@samsung.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=bcousson@baylibre.com \
    --cc=devicetree@vger.kernel.org \
    --cc=freemangordon@abv.bg \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pali.rohar@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=pawel.moll@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=sakari.ailus@iki.fi \
    --cc=sre@debian.org \
    --cc=sre@ring0.de \
    --cc=tony@atomide.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.