summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorKuninori Morimoto2017-08-24 02:57:35 +0200
committerMark Brown2017-08-30 23:16:16 +0200
commit71ccef0df533cd9c8c6cbf1483a636a092088ab9 (patch)
treed0c9526d22dcf16f0b039eb5ca4303dfafbd5de5 /include/sound
parentMerge tag 'v4.13-rc7' into asoc-component (diff)
downloadkernel-qcow2-linux-71ccef0df533cd9c8c6cbf1483a636a092088ab9.tar.gz
kernel-qcow2-linux-71ccef0df533cd9c8c6cbf1483a636a092088ab9.tar.xz
kernel-qcow2-linux-71ccef0df533cd9c8c6cbf1483a636a092088ab9.zip
ASoC: add Component level set_sysclk
In current ALSA SoC, Codec only has set_sysclk feature. Codec will be merged into Component in next generation ALSA SoC, thus current Codec specific feature need to be merged into it. This is glue patch for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/soc.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h
index fbf57ff75958..813cdb95e049 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -795,6 +795,10 @@ struct snd_soc_component_driver {
int (*suspend)(struct snd_soc_component *);
int (*resume)(struct snd_soc_component *);
+ /* component wide operations */
+ int (*set_sysclk)(struct snd_soc_component *component,
+ int clk_id, int source, unsigned int freq, int dir);
+
/* DT */
int (*of_xlate_dai_name)(struct snd_soc_component *component,
struct of_phandle_args *args,
@@ -865,6 +869,9 @@ struct snd_soc_component {
int (*suspend)(struct snd_soc_component *);
int (*resume)(struct snd_soc_component *);
+ int (*set_sysclk)(struct snd_soc_component *component,
+ int clk_id, int source, unsigned int freq, int dir);
+
/* machine specific init */
int (*init)(struct snd_soc_component *component);
@@ -1459,6 +1466,10 @@ void snd_soc_component_async_complete(struct snd_soc_component *component);
int snd_soc_component_test_bits(struct snd_soc_component *component,
unsigned int reg, unsigned int mask, unsigned int value);
+/* component wide operations */
+int snd_soc_component_set_sysclk(struct snd_soc_component *component,
+ int clk_id, int source, unsigned int freq, int dir);
+
#ifdef CONFIG_REGMAP
void snd_soc_component_init_regmap(struct snd_soc_component *component,