Quoting Barry Song (2013-04-11 01:59:28) > 2013/4/11 Guennadi Liakhovetski <g.liakhovetski@xxxxxx>: > > On Thu, 11 Apr 2013, Barry Song wrote: > > > >> 2013/4/11 Guennadi Liakhovetski <g.liakhovetski@xxxxxx>: > >> > 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@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html