Hi Guennadi, On Friday 16 December 2011 10:50:21 Guennadi Liakhovetski wrote: > On Fri, 16 Dec 2011, Scott Jiang wrote: > > >> How about this implementation? I know it's not for soc, but I post it > > >> to give my idea. > > >> Bridge knows the layout, so it doesn't need to query the subdevice. > > > > > > Where from? AFAIU, we are talking here about subdevice inputs, right? > > > In this case about various inputs of the TV decoder. How shall the > > > bridge driver know about that? > > > > I have asked this question before. Laurent reply me: > > > >> ENUMINPUT as defined by V4L2 enumerates input connectors available > > > >> on the board. Which inputs the board designer hooked up is > > > >> something that only the top-level V4L driver will know. Subdevices > > > >> do not have that information, so enuminputs is not applicable > > > >> there. > > > >> > > > >> Of course, subdevices do have input pins and output pins, but these > > > >> are assumed to be fixed. With the s_routing ops the top level > > > >> driver selects which input and output pins are active. Enumeration > > > >> of those inputs and outputs wouldn't gain you anything as far as I > > > >> can tell since the subdevice simply does not know which > > > >> inputs/outputs are actually hooked up. It's the top level driver > > > >> that has that information (usually passed in through board/card > > > >> info structures). > > Laurent, right, I now remember reading this discussion before. But I'm not > sure I completely agree:-) Yes, you're right - the board decides which > pins are routed to which connectors. And it has to provide this > information to the driver in its platform data. But - I think, this > information should be provided not to the bridge driver, but to respective > subdevice drivers, because only they know what exactly those interfaces > are good for and how to report them to the bridge or the user, if we > decide to also export this information over the subdevice user-space API. > > So, I would say, the board has to tell the subdevice driver: yes, your > inputs 0 and 1 are routed to external connectors. On input 1 I've put a > pullup, it is connected to connector of type X over a circuit Y, clocked > from your output Z, if the driver needs to know all that. And the subdev > driver will just tell the bridge only what that one needs to know - number > of inputs and their capabilities. That sounds reasonable. -- Regards, Laurent Pinchart -- 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