Re: [RFC PATCH 1/3] tea575x-tuner: various improvements

From: Hans Verkuil
Date: Sat Mar 26 2011 - 06:20:12 EST


On Friday, March 25, 2011 22:40:12 Ondrej Zary wrote:
> On Tuesday 22 March 2011 20:02:30 Hans Verkuil wrote:
> > BTW, can you run the v4l2-compliance utility for the two boards that use
> > this radio tuner?
> >
> > This utility is part of the v4l-utils repository
> > (http://git.linuxtv.org/v4l-utils.git).
> >
> > Run as 'v4l2-compliance -r /dev/radioX -v2'.
> >
> > I'm sure there will be some errors/warnings (warnings regarding
> > G/S_PRIORITY are to be expected). But I can use it to make a patch for
> > 2.6.40 that fixes any issues.
>
> The output is the same for both fm801 and es1968 (see below). Seems that
> there are 4 errors:
> 1. multiple-open does not work
> 2. something bad with s_frequency
> 3. input functions are present
> 4. no extended controls

Thanks for testing! Some comments are below...

>
>
>
> Running on 2.6.38
>
> Driver Info:
> Driver name : tea575x-tuner
> Card type : TEA5757
> Bus info : PCI
> Driver version: 0.0.2
> Capabilities : 0x00050000
> Tuner
> Radio
>
> Compliance test for device /dev/radio0 (not using libv4l2):
>
> Required ioctls:
> test VIDIOC_QUERYCAP: OK
>
> Allow for multiple opens:
> test second radio open: FAIL

I will fix this. Once 2.6.39-rc1 is released I can make a patch fixing this.

>
> Debug ioctls:
> test VIDIOC_DBG_G_CHIP_IDENT: Not Supported
> test VIDIOC_DBG_G/S_REGISTER: Not Supported
> test VIDIOC_LOG_STATUS: Not Supported
>
> Input ioctls:
> test VIDIOC_G/S_TUNER: OK
> fail: set rangehigh+1 frequency did not return EINVAL
> test VIDIOC_G/S_FREQUENCY: FAIL

Hmm, S_FREQUENCY apparently fails to check for valid frequency values.
Can you take a quick look at the code?

> test VIDIOC_ENUMAUDIO: Not Supported
> fail: radio can't have input support
> test VIDIOC_G/S/ENUMINPUT: FAIL

ENUMINPUT/G/S_INPUT are not allowed for radio devices. These ioctls are specific
for video. 90% of all radio driver use it, though :-)

I'll fix this when I go through all radio drivers.

> test VIDIOC_G/S_AUDIO: Not Supported
> Inputs: 0 Audio Inputs: 0 Tuners: 1
>
> Output ioctls:
> test VIDIOC_G/S_MODULATOR: Not Supported
> test VIDIOC_G/S_FREQUENCY: OK
> test VIDIOC_ENUMAUDOUT: Not Supported
> test VIDIOC_G/S/ENUMOUTPUT: Not Supported
> test VIDIOC_G/S_AUDOUT: Not Supported
> Outputs: 0 Audio Outputs: 0 Modulators: 0
>
> Control ioctls:
> fail: does not support V4L2_CTRL_FLAG_NEXT_CTRL
> test VIDIOC_QUERYCTRL/MENU: FAIL

I'll fix this as well. The drivers needs to be converted to the control
framework.

Regards,

Hans


> test VIDIOC_G/S_CTRL: OK
> test VIDIOC_G/S/TRY_EXT_CTRLS: Not Supported
> Standard Controls: 0 Private Controls: 0
>
> Input/Output configuration ioctls:
> test VIDIOC_ENUM/G/S/QUERY_STD: Not Supported
> test VIDIOC_ENUM/G/S/QUERY_DV_PRESETS: Not Supported
> test VIDIOC_G/S_DV_TIMINGS: Not Supported
>
> Total: 21 Succeeded: 17 Failed: 4 Warnings: 0
>
>

--
Hans Verkuil - video4linux developer - sponsored by Cisco
--
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/