Gerd Knorr wrote: > ... and struct v4l2_tuner needs an index field too. Patch below, > comments? No, it doesn't. It has the 'input' field which identifies it. A V4L2 capture device can have any number of inputs (enumerable by the app). Any of those inputs can be tuners-- struct v4l2_input.type == V4L2_INPUT_TYPE_TUNER. If input N is a tuner, then access it with v4l2_tuner.input = N and v4l2_frequency.input = N. struct v4l2_frequency.port should have been struct v4l2_frequency.input, and add FREQ2: ------------------------------- cut here ------------------------ --- 2.4.10-pre2/include/linux/videodev2.h.tuner Thu Aug 30 16:41:22 2001 +++ 2.4.10-pre2/include/linux/videodev2.h Thu Aug 30 16:45:40 2001 @@ -671,7 +673,7 @@ struct v4l2_frequency { - int input; + int tuner; __u32 frequency; __u32 reserved[2]; }; @@ -824,6 +826,8 @@ #define VIDIOC_S_EFFECT _IOWR ('V', 53, int) #define VIDIOC_G_MODULATOR _IOWR ('V', 54, struct v4l2_modulator) #define VIDIOC_S_MODULATOR _IOW ('V', 55, struct v4l2_modulator) +#define VIDIOC_G_FREQ2 _IOWR ('V', 56, struct v4l2_frequency) +#define VIDIOC_S_FREQ2 _IOW ('V', 57, struct v4l2_frequency) #define VIDIOC_ENUM_CAPFMT VIDIOC_ENUM_PIXFMT #define VIDIOC_ENUM_OUTFMT VIDIOC_ENUM_PIXFMT Bill.