On Tue, 30 Aug 2011, Laurent Pinchart wrote: > Hi Guennadi, > > On Tuesday 30 August 2011 00:20:09 Guennadi Liakhovetski wrote: > > On Mon, 29 Aug 2011, Laurent Pinchart wrote: > > > > [snip] > > > > > My idea was to let the kernel register all devices based on the DT or > > > board code. When the V4L2 host/bridge driver gets registered, it will > > > then call a V4L2 core function with a list of subdevs it needs. The V4L2 > > > core would store that information and react to bus notifier events to > > > notify the V4L2 host/bridge driver when all subdevs are present. At that > > > point the host/bridge driver will get hold of all the subdevs and call > > > (probably through the V4L2 core) their .registered operation. That's > > > where the subdevs will get access to their clock using clk_get(). > > > > Correct me, if I'm wrong, but this seems to be the case of sensor (and > > other i2c-client) drivers having to succeed their probe() methods without > > being able to actually access the hardware? > > That's right. I'd love to find a better way :-) Note that this is already the > case for many subdev drivers that probe the hardware in the .registered() > operation instead of the probe() method. Then why do you think it is better, than adding devices from bridge drivers? Think about hotpluggable devices - drivers create devices all the time - USB etc. Why cannot we do the same? As a historic reference: soc-camera used to do this too before - probe without hardware access and "really-probe" after the host turns on the clock. Then we switched to registering devices later. I like the present approach better. Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- 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