From: mturquette@linaro.org (Mike Turquette)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 1/7] media: V4L2: add temporary clock helpers
Date: Thu, 11 Apr 2013 16:19:23 -0700 [thread overview]
Message-ID: <20130411231923.7915.17215@quantum> (raw)
In-Reply-To: <13951098.tvATHWRRmI@avalon>
Quoting Laurent Pinchart (2013-04-11 15:35:38)
> Hi Mike,
>
> On Thursday 11 April 2013 11:52:58 Mike Turquette wrote:
> > Quoting Barry Song (2013-04-11 01:59:28)
> > > 2013/4/11 Guennadi Liakhovetski <g.liakhovetski@gmx.de>:
> > > > On Thu, 11 Apr 2013, Barry Song wrote:
> > > >> 2013/4/11 Guennadi Liakhovetski <g.liakhovetski@gmx.de>:
> > > >> > On Thu, 11 Apr 2013, Barry Song wrote:
> > > >> >> Hi Guennadi,
> > > >> >>
> > > >> >> > Typical video devices like camera sensors require an external
> > > >> >> > clock source. Many such devices cannot even access their hardware
> > > >> >> > registers without a running clock. These clock sources should be
> > > >> >> > controlled by their consumers. This should be performed, using the
> > > >> >> > generic clock framework. Unfortunately so far only very few
> > > >> >> > systems have been ported to that framework. This patch adds a set
> > > >> >> > of temporary helpers, mimicking the generic clock API, to V4L2.
> > > >> >> > Platforms, adopting the clock API, should switch to using it.
> > > >> >> > Eventually this temporary API should be removed.
> > > >> >> >
> > > >> >> > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
> > > >> >> > ---
> > > >> >>
> > > >> >> for your patch 1/8 and 3/8, i think it makes a lot of senses to let
> > > >> >> the object manages its own clock by itself.
> > > >> >> is it possible for us to implement v4l2-clk.c directly as an
> > > >> >> instance of standard clk driver for those systems which don't have
> > > >> >> generic clock, and remove the V4L2 clock APIs like v4l2_clk_get,
> > > >> >> v4l2_clk_enable from the first day? i mean v4l2-clk.c becomes a temp
> > > >> >> and fake clock controller driver. finally, after people have
> > > >> >> generically clk, remove it.
> > > >> >
> > > >> > I don't think you can force-enable the CFF on systems, that don't
> > > >> > support it, e.g. PXA.
> > > >>
> > > >> yes. we can. clock is only a framework, has it any limitation to
> > > >> implement a driver instance on any platform?
> > > >
> > > > So, you enable CFF, it provides its own clk_* implementation like
> > > > clk_get_rate() etc. Now, PXA already has it defined in
> > > > arch/arm/mach-pxa/clock.c. Don't think this is going to fly.
> > >
> > > agree.
> >
> > I came into this thread late and don't have the actual patches in my inbox
> > for review. That said, I don't understand why V4L2 cares about the clk
> > framework *implementation*? The clk.h api is the same for platforms using
> > the common struct clk and those still using the legacy method of defining
> > their own struct clk. If drivers are only consumers of the clk.h api then
> > the implementation underneath should not matter.
>
> The issue on non-CCF systems is that devices usually can't register clocks
> dynamically. (Most of) those systems provide system clocks only through their
> clock API, without a way for the camera IP core to hook up the clock(s) it can
> provide to the camera sensor. On the consumer side we don't care much about
> the clock framework implementation, but on the provider side we need a
> framework that allows registering non-system clocks at runtime.
>
Yes, you do care about the clock framework implementation if you are a
clock provider. I still haven't gone through the archives to find these
patches but I hope that any dependency on CONFIG_COMMON_CLK is
conditionalized to have the smallest impact possible. Making v4l2 as a
whole depend on COMMON_CLK might be a bit overkill compared to just
making individual camera drivers depend on it.
Regards,
Mike
> --
> Regards,
>
> Laurent Pinchart
next prev parent reply other threads:[~2013-04-11 23:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAGsJ_4zCRBvEX9xEDCr27JLK6wYp_2T_wk2hzVjqpKinbL=9pg@mail.gmail.com>
[not found] ` <Pine.LNX.4.64.1304110921480.23859@axis700.grange>
2013-04-11 8:22 ` [PATCH v8 1/7] media: V4L2: add temporary clock helpers Barry Song
2013-04-11 8:36 ` Guennadi Liakhovetski
2013-04-11 8:59 ` Barry Song
2013-04-11 18:52 ` Mike Turquette
2013-04-11 20:14 ` Sylwester Nawrocki
2013-04-11 22:35 ` Laurent Pinchart
2013-04-11 23:19 ` Mike Turquette [this message]
2013-04-12 8:22 ` Laurent Pinchart
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=20130411231923.7915.17215@quantum \
--to=mturquette@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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).