On Fri, 16 Dec 2011, Scott Jiang wrote: > Hi Guennadi, > > > First question: you probably also want to patch soc_camera_g_input() and > > soc_camera_enum_input(). But no, I do not know how. The video subdevice > > operations do not seem to provide a way to query subdevice routing > > capabilities, so, I've got no idea how we're supposed to support > > enum_input(). There is a g_input_status() method, but I'm not sure about > > its semantics. Would it return an error like -EINVAL on an unsupported > > index? > > > static int bcap_enum_input(struct file *file, void *priv, > struct v4l2_input *input) > { > struct bcap_device *bcap_dev = video_drvdata(file); > struct bfin_capture_config *config = bcap_dev->cfg; > int ret; > u32 status; > > if (input->index >= config->num_inputs) > return -EINVAL; > > *input = config->inputs[input->index]; > /* get input status */ > ret = v4l2_subdev_call(bcap_dev->sd, video, g_input_status, &status); > if (!ret) > input->status = status; > return 0; > } > > 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? 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