From: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
To: Bryan Wu <cooloney@gmail.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
milo kim <milo.kim@ti.com>,
media-workshop@linuxtv.org, Sakari Ailus <sakari.ailus@iki.fi>,
Thierry Reding <thierry.reding@gmail.com>,
Oliver Schinagl <oliver+list@schinagl.nl>,
linux-pwm@vger.kernel.org, Hans Verkuil <hansverk@cisco.com>,
Bryan Wu <bryan.wu@canonical.com>,
Richard Purdie <rpurdie@rpsys.net>,
Linux LED Subsystem <linux-leds@vger.kernel.org>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: [media-workshop] V2: Agenda for the Edinburgh mini-summit
Date: Tue, 15 Oct 2013 21:03:33 +0200 [thread overview]
Message-ID: <525D9185.4000305@gmail.com> (raw)
In-Reply-To: <CAK5ve-+N=GyNk-ryR0LbiUcT0TErFTwK60-vHNEf7112dNyh_A@mail.gmail.com>
On 10/15/2013 08:37 PM, Bryan Wu wrote:
> On Fri, Oct 11, 2013 at 12:38 AM, Laurent Pinchart
>> > <laurent.pinchart@ideasonboard.com> wrote:
[...]
>> > The biggest reason why we're not fond of sysfs-based APIs for media devices is
>> > that they can't provide atomicity. There's no way to set multiple parameters
>> > in a single operation.
I wonder what are your concerns WRT atomicity about usage of flash
devices in
camera subsystems ? Is atomicity really so important here ? I don't
disagree with
this argument, but I'm curious if you had any specific use cases in mind ?
>> > We can't get rid of the sysfs LEDs API, but maybe we could have a unified
>> > kernel LED/flash subsystem that would provide both a sysfs-based API to ensure
One of my original concerns were that same chip (often a multi-function
device)
can be used as a camera Flash or an ordinary LED indicator. It depends
on physical
system a chip is deployed, LED current configured, etc. So it appears
bad from
design POV to have different drivers for different purposes of same device.
I believe led API should be a lower level layer, so each LED can be used as
a simple indicator.
>> > compatibility with current userspace software and an ioctl-based API (possibly
>> > through V4L2 controls). That way LED/flash devices would be registered with a
>> > single subsystem, and the corresponding drivers won't have to care about the
>> > API exposed to userspace. That would require a major refactoring of the in-
>> > kernel APIs though.
>> >
>
> I agree this. I'm thinking about expanding the ledtrig-camera.c
> created by Milo Kim. This trigger will provide flashing and strobing
> control of a LED device and for sure the LED device driver like
> drivers/leds/leds-lm355x.c.
>
> So we basically can do this:
> 1. add V4L2 Flash subdev into ledtrig-camera.c. So this trigger driver
> can provide trigger API to kernel drivers as well as V4L2 Flash API to
> userspace.
That sounds reasonable to me, I guess this could be a kernel config option,
so one can disable dependency on videodev module and the like at the LED
module if V4L2 flash API is not needed.
> 2. add the real flash torch functions into LED device driver like
> leds-lm355x.c, this driver will still provide sysfs interface and
> extended flash/torch control sysfs interface as well.
+1
> I'm not sure about whether we need some change in V4L2 internally. But
> actually Andrzej Hajda's patchset is quite straightforward, but we
> just need put those V4L2 Flash API into a LED trigger driver and the
> real flash/torch operation in a LED device driver.
I guess some changes will be needed at both subsystems, but these are
details. Such high level design sounds good to me.
Sorry for not replying earlier in this thread, have been busy and
travelling for last two weeks.
--
Thanks,
Sylwester
next prev parent reply other threads:[~2013-10-15 19:03 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <201309101134.32883.hansverk@cisco.com>
[not found] ` <52405427.6000002@samsung.com>
[not found] ` <52406E5C.2020709@schinagl.nl>
2013-09-23 20:27 ` V2: Agenda for the Edinburgh mini-summit 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 [this message]
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:54 ` Bryan Wu
2013-10-16 23:56 ` Bryan Wu
2013-10-17 0:12 ` Andy Walls
2013-10-19 0:17 ` Bryan Wu
[not found] ` <CAPybu_2KRF_VHkjCEV8d7YOaZo27QJ=TxGTsUOeWO5X_tp8Ozw@mail.gmail.com>
2013-10-21 18:40 ` Bryan Wu
2013-10-21 18:52 ` Hans Verkuil
[not found] ` <CAPybu_1NZ-CfNkMt_stev5L9oL1MqSAhV03jQW7QoF=q4c2JzQ@mail.gmail.com>
2013-10-21 19:39 ` Hans Verkuil
2013-10-22 9:50 ` Hans Verkuil
2013-09-24 9:32 ` Thierry Reding
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=525D9185.4000305@gmail.com \
--to=sylvester.nawrocki@gmail.com \
--cc=bryan.wu@canonical.com \
--cc=cooloney@gmail.com \
--cc=hansverk@cisco.com \
--cc=laurent.pinchart@ideasonboard.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=milo.kim@ti.com \
--cc=oliver+list@schinagl.nl \
--cc=rpurdie@rpsys.net \
--cc=sakari.ailus@iki.fi \
--cc=thierry.reding@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 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).