diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2019-07-26 00:51:43 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-08-05 11:24:17 -0400 |
commit | 7951b14611851bdae18e9bca18015b1d84731d0d (patch) | |
tree | 174514bb2129b10a535b86a99eac505e4a7ba197 | |
parent | 8e2a990d76aced95c6f01c2d67d8835c86f0ca67 (diff) |
ASoC: soc-component: move snd_soc_component_set_bias_level()
Current soc-dapm / soc-core are using a long way round to call
.set_bias_level.
if (driver->set_bias_level)
dapm->set_bias_level = ...;
...
if (dapm->set_bias_level)
ret = dapm->set_bias_level(...);
We can directly call it via driver->set_bias_level.
One note here is that both Card and Component have dapm,
but, Card's dapm doesn't have dapm->component.
We need to check it.
This patch moves snd_soc_component_set_bias_level() to soc-component.c
and updates parameters.
dapm->set_bias_level is no longer needed
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87tvb94d0n.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | include/sound/soc-component.h | 2 | ||||
-rw-r--r-- | include/sound/soc-dapm.h | 3 | ||||
-rw-r--r-- | sound/soc/soc-component.c | 9 | ||||
-rw-r--r-- | sound/soc/soc-core.c | 10 | ||||
-rw-r--r-- | sound/soc/soc-dapm.c | 4 |
5 files changed, 13 insertions, 15 deletions
diff --git a/include/sound/soc-component.h b/include/sound/soc-component.h index 1f84f04e2670..2aaf12bbbed0 100644 --- a/include/sound/soc-component.h +++ b/include/sound/soc-component.h | |||
@@ -285,6 +285,8 @@ void snd_soc_component_seq_notifier(struct snd_soc_component *component, | |||
285 | enum snd_soc_dapm_type type, int subseq); | 285 | enum snd_soc_dapm_type type, int subseq); |
286 | int snd_soc_component_stream_event(struct snd_soc_component *component, | 286 | int snd_soc_component_stream_event(struct snd_soc_component *component, |
287 | int event); | 287 | int event); |
288 | int snd_soc_component_set_bias_level(struct snd_soc_component *component, | ||
289 | enum snd_soc_bias_level level); | ||
288 | 290 | ||
289 | #ifdef CONFIG_REGMAP | 291 | #ifdef CONFIG_REGMAP |
290 | void snd_soc_component_init_regmap(struct snd_soc_component *component, | 292 | void snd_soc_component_init_regmap(struct snd_soc_component *component, |
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h index c2f14a335891..2aa73d6dd7be 100644 --- a/include/sound/soc-dapm.h +++ b/include/sound/soc-dapm.h | |||
@@ -670,9 +670,6 @@ struct snd_soc_dapm_context { | |||
670 | enum snd_soc_bias_level target_bias_level; | 670 | enum snd_soc_bias_level target_bias_level; |
671 | struct list_head list; | 671 | struct list_head list; |
672 | 672 | ||
673 | int (*set_bias_level)(struct snd_soc_dapm_context *dapm, | ||
674 | enum snd_soc_bias_level level); | ||
675 | |||
676 | struct snd_soc_dapm_wcache path_sink_cache; | 673 | struct snd_soc_dapm_wcache path_sink_cache; |
677 | struct snd_soc_dapm_wcache path_source_cache; | 674 | struct snd_soc_dapm_wcache path_source_cache; |
678 | 675 | ||
diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c index f33dda8023ec..cb63df6e46eb 100644 --- a/sound/soc/soc-component.c +++ b/sound/soc/soc-component.c | |||
@@ -68,6 +68,15 @@ int snd_soc_component_stream_event(struct snd_soc_component *component, | |||
68 | return 0; | 68 | return 0; |
69 | } | 69 | } |
70 | 70 | ||
71 | int snd_soc_component_set_bias_level(struct snd_soc_component *component, | ||
72 | enum snd_soc_bias_level level) | ||
73 | { | ||
74 | if (component->driver->set_bias_level) | ||
75 | return component->driver->set_bias_level(component, level); | ||
76 | |||
77 | return 0; | ||
78 | } | ||
79 | |||
71 | int snd_soc_component_enable_pin(struct snd_soc_component *component, | 80 | int snd_soc_component_enable_pin(struct snd_soc_component *component, |
72 | const char *pin) | 81 | const char *pin) |
73 | { | 82 | { |
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 8cfbe5fb5921..0f75dac4bb26 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -2646,14 +2646,6 @@ int snd_soc_register_dai(struct snd_soc_component *component, | |||
2646 | } | 2646 | } |
2647 | EXPORT_SYMBOL_GPL(snd_soc_register_dai); | 2647 | EXPORT_SYMBOL_GPL(snd_soc_register_dai); |
2648 | 2648 | ||
2649 | static int snd_soc_component_set_bias_level(struct snd_soc_dapm_context *dapm, | ||
2650 | enum snd_soc_bias_level level) | ||
2651 | { | ||
2652 | struct snd_soc_component *component = dapm->component; | ||
2653 | |||
2654 | return component->driver->set_bias_level(component, level); | ||
2655 | } | ||
2656 | |||
2657 | static int snd_soc_component_initialize(struct snd_soc_component *component, | 2649 | static int snd_soc_component_initialize(struct snd_soc_component *component, |
2658 | const struct snd_soc_component_driver *driver, struct device *dev) | 2650 | const struct snd_soc_component_driver *driver, struct device *dev) |
2659 | { | 2651 | { |
@@ -2674,8 +2666,6 @@ static int snd_soc_component_initialize(struct snd_soc_component *component, | |||
2674 | dapm->bias_level = SND_SOC_BIAS_OFF; | 2666 | dapm->bias_level = SND_SOC_BIAS_OFF; |
2675 | dapm->idle_bias_off = !driver->idle_bias_on; | 2667 | dapm->idle_bias_off = !driver->idle_bias_on; |
2676 | dapm->suspend_bias_off = driver->suspend_bias_off; | 2668 | dapm->suspend_bias_off = driver->suspend_bias_off; |
2677 | if (driver->set_bias_level) | ||
2678 | dapm->set_bias_level = snd_soc_component_set_bias_level; | ||
2679 | 2669 | ||
2680 | INIT_LIST_HEAD(&component->dai_list); | 2670 | INIT_LIST_HEAD(&component->dai_list); |
2681 | mutex_init(&component->io_mutex); | 2671 | mutex_init(&component->io_mutex); |
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 9288b2b43f98..d09bdca63c62 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
@@ -684,8 +684,8 @@ int snd_soc_dapm_force_bias_level(struct snd_soc_dapm_context *dapm, | |||
684 | { | 684 | { |
685 | int ret = 0; | 685 | int ret = 0; |
686 | 686 | ||
687 | if (dapm->set_bias_level) | 687 | if (dapm->component) |
688 | ret = dapm->set_bias_level(dapm, level); | 688 | ret = snd_soc_component_set_bias_level(dapm->component, level); |
689 | 689 | ||
690 | if (ret == 0) | 690 | if (ret == 0) |
691 | dapm->bias_level = level; | 691 | dapm->bias_level = level; |