[alsa-devel] [RFC][PATCH 0/x] ASoC: replace platform to component

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Tue Jun 20 04:25:32 CEST 2017


Hi Mark, Lars-Peter

Now, we can replace "platform" to "component".
It will be large patch-set. To avoid many posting big-patch-set,
I will post few of then as example.

1) - 2) : prepare for last missing parts for replace
3) - 4) : example of replace patch
5)      : remove platform

Kuninori Morimoto (xx):
      1) ASoC: snd_soc_component_driver has snd_pcm_ops
      2) ASoC: snd_soc_component_driver has snd_compr_ops
      3) ASoC: replace platform to component on sh/rcar
      4) ASoC: replace platform to component on sst-xxx
      5) ASoC: remove platform related things

Big change of this replace are
 1) snd_soc_lookup_platform() will be snd_soc_lookup_component()
 2) debugfs_create_file("platform", xxx) will be debugfs_create_file("component", xxx)
 3) remove platform_list

1st Note is that it is still using rtd->platform_com style.
I guess it will be removed or replaced in the future, but it is not
this patch-set purpose.

2nd Note is that, as you can see, above example is merging few
components into 1 component.
Almost all cases, 1 component is for register DAI, 1 component is
for register platform. I think we can merge these into 1 component.

I have 1 concern. Current snd_soc_unregister_component() is checking
"dev" only. This means, 1 device : 1 component can only be correctly handled.
I don't know detail, but below case, maybe works.

	snd_soc_register_component(dev, driver_A);
	snd_soc_register_component(dev, driver_B);

	snd_soc_unregister_component(dev);
	snd_soc_unregister_component(dev);

I think we want to have "driver" parameter on unregister, like

	snd_soc_unregister_component(dev, driver_A);
	snd_soc_unregister_component(dev, driver_B);

For example, tegra sound driver is registering its component, and
snd_dmaengine_pcm_register() which register its component.
One headache is that snd_dmaengine_pcm_unregister() is using
snd_soc_lookup_platform() which will be replaced to
snd_soc_lookup_component(). And its parameter is only "dev".

We want to have below
	snd_soc_lookup_component(dev, driver);
	snd_soc_unregister_component(dev, driver);

Can I replace current unregister before "replace platform" patch set ?
(= many drivers are using it)

Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list