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

From: Hans Verkuil
Date: Tue Mar 29 2011 - 15:39:36 EST


On Tuesday, March 29, 2011 21:25:55 Ondrej Zary wrote:
> On Saturday 26 March 2011 11:19:31 Hans Verkuil wrote:
> > 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?
>
> The driver code is OK. But there is a bug in v4l2-test-input-output.cpp at
> line 214:
> if (ret)
> return fail("set rangehigh+1 frequency did not return EINVAL\n");
>
> There should be "if (ret != EINVAL)" instead of "if (ret)".

Grrr. I hate it when test code has bugs :-)

Thanks for finding this. I've fixed it in the code and pushed it to the v4l-utils
repository.

Regards,

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