* [PATCH v8 1/7] media: V4L2: add temporary clock helpers
[not found] ` <Pine.LNX.4.64.1304110921480.23859@axis700.grange>
@ 2013-04-11 8:22 ` Barry Song
2013-04-11 8:36 ` Guennadi Liakhovetski
0 siblings, 1 reply; 8+ messages in thread
From: Barry Song @ 2013-04-11 8:22 UTC (permalink / raw)
To: linux-arm-kernel
2013/4/11 Guennadi Liakhovetski <g.liakhovetski@gmx.de>:
> Hi Barry
>
> 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?
people have tried to move to common clk and generic framework for a
long time, now you still try to provide a v4l2 specific clock APIs, it
just makes v4l2 unacceptable and much complex.
>
> Thanks
> Guennadi
>
>> > v8: Updated both (C) dates
>>
>> > drivers/media/v4l2-core/Makefile | 2 +-
>> > drivers/media/v4l2-core/v4l2-clk.c | 177 ++++++++++++++++++++++++++++++++++++
>> > include/media/v4l2-clk.h | 54 +++++++++++
>> > 3 files changed, 232 insertions(+), 1 deletions(-)
>> > create mode 100644 drivers/media/v4l2-core/v4l2-clk.c
>> > create mode 100644 include/media/v4l2-clk.h
>>
>> > diff --git a/drivers/media/v4l2-core/Makefile b/drivers/media/v4l2-core/Makefile
>> > index aa50c46..628c630 100644
>> > --- a/drivers/media/v4l2-core/Makefile
>> > +++ b/drivers/media/v4l2-core/Makefile
>> > @@ -5,7 +5,7 @@
>> > tuner-objs := tuner-core.o
>>
>> > videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \
>> > - v4l2-event.o v4l2-ctrls.o v4l2-subdev.o
>> > + v4l2-event.o v4l2-ctrls.o v4l2-subdev.o v4l2-clk.o
>> > ifeq ($(CONFIG_COMPAT),y)
>> > videodev-objs += v4l2-compat-ioctl32.o
>> > endif
>> > diff --git a/drivers/media/v4l2-core/v4l2-clk.c b/drivers/media/v4l2-core/v4l2-clk.c
>> > new file mode 100644
>> > index 0000000..d7cc13e
>> > --- /dev/null
>> > +++ b/drivers/media/v4l2-core/v4l2-clk.c
>> > @@ -0,0 +1,177 @@
>>
>> -barry
-barry
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v8 1/7] media: V4L2: add temporary clock helpers
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
0 siblings, 1 reply; 8+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-11 8:36 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, 11 Apr 2013, Barry Song wrote:
> 2013/4/11 Guennadi Liakhovetski <g.liakhovetski@gmx.de>:
> > Hi Barry
> >
> > 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.
Thanks
Guennadi
> people have tried to move to common clk and generic framework for a
> long time, now you still try to provide a v4l2 specific clock APIs, it
> just makes v4l2 unacceptable and much complex.
>
> >
> > Thanks
> > Guennadi
> >
> >> > v8: Updated both (C) dates
> >>
> >> > drivers/media/v4l2-core/Makefile | 2 +-
> >> > drivers/media/v4l2-core/v4l2-clk.c | 177 ++++++++++++++++++++++++++++++++++++
> >> > include/media/v4l2-clk.h | 54 +++++++++++
> >> > 3 files changed, 232 insertions(+), 1 deletions(-)
> >> > create mode 100644 drivers/media/v4l2-core/v4l2-clk.c
> >> > create mode 100644 include/media/v4l2-clk.h
> >>
> >> > diff --git a/drivers/media/v4l2-core/Makefile b/drivers/media/v4l2-core/Makefile
> >> > index aa50c46..628c630 100644
> >> > --- a/drivers/media/v4l2-core/Makefile
> >> > +++ b/drivers/media/v4l2-core/Makefile
> >> > @@ -5,7 +5,7 @@
> >> > tuner-objs := tuner-core.o
> >>
> >> > videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \
> >> > - v4l2-event.o v4l2-ctrls.o v4l2-subdev.o
> >> > + v4l2-event.o v4l2-ctrls.o v4l2-subdev.o v4l2-clk.o
> >> > ifeq ($(CONFIG_COMPAT),y)
> >> > videodev-objs += v4l2-compat-ioctl32.o
> >> > endif
> >> > diff --git a/drivers/media/v4l2-core/v4l2-clk.c b/drivers/media/v4l2-core/v4l2-clk.c
> >> > new file mode 100644
> >> > index 0000000..d7cc13e
> >> > --- /dev/null
> >> > +++ b/drivers/media/v4l2-core/v4l2-clk.c
> >> > @@ -0,0 +1,177 @@
> >>
> >> -barry
>
> -barry
>
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v8 1/7] media: V4L2: add temporary clock helpers
2013-04-11 8:36 ` Guennadi Liakhovetski
@ 2013-04-11 8:59 ` Barry Song
2013-04-11 18:52 ` Mike Turquette
0 siblings, 1 reply; 8+ messages in thread
From: Barry Song @ 2013-04-11 8:59 UTC (permalink / raw)
To: linux-arm-kernel
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>:
>> > Hi Barry
>> >
>> > 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.
>
> Thanks
> Guennadi
>
>> people have tried to move to common clk and generic framework for a
>> long time, now you still try to provide a v4l2 specific clock APIs, it
>> just makes v4l2 unacceptable and much complex.
>>
>> >
>> > Thanks
>> > Guennadi
>> >
>> >> > v8: Updated both (C) dates
>> >>
>> >> > drivers/media/v4l2-core/Makefile | 2 +-
>> >> > drivers/media/v4l2-core/v4l2-clk.c | 177 ++++++++++++++++++++++++++++++++++++
>> >> > include/media/v4l2-clk.h | 54 +++++++++++
>> >> > 3 files changed, 232 insertions(+), 1 deletions(-)
>> >> > create mode 100644 drivers/media/v4l2-core/v4l2-clk.c
>> >> > create mode 100644 include/media/v4l2-clk.h
>> >>
>> >> > diff --git a/drivers/media/v4l2-core/Makefile b/drivers/media/v4l2-core/Makefile
>> >> > index aa50c46..628c630 100644
>> >> > --- a/drivers/media/v4l2-core/Makefile
>> >> > +++ b/drivers/media/v4l2-core/Makefile
>> >> > @@ -5,7 +5,7 @@
>> >> > tuner-objs := tuner-core.o
>> >>
>> >> > videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \
>> >> > - v4l2-event.o v4l2-ctrls.o v4l2-subdev.o
>> >> > + v4l2-event.o v4l2-ctrls.o v4l2-subdev.o v4l2-clk.o
>> >> > ifeq ($(CONFIG_COMPAT),y)
>> >> > videodev-objs += v4l2-compat-ioctl32.o
>> >> > endif
>> >> > diff --git a/drivers/media/v4l2-core/v4l2-clk.c b/drivers/media/v4l2-core/v4l2-clk.c
>> >> > new file mode 100644
>> >> > index 0000000..d7cc13e
>> >> > --- /dev/null
>> >> > +++ b/drivers/media/v4l2-core/v4l2-clk.c
>> >> > @@ -0,0 +1,177 @@
>> >>
>> >> -barry
-barry
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v8 1/7] media: V4L2: add temporary clock helpers
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
0 siblings, 2 replies; 8+ messages in thread
From: Mike Turquette @ 2013-04-11 18:52 UTC (permalink / raw)
To: linux-arm-kernel
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>:
> >> > Hi Barry
> >> >
> >> > 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.
>
Hi,
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.
Regards,
Mike
> >
> > Thanks
> > Guennadi
> >
> >> people have tried to move to common clk and generic framework for a
> >> long time, now you still try to provide a v4l2 specific clock APIs, it
> >> just makes v4l2 unacceptable and much complex.
> >>
> >> >
> >> > Thanks
> >> > Guennadi
> >> >
> >> >> > v8: Updated both (C) dates
> >> >>
> >> >> > drivers/media/v4l2-core/Makefile | 2 +-
> >> >> > drivers/media/v4l2-core/v4l2-clk.c | 177 ++++++++++++++++++++++++++++++++++++
> >> >> > include/media/v4l2-clk.h | 54 +++++++++++
> >> >> > 3 files changed, 232 insertions(+), 1 deletions(-)
> >> >> > create mode 100644 drivers/media/v4l2-core/v4l2-clk.c
> >> >> > create mode 100644 include/media/v4l2-clk.h
> >> >>
> >> >> > diff --git a/drivers/media/v4l2-core/Makefile b/drivers/media/v4l2-core/Makefile
> >> >> > index aa50c46..628c630 100644
> >> >> > --- a/drivers/media/v4l2-core/Makefile
> >> >> > +++ b/drivers/media/v4l2-core/Makefile
> >> >> > @@ -5,7 +5,7 @@
> >> >> > tuner-objs := tuner-core.o
> >> >>
> >> >> > videodev-objs := v4l2-dev.o v4l2-ioctl.o v4l2-device.o v4l2-fh.o \
> >> >> > - v4l2-event.o v4l2-ctrls.o v4l2-subdev.o
> >> >> > + v4l2-event.o v4l2-ctrls.o v4l2-subdev.o v4l2-clk.o
> >> >> > ifeq ($(CONFIG_COMPAT),y)
> >> >> > videodev-objs += v4l2-compat-ioctl32.o
> >> >> > endif
> >> >> > diff --git a/drivers/media/v4l2-core/v4l2-clk.c b/drivers/media/v4l2-core/v4l2-clk.c
> >> >> > new file mode 100644
> >> >> > index 0000000..d7cc13e
> >> >> > --- /dev/null
> >> >> > +++ b/drivers/media/v4l2-core/v4l2-clk.c
> >> >> > @@ -0,0 +1,177 @@
> >> >>
> >> >> -barry
>
> -barry
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v8 1/7] media: V4L2: add temporary clock helpers
2013-04-11 18:52 ` Mike Turquette
@ 2013-04-11 20:14 ` Sylwester Nawrocki
2013-04-11 22:35 ` Laurent Pinchart
1 sibling, 0 replies; 8+ messages in thread
From: Sylwester Nawrocki @ 2013-04-11 20:14 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On 04/11/2013 08:52 PM, Mike Turquette wrote:
[...]
>>> 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.
>
> Hi,
>
> 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.
I came to similar conclusions previously, but in case when one of the two
drivers is the clock provider I think there is still an issue there.
The drivers are supposed to be platform agnostic, but the clock provider
would have to include mach specific declarations of struct clk, wouldn't
it ?
Regards,
Sylwester
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v8 1/7] media: V4L2: add temporary clock helpers
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
1 sibling, 1 reply; 8+ messages in thread
From: Laurent Pinchart @ 2013-04-11 22:35 UTC (permalink / raw)
To: linux-arm-kernel
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.
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v8 1/7] media: V4L2: add temporary clock helpers
2013-04-11 22:35 ` Laurent Pinchart
@ 2013-04-11 23:19 ` Mike Turquette
2013-04-12 8:22 ` Laurent Pinchart
0 siblings, 1 reply; 8+ messages in thread
From: Mike Turquette @ 2013-04-11 23:19 UTC (permalink / raw)
To: linux-arm-kernel
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v8 1/7] media: V4L2: add temporary clock helpers
2013-04-11 23:19 ` Mike Turquette
@ 2013-04-12 8:22 ` Laurent Pinchart
0 siblings, 0 replies; 8+ messages in thread
From: Laurent Pinchart @ 2013-04-12 8:22 UTC (permalink / raw)
To: linux-arm-kernel
Hi Mike,
On Thursday 11 April 2013 16:19:23 Mike Turquette wrote:
> Quoting Laurent Pinchart (2013-04-11 15:35:38)
> > On Thursday 11 April 2013 11:52:58 Mike Turquette wrote:
[snip]
> > > 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.
The basic idea is to push the dependency on CONFIG_COMMON_CLK to individual
drivers, and provide a V4L2-specific clock framework (that looks like a
stripped-down version of CCF) for platforms that don't implement CCF yet.
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-04-12 8:22 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[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
2013-04-12 8:22 ` Laurent Pinchart
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).