Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/x][RFC] ASoC: replace codec/platform to component
@ 2017-12-06  2:32 Kuninori Morimoto
  2017-12-06  2:33 ` [PATCH 1/x][RFC] ASoC: remove rtd->platform checck Kuninori Morimoto
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Kuninori Morimoto @ 2017-12-06  2:32 UTC (permalink / raw)
  To: Mark Brown; +Cc: Linux-ALSA, Simon


Hi Mark

Finally, all prepare patch-set were accepted.
These are [RFC] of codec/platform replace to component patch-set.
It will be almost 200 patches in total.
Thus, to avoid patch bomb (in case of rejection),
I pickuped few patches and post these as [RFC].

Main is replacing codec/platform to component

	xxx_codec_xxx()    -> xxx_component_xxx()
	xxx_platform_xxx() -> xxx_component_xxx()

Note1 is that it is using devm_ version register function,
and removed unregister from .remove
(sometimes, removes .remove function itself)

	- snd_soc_register_xxx()
	+ devm_snd_soc_register_component()
	...
	- snd_soc_unregister_xxx()

Note2 is that rtd->platform will be removed, thus it will be replaced
to snd_soc_rtdcom_lookup() with driver name

	- rtd->platform
	+ snd_soc_rtdcom_lookup(rtd, DRV_NAME)

Note3 is that codec driver needs to have some flags which is needed for Codec

	-static const struct snd_soc_codec_driver xxx_codec;
	+static const struct snd_soc_component_driver xxx_codec = {
	+	.idle_bias_on		= 1,
	+	.pmdown_time		= 1,
	+	.endianness		= 1,
	+	.non_legacy_dai_naming	= 1,
	+};

here,
 .idle_bias_on was originally .idle_bias_off
 .pmdown_time  was originally .ignore_pmdown_time
 .endianness            is needed for Codec endianness check
 .non_legacy_dai_naming is needed for Codec DAI name matching

Note4 is that some driver is controlling CPU/Platform in one driver
as 2 component. Now we can merge these into one component.

	- snd_soc_register_platform(xxx)  // for Platform
	- snd_soc_register_component(xxx) // for CPU
	+ snd_soc_register_component(xxx) // for CPU/Platform

Note4 is that [1/x] patch which removes (!rtd->platform) check from
soc-core is needed for all platforms.
This check is no longer needed for component version.

If these [RFC] were OK, I will post all replacement patch-set.
I think good timing to posting is around next -rc1 or merge-window

About removing all unneeded codec/platform patch-set,
when is good timing ?
	+1 version: includes replacement patch-set
	+2 version: includes remove      patch-set
or
	+1 version: includes both replacement/remove patch-set

Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2018-02-12 12:32 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-06  2:32 [PATCH 0/x][RFC] ASoC: replace codec/platform to component Kuninori Morimoto
2017-12-06  2:33 ` [PATCH 1/x][RFC] ASoC: remove rtd->platform checck Kuninori Morimoto
2017-12-06  2:33 ` [PATCH 2/x][RFC] ASoC: soc-utils: replace platform to component Kuninori Morimoto
2018-02-12 12:32   ` Applied "ASoC: soc-utils: replace platform to component" to the asoc tree Mark Brown
2017-12-06  2:33 ` [PATCH 3/x][RFC] ASoC: soc-generic-dmaengine-pcm: replace platform to component Kuninori Morimoto
2017-12-06  2:33 ` [PATCH 4/x][RFC] ASoC: intel: atom: " Kuninori Morimoto
2018-02-12 12:32   ` Applied "ASoC: intel: atom: replace platform to component" to the asoc tree Mark Brown
2017-12-06  2:34 ` [PATCH 5/x][RFC] ASoC: sh: fsi: replace platform to component Kuninori Morimoto
2018-02-12 12:31   ` Applied "ASoC: sh: fsi: replace platform to component" to the asoc tree Mark Brown
2017-12-06  2:34 ` [PATCH 6/x][RFC] ASoC: soc-utils: replace codec to component Kuninori Morimoto
2017-12-06  2:34 ` [PATCH 7/x][RFC] ASoC: ac97: " Kuninori Morimoto
2017-12-06  2:35 ` [PATCH 8/x][RFC] ASoC: wm0010: " Kuninori Morimoto

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox