Re: v4l2_device/v4l2_subdev: please review (PATCH 1/3)

From: Guennadi Liakhovetski
Date: Sat Nov 29 2008 - 14:08:45 EST


On Sat, 29 Nov 2008, Hans Verkuil wrote:

> > > +Introduction
> > > +------------
> > > +
> > > +The V4L2 drivers tend to be very complex due to the complexity of
> > > the +hardware: most devices have multiple ICs, export multiple
> > > device nodes in +/dev, and create also non-V4L2 devices such as
> > > DVB, ALSA, FB, I2C and input +(IR) devices.
> > > +
> > > +Especially the fact that V4L2 drivers have to setup supporting ICs
> > > to +do audio/video muxing/encoding/decoding makes it more complex
> > > than most. +Usually these ICs are connected to the main bridge
> > > driver through one or +more I2C busses, but other busses can also
> > > be used. Such devices are +called 'sub-devices'.
> >
> > Do you know of other busses being used in (Linux supported) real
> > video hardware, or is it currently theoretical only ?
>
> The pxa_camera driver is one example of that. Also devices driven by
> GPIO pins can be implemented this way. I did that in ivtv for example:
> most cards use i2c audio muxers, but some have audio muxers that are
> commanded through GPIO so I created a v4l2_subdev that uses GPIO to
> drive these chips. Works very well indeed.

I think pxa-camera (as well as sh-mobile-ceu and other soc-camera host
drivers in the works) is not a very good example here. Sensors connected
to embedded controllers like PXA indeed use a dedicated camera bus but
only for data exchange. This bus comprises of data and synchronisation
lines only. Sensors are still connected over an i2c bus for control and
configuration, also been open to other busses, I haven't seen such
examples as yet. I might have misunderstood what has been discussed here
though.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/