[alsa-devel] WL1273 FM Radio driver...
Mauro Carvalho Chehab
mchehab at redhat.com
Mon Feb 7 16:57:10 CET 2011
Em 07-02-2011 12:09, Matti J. Aaltonen escreveu:
> On Mon, 2011-02-07 at 11:48 -0200, ext Mauro Carvalho Chehab wrote:
>> Em 07-02-2011 11:10, Mark Brown escreveu:
>>> On Mon, Feb 07, 2011 at 10:48:03AM -0200, Mauro Carvalho Chehab wrote:
>>>> Em 07-02-2011 10:02, Mark Brown escreveu:
>>>>> On Mon, Feb 07, 2011 at 10:00:16AM -0200, Mauro Carvalho Chehab wrote:
>>>>>> the MFD part (for example, wl1273_fm_read_reg/wl1273_fm_write_cmd/wl1273_fm_write_data).
>>>>>> The logic that are related to control the radio (wl1273_fm_set_audio, wl1273_fm_set_volume,
>>>>>> etc) are not related to access the device via the MFD bus. They should be at
>>>>>> the media part of the driver, where they belong.
>>>>> Those functions are being used by the audio driver.
>>>> Not sure if I understood your comments. Several media drivers have alsa drivers:
>>> There is an audio driver for this chip and it is using those functions.
>> Where are the other drivers that depend on it?
> There's the MFD driver driver/mfd/wl1273-core.c, which is to offer the
> (I2C) I/O functions to the child drivers:
> drivers/media/radio/radio-wl1273.c and sound/soc/codecs/wl1273.c.
> Both children depend on the MFD driver for I/O and the codec also
> depends on the presence of the radio-wl1273 driver because without the
> v4l2 part nothing can be done...
I think that the better would be to move the audio part (sound/soc/codecs/wl1273.c)
as drivers/media/radio/wl1273/wl1273-alsa.c. Is there any problem on moving it, or
the alsa driver is also tightly coupled on the rest of the sound/soc stuff?
I remember that, in the past, there were someone that proposed to move /sound into
/media/sound, and move some common stuff between them into /media/common.
Btw, there are(where?) some problems between -alsa and -media subsystems: basically,
the audio core needs to be initialized before the drivers. However, this sometimes
don't happen (I can't remember the exact situation - perhaps builtin compilations?),
but we ended by needing to explicitly delaying the init of some drivers with:
To avoid some OOPS conditions.
More information about the Alsa-devel