At Mon, 17 Oct 2011 13:28:39 +0900,
Tomoya MORINAGA wrote:
Hi Iwai,
We have just started porting to ASoC structure.
Please add ASoC maintainers to Cc if you have questions about ASoC.
I have a question.
As you reviewed before, currently, our driver consists of 2 parts,
Soundcard driver and I2S driver.
Soundcard consists of 2 parts
- ALSA interface / control part
- CODEC control part
I2S driver consists of 4 parts
- HAL
- DMA control / interrupt control
- Soundcard interface part
- PCI interface function
According to "soc" Documentation,
We must divide to 3 parts, platform driver, machine driver and codec driver.
So, I divided like the following parts.
platform driver
- ALSA interface / control part
- HAL
- DMA control / interrupt control
- Soundcard interface part
- PCI interface function
machine driver
- (none)
codec driver
- CODEC control part
Is the above dividing true ?
Not really. ASoC is designed to be much more modular. Take a look at
the codes in sound/soc/*. You'll grasp how the components are split.
(The documents in Documentation/sound/alsa/soc/ are slightly
obsoleted...)
The conversion of PCM part is usually straightforward, as found in
*-pcm.c. The DAI setup depends on the hardware implementation.
That's for machine driver. But it's hard to tell in more details
until I see the actual code snippet you are working on...