Re: radio-maestro broken (conflicts with snd-es1968)

From: Hans Verkuil
Date: Sat Mar 12 2011 - 13:53:29 EST


On Saturday, March 12, 2011 19:19:00 Ondrej Zary wrote:
> Hello,
> the radio-maestro driver is badly broken. It's intended to drive the radio on
> MediaForte ESS Maestro-based sound cards with integrated radio (like
> SF64-PCE2-04). But it conflicts with snd_es1968, ALSA driver for the sound
> chip itself.
>
> If one driver is loaded, the other one does not work - because a driver is
> already registered for the PCI device (there is only one). This was probably
> broken by conversion of PCI probing in 2006:
> ttp://lkml.org/lkml/2005/12/31/93
>
> How to fix it properly? Include radio functionality in snd-es1968 and delete
> radio-maestro?

Interesting. I don't know anyone among the video4linux developers who has
this hardware, so the radio-maestro driver hasn't been tested in at least
6 or 7 years.

The proper fix would be to do it like the fm801.c alsa driver does: have
the radio functionality as an i2c driver. In fact, it would not surprise
me at all if you could use the tea575x-tuner.c driver (in sound/i2c/other)
for the es1968 and delete the radio-maestro altogether.

Both are for the tea575x tuner, although radio-maestro seems to have better
support for the g_tuner operation. It doesn't seem difficult to add that to
tea575x-tuner.c.

The fm801 code for driving the tea575x is pretty horrible and it should be
possible to improve that. I suspect that those read/write/mute functions
really belong in tea575x-tuner.c and that only the low-level gpio actions
need to be in the fm801/es1968 drivers.

Hope this helps.

Regards,

Hans

BTW: if anyone has spare hardware for testing the radio-maestro/tea575x-tuner,
then I'm interested.

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