From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Pawel Furtak Date: Sun, 25 Nov 2018 17:04:36 +0100 Subject: [PATCH] ASoC: Intel: Skylake: Modify skl_platform_register Modify skl_platform_register function to allow registration of different component driver. Change-Id: I4a6474a37b8c40e33b1d0484cfab4f17aac81000 Signed-off-by: Pawel Furtak Tracked-On: OAM-72189 Reviewed-by: Rojewski, Cezary Tested-by: Rojewski, Cezary --- sound/soc/intel/skylake/skl-pcm.c | 12 ++++++++++-- sound/soc/intel/skylake/skl.h | 2 ++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c index a692f480fe0e..7969d6b7a85e 100644 --- a/sound/soc/intel/skylake/skl-pcm.c +++ b/sound/soc/intel/skylake/skl-pcm.c @@ -2144,7 +2144,8 @@ static struct snd_soc_dai_driver ssp_dai_info = { }, }; -int skl_platform_register(struct device *dev) +int skl_platform_component_register(struct device *dev, + const struct snd_soc_component_driver *component_drv) { int ret; struct hdac_bus *bus = dev_get_drvdata(dev); @@ -2212,7 +2213,7 @@ int skl_platform_register(struct device *dev) memcpy(&dais[num_platform_dais + skl->grp_cnt.cnt], skl_fe_dai, sizeof(skl_fe_dai)); - ret = devm_snd_soc_register_component(dev, &skl_component, dais, + ret = devm_snd_soc_register_component(dev, component_drv, dais, total_dais); if (ret) goto err; @@ -2225,6 +2226,13 @@ int skl_platform_register(struct device *dev) dev_err(dev, "soc component registration failed %d\n", ret); return ret; } +EXPORT_SYMBOL(skl_platform_component_register); + +int skl_platform_register(struct device *dev) +{ + return skl_platform_component_register(dev, &skl_component); +} +EXPORT_SYMBOL(skl_platform_register); int skl_platform_unregister(struct device *dev) { diff --git a/sound/soc/intel/skylake/skl.h b/sound/soc/intel/skylake/skl.h index a1536d326c62..94cabe5b8afa 100644 --- a/sound/soc/intel/skylake/skl.h +++ b/sound/soc/intel/skylake/skl.h @@ -222,6 +222,8 @@ struct skl_module_cfg; int skl_pcm_new(struct snd_soc_pcm_runtime *rtd); void skl_pcm_free(struct snd_pcm *pcm); +int skl_platform_component_register(struct device *dev, + const struct snd_soc_component_driver *component_drv); int skl_platform_soc_probe(struct snd_soc_component *component); int skl_platform_open(struct snd_pcm_substream *substream); int skl_platform_pcm_trigger(struct snd_pcm_substream *substream, -- https://clearlinux.org