[alsa-devel] [PATCH 0/2][RFC] snd_soc_codec include snd_soc_component
Lars-Peter Clausen
lars at metafoo.de
Mon Sep 2 11:34:15 CEST 2013
On 09/02/2013 10:52 AM, Kuninori Morimoto wrote:
>
> Hi Lars
>
> Thank you for your feedback
>
>>> But, we will need many "codec dai name exchange", becouse
>>> 1) the dai name rule on 1-dai / multi-dai are different,
>>> it was depend on snd_soc_register_dai[s].
>>> 1) component is using both snd_soc_register_dai[s] inside
>>> (this was for "cpu" side limit)
>>> 2) codec have been used snd_soc_register_dais even though
>>> it was not multi-dai
>>>
>>
>> We only added the distinction between components with one DAIs and multiple
>> DAIs since most of the CPU DAI drivers with only one DAI used
>> snd_soc_register_dai() and we wanted to avoid having to update all the DAI
>> links. How about adding a boolean flag to __snd_soc_register_component()
>> which if set causes the function to always use snd_soc_register_dais(). This
>> will allow us to keep the existing naming for CODEC dai.
>
> It is easy hack.
> OK, we can try it.
>
>>> 2nd patch is rough version of "code dai name exchange" for it.
>>> Of course we need more and more codec driver patches,
>>> but it is wm8978 only as trial now.
>>>
>>> I guess "codec driver" should have "component driver" pointer too ?
>>> (it has .name only at this point, and 2nd patch includes it)
>>
>> In my opinion it is better to embed the component_driver struct into the
>> codec_driver struct just like the component struct is embedded in the codec
>> struct. Otherwise your patch looks fine to me. Maybe move
>
> I see.
>
>> __snd_soc_register_component() up, so the forward declaration is not needed
>> anymore.
>
> This was the reason why I used "rough" naming here :P
>
>>> We can move some feature from codec to component
>>> after this step ?
>>>
>>
>> Yes. I think most of the fields managed by the core which are not touched by
>> any drivers can be moved easily.
>
> Nice !
>
>
> As my previous email said, this patch cares only codec <-> component,
> but we re-consider about "component"
> if component will be used from "platform" (and "card" too ?) ?
> (since it is controlling "dai" inside)
> Or is it 2nd step like above ?
>
I think it can be done as a second step, as long as we keep in mind that we
want to do this eventually and don't built up any road blocks that will
prevent us form doing so.
- Lars
More information about the Alsa-devel
mailing list