On Sat, Jun 26, 2010 at 11:05 AM, Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> wrote: > This patch tries to fix a problem, but it is broken: Let's suppose that you have > 2 i2c drivers that implements control, one for video (like tvp5150) and another for > audio (like msp3400). That's the case of HVR-950, for example. As both drivers > implement s_ctrl, the -ENOIOCTLCMD will not be returned by the drivers. Instead, if > you try to set an audio CTRL to tvp5150, it will return -EINVAL. The same happens if > you try to set a video CTRL to msp3400. > > If you use v4l2_device_call_until_err(), depending on the order that tvp5150 and msp3400 > will be loaded, or video or audio CTRL's will always fail, due to -EINVAL. > > What we need here is something like v4l2_device_call_until_not_err(), e. g. something that > will stop sending CTRL's if the return code is 0. Yeah, you're right. The patch is indeed broken in that use case. I had looked at various other bridges, but didn't see any consistent approach. Let's move this to a new thread so that we can get input from Hans (given this is a subdev issue). Thanks for pulling the other patches though. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- 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