All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Cc: Oliver Schinagl <oliver+list@schinagl.nl>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Hans Verkuil <hansverk@cisco.com>,
	"media-workshop@linuxtv.org" <media-workshop@linuxtv.org>,
	Sakari Ailus <sakari.ailus@iki.fi>, Bryan Wu <cooloney@gmail.com>,
	Richard Purdie <rpurdie@rpsys.net>,
	linux-leds@vger.kernel.org, linux-pwm@vger.kernel.org,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: V2: Agenda for the Edinburgh mini-summit
Date: Tue, 24 Sep 2013 11:32:29 +0200	[thread overview]
Message-ID: <20130924093229.GA19426@ulmo> (raw)
In-Reply-To: <5240A41A.6050207@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3161 bytes --]

Resending using Bryan's correct email address.

On Mon, Sep 23, 2013 at 10:27:06PM +0200, Sylwester Nawrocki wrote:
> On 09/23/2013 06:37 PM, Oliver Schinagl wrote:
> >On 09/23/13 16:45, Sylwester Nawrocki wrote:
> >>Hi,
> >>
> >>I would like to have a short discussion on LED flash devices support
> >>in the kernel. Currently there are two APIs: the V4L2 and LED class
> >>API exposed by the kernel, which I believe is not good from user space
> >>POV. Generic applications will need to implement both APIs. I think we
> >>should decide whether to extend the led class API to add support for
> >>more advanced LED controllers there or continue to use the both APIs
> >>with overlapping functionality.
> >>There has been some discussion about this on the ML, but without any
> >>consensus reached [1].
> >
> >What about the linux-pwm framework and its support for the backlight via
> >dts?
> >
> >Or am I talking way to uninformed here. Copying backlight to flashlight
> >with some minor modification sounds sensible in a way...
> 
> I'd assume we don't need yet another user interface for the LEDs ;) AFAICS
> the PWM subsystem exposes pretty much raw interface in sysfs. The PWM LED
> controllers are already handled in the leds-class API, there is the
> leds_pwm
> driver (drivers/leds/leds-pwm.c).
> 
> I'm adding linux-pwm and linux-leds maintainers at Cc so someone may correct
> me if I got anything wrong.

The PWM subsystem is most definitely not a good fit for this. The only
thing it provides is a way for other drivers to access a PWM device and
use it for some specific purpose (pwm-backlight, leds-pwm).

The sysfs support is a convenience for people that needs to use a PWM in
a way for which no driver framework exists, or for which it doesn't make
sense to write a driver. Or for testing.

> Presumably, what we need is a few enhancements to support in a standard way
> devices like MAX77693, LM3560 or MAX8997.  There is already a led
> class driver
> for the MAX8997 LED controller (drivers/leds/leds-max8997.c), but it
> uses some
> device-specific sysfs attributes.
> 
> Thus similar devices are currently being handled by different subsystems.
> The split between the V4L2 Flash and the leds class API WRT to Flash LED
> controller drivers is included in RFC [1], it seems still up to date.
> 
> 
> >>[1] http://www.spinics.net/lists/linux-leds/msg00899.html

Perhaps it would make sense for V4L2 to be able to use a LED as exposed
by the LED subsystem and wrap it so that it can be integrated with V4L2?
If functionality is missing from the LED subsystem I suppose that could
be added.

If I understand correctly, the V4L2 subsystem uses LEDs as flashes for
camera devices. I can easily imagine that there are devices out there
which provide functionality beyond what a regular LED will provide. So
perhaps for things such as mobile phones, which typically use a plain
LED to illuminate the surroundings, an LED wrapped into something that
emulates the flash functionality could work. But I doubt that the LED
subsystem is a good fit for anything beyond that.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

  parent reply	other threads:[~2013-09-24  9:32 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-10  9:34 V2: Agenda for the Edinburgh mini-summit Hans Verkuil
     [not found] ` <52405427.6000002@samsung.com>
     [not found]   ` <52406E5C.2020709@schinagl.nl>
2013-09-23 20:27     ` Sylwester Nawrocki
2013-09-24  9:20       ` Thierry Reding
2013-10-07 21:06         ` Sakari Ailus
2013-10-07 22:24           ` [media-workshop] " Laurent Pinchart
2013-10-11  0:02             ` Bryan Wu
2013-10-11  7:38               ` Laurent Pinchart
2013-10-15 18:37                 ` Bryan Wu
2013-10-15 18:50                   ` Laurent Pinchart
2013-10-15 20:55                     ` Bryan Wu
2013-10-15 19:03                   ` Sylwester Nawrocki
2013-10-16  1:49                   ` Milo Kim
2013-10-16  1:49                     ` Milo Kim
2013-10-16 10:24                     ` Sylwester Nawrocki
2013-10-16 17:17                     ` Bryan Wu
2013-10-16 23:36                       ` Milo Kim
2013-10-16 23:36                         ` Milo Kim
2013-10-16 23:54                         ` Bryan Wu
2013-10-16 23:56                           ` Bryan Wu
2013-10-17  0:12                         ` Andy Walls
2013-10-19  0:17                           ` Bryan Wu
2013-10-19 20:25                             ` Ricardo Ribalda Delgado
2013-10-21 18:40                               ` Bryan Wu
2013-10-21 18:52                                 ` Hans Verkuil
2013-10-21 19:29                                   ` Ricardo Ribalda Delgado
2013-10-21 19:39                                     ` Hans Verkuil
2013-10-22  9:50                                   ` Hans Verkuil
2013-09-24  9:32       ` Thierry Reding [this message]
     [not found] ` <4425595.0oKxXFxdQl@avalon>
     [not found]   ` <201309241324.25660.hansverk@cisco.com>
     [not found]     ` <3968462.BF6ckOWXxj@avalon>
2013-09-27 22:07       ` Sakari Ailus
2013-09-27 22:30         ` Sakari Ailus

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=20130924093229.GA19426@ulmo \
    --to=thierry.reding@gmail.com \
    --cc=cooloney@gmail.com \
    --cc=hansverk@cisco.com \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=media-workshop@linuxtv.org \
    --cc=oliver+list@schinagl.nl \
    --cc=rpurdie@rpsys.net \
    --cc=s.nawrocki@samsung.com \
    --cc=sakari.ailus@iki.fi \
    --cc=sylvester.nawrocki@gmail.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.