ASoC: simple-card-utils: accept NULL parameter on asoc_simple_card_xxx()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 21 Nov 2018 02:09:16 +0000 (02:09 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 21 Nov 2018 13:28:19 +0000 (13:28 +0000)
If simple-card-utils accept NULL pointer on asoc_simple_card_xxx(),
each driver code will be more simple.
Let's accept NULL pointer.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/generic/simple-card-utils.c

index 996bfe4..f3183a4 100644 (file)
@@ -153,13 +153,17 @@ EXPORT_SYMBOL_GPL(asoc_simple_card_parse_card_name);
 
 int asoc_simple_card_clk_enable(struct asoc_simple_dai *dai)
 {
-       return clk_prepare_enable(dai->clk);
+       if (dai)
+               return clk_prepare_enable(dai->clk);
+
+       return 0;
 }
 EXPORT_SYMBOL_GPL(asoc_simple_card_clk_enable);
 
 void asoc_simple_card_clk_disable(struct asoc_simple_dai *dai)
 {
-       clk_disable_unprepare(dai->clk);
+       if (dai)
+               clk_disable_unprepare(dai->clk);
 }
 EXPORT_SYMBOL_GPL(asoc_simple_card_clk_disable);
 
@@ -342,6 +346,9 @@ int asoc_simple_card_init_dai(struct snd_soc_dai *dai,
 {
        int ret;
 
+       if (!simple_dai)
+               return 0;
+
        if (simple_dai->sysclk) {
                ret = snd_soc_dai_set_sysclk(dai, 0, simple_dai->sysclk,
                                             simple_dai->clk_direction);