[alsa-devel] Prepare to covert Codec/Platform into Component
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Fri Sep 1 07:25:03 CEST 2017
Hi Mark, Lars-Peter
I will post all prepare patches to convert Codec/Platform into
Component.
It has 3 steps.
1) add new necessary functions
2) remove/don't use codec hw_write/read
3) remove/don't use codec reg_cache
If these are accepted, all prepares were completed.
Next, I can post "convert Codec/Platform into Component" patch bomb.
These are too many convert patches, to avoid review issue,
I will post few of them as sample.
4) sample of don't use rtd->codec
5) sample of convert Platform into Component
6) sample of convert Codec into Component
I will post some of "remove" patches too for each steps.
I will re-post all "remove" patches if all are accepted.
For your review, please consider below.
If these are not good, all covert patch doesn't work.
1. use devm_snd_soc_register_component() and
remove snd_soc_unregister_component()
My patches is using devm_ version function, and removed
unregister function. This is not a big deal
2. New flags.
Because "Codec" and "CPU/Platform" are using different
features, we need to use some new flags.
.idle_bias_off/on
.ignore_pmdown_time/pmdown_time
These are because "CPU/Platform" and "Codec" are using
different default value. "Codec" side convert patches
are using these.
.endianness
.non_legacy_dai_naming
These are because "Codec" only needs fixup format,
and not use "legacy" DAI name.
"Codec" side convert patches are using these
I added its flags info on each patch.
3. rtd->platform
rtd->platform will be removed.
Now we can find all rtd connected component by using
rtdcom_lookup. rtd->platform will be replaced to
snd_soc_rtdcom_lookup(rtd, DRV_NAME);
Here, DRV_NAME is platform's component driver name.
4. rtd->codec
rtd->codec will be removed.
In soc_bind_dai_link(), It is
rtd->codec = rtd->codec_dai->codec;
And now, DAI has codec and component pointer.
So, rtd->codec will be replaced into rtd->codec_dai->component.
Best regards
---
Kuninori Morimoto
More information about the Alsa-devel
mailing list