Early insights from conversion of cx18 to new v4l2_device framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 
> > > I'm very interested in how easy it is for you to convert cx18 to 
> > > v4l2_subdev. Please let me know anything that is unclear or that can be 
> > > improved in the documentation or code!

Hans,

Converting cx18 to use a v4l2_device object was easy enough.  There's
not a lot to do, because on it's own it doesn't do to much.  At this
early stage, without the v4l2_subdev work done, it's simply one more
piece of kernel rigamarole with which to deal, along with struct
pci_dev, struct device, struct video_dev.

As I begin the conversion process to v4l2_subdev, I realize it's not the
straightforward hack for which I was hoping.  A clear first step in the
porting process needs to be to answer design questions:

1. What are the v4l2_subdev's for this family of capture devices?  (This
is actually harder to answer than I thought.)

2. Do I need to write any bridge specific v42l_subdev's?

3. What functions do all the needed v4l2_subdev's perform?

4. What functions will I need from all the functions a chip/v4l2_subdev
provides?

5. How will I manage the subdevs to get at just the particular subdev
functions I need for any given task?

6. Do I try to deal with the DTV subdevices on my hybrid cards now, or
wait until later?

These are all up front design questions that I would have done on a
professional project with a full up front design.  What I found with
trying to iteratively hack was that decisions come up at many junctures
with porting this framework to cx18.  I suspect the framework will be
great for maintenance activities once in place, but initial porting of
existing drivers probably requires an above average level of discipline.

I will elaborate on how I encountered the design questions above, later
today (I've got to head to out soon).  I'll also propose what I think is
some guidance to answer question 1 at least. (For highly integrated
devices with loose internal couplings in places, like CX23418, it's not
as simple as a "chip" or "something connected to I2C, GPIO or other bus
lines".)

Regards,
Andy

--
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

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux