Hi Mark Current ALSA SoC is handling snd_soc_card related operation, but it is implmemented directly without using function/macro, and at random place. This v2 patch-set creates new snd_soc_card_xxx() functions which handles snd_soc_card related operation, and implmement these at new soc-card.c. v1 -> v2 - careed scripts/checkpatch.pl except for MAINTAINERS file update - added detail log at git-log, and/or comment at file. - cares "if (card)" under snd_soc_card_xxx() Link: https://lore.kernel.org/r/87h7w3339l.wl-kuninori.morimoto.gx@xxxxxxxxxxx Kuninori Morimoto (19): 1 ASoC: soc.h: convert bool to bit field for snd_soc_card 2 ASoC: add soc-card.c 3 ASoC: soc-card: move snd_soc_card_get_kcontrol() to soc-card 4 ASoC: soc-card: move snd_soc_card_jack_new() to soc-card 5 ASoC: soc-card: move snd_soc_card_set/get_drvdata() to soc-card 6 ASoC: soc-card: move snd_soc_card_get_codec_dai() to soc-card 7 ASoC: soc-card: move snd_soc_card_subclass to soc-card 8 ASoC: soc-card: add snd_soc_card_suspend_pre() 9 ASoC: soc-card: add snd_soc_card_suspend_post() 10 ASoC: soc-card: add snd_soc_card_resume_pre() 11 ASoC: soc-card: add snd_soc_card_resume_post() 12 ASoC: soc-card: add probed bit field to snd_soc_card 13 ASoC: soc-card: add snd_soc_card_probe() 14 ASoC: soc-card: add snd_soc_card_late_probe() 15 ASoC: soc-card: add snd_soc_card_remove() 16 ASoC: soc-card: add snd_soc_card_set_bias_level() 17 ASoC: soc-card: add snd_soc_card_set_bias_level_post() 18 ASoC: soc-card: add snd_soc_card_add_dai_link() 19 ASoC: soc-card: add snd_soc_card_remove_dai_link() include/sound/soc-card.h | 69 ++++++++++++ include/sound/soc.h | 53 ++------- sound/soc/Makefile | 2 +- sound/soc/soc-card.c | 225 +++++++++++++++++++++++++++++++++++++++ sound/soc/soc-core.c | 71 ++++-------- sound/soc/soc-dapm.c | 6 +- sound/soc/soc-jack.c | 38 ------- 7 files changed, 325 insertions(+), 139 deletions(-) create mode 100644 include/sound/soc-card.h create mode 100644 sound/soc/soc-card.c -- 2.17.1