[linux-dvb] Re: [RFC] multi std silicon tuners and analog tuners

Mauro Carvalho Chehab mchehab at infradead.org
Thu Apr 5 22:58:36 CEST 2007


Michael,

Em Qui, 2007-04-05 às 16:31 -0400, Michael Krufky escreveu:
> Mauro Carvalho Chehab wrote:
> > Also, for silicon tuners, we have a recent case, where tda897x deals
> > with dvb, while tda8290 deals also with tda897x, but for v4l.
> 
> Please leave tda8290 / tda8275(a) alone for now.  Hartmut and I have some big
> changes coming, and external changes made to those files will screw us up.
> 
> FYI, tda8290 is predominantly a driver for the analog IF demod.

> The tuning code itself can easily be factored into a unified tuning
> sub-module, useable by both
> subsystems.  I have plans to do this now, without any need for API
> changes.
> 
> Once we reach agreement on how we handle hybrid silicon, I will handle
> the
> conversion for the tda827x tuners.

This doesn't make my argument invalid. 

The fact is that the support for hybrid tuners is hard due the lack of a
proper way to connect the same driver to both cores. This lead each
developer to find his own way for handling tuners, resulting on
duplicated stuff and two different drivers for the same device. 

Not having a standard way for this is not good. We need to have one way,
used by all developers that works with hybrid devices. 

It should also have a locking schema avoiding the usage of both tuner
modes at the same time. What happens if you call both a dvb and an
analog app at the same time with the current code?

> The tuning code itself can easily be factored into a unified tuning
> sub-module, useable by both subsystems.  I have plans to do this now,
> without any need for API changes.

How would you do this without API changes? V4L tuners currently can't
currently be a separate module, but should be part of tuner-core. So, to
allow a tuner to register on tuner-core, some API changes are required.
Otherwise, you cannot load a sub-module at tuner-core.

Also, tuner struct is different from dvb_frontends struct, although both
have several stuff that can be common. If you pass a dvb_frontends
struct to tuner-core, or otherwise, pass a struct tuner to dvb, there
will be some missing parameters.

> Once we reach agreement on how we handle hybrid silicon, I will handle
> the
> conversion for the tda827x tuners.

This seems to be the proper way. Let's first close the API changes, then
convert the drivers.

I intend to convert all tuner drivers to the newer API, to allow to
modularize the tuners, including tuner-simple.

-- 
Cheers,
Mauro




More information about the linux-dvb mailing list