On Mon, 19 Dec 2011, Laurent Pinchart wrote: > 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. Good, this would mean, we need additional subdevice operations along the lines of enum_input and enum_output, and maybe also g_input and g_output? 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