Add function to return the supported jack type of snd_jack_types. This allows a generic card driver to check whether the jack type is valid or add all supported ones.
Signed-off-by: Astrid Rost astrid.rost@axis.com --- include/sound/soc-component.h | 2 ++ sound/soc/soc-component.c | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+)
diff --git a/include/sound/soc-component.h b/include/sound/soc-component.h index c26ffb033777..5aa43c323028 100644 --- a/include/sound/soc-component.h +++ b/include/sound/soc-component.h @@ -98,6 +98,7 @@ struct snd_soc_component_driver { int source, unsigned int freq_in, unsigned int freq_out); int (*set_jack)(struct snd_soc_component *component, struct snd_soc_jack *jack, void *data); + int (*get_jack_supported_type)(struct snd_soc_component *component);
/* DT */ int (*of_xlate_dai_name)(struct snd_soc_component *component, @@ -384,6 +385,7 @@ int snd_soc_component_set_pll(struct snd_soc_component *component, int pll_id, unsigned int freq_out); int snd_soc_component_set_jack(struct snd_soc_component *component, struct snd_soc_jack *jack, void *data); +int snd_soc_component_get_jack_supported_type(struct snd_soc_component *component);
void snd_soc_component_seq_notifier(struct snd_soc_component *component, enum snd_soc_dapm_type type, int subseq); diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c index e12f8244242b..112da1647f10 100644 --- a/sound/soc/soc-component.c +++ b/sound/soc/soc-component.c @@ -256,6 +256,24 @@ int snd_soc_component_set_jack(struct snd_soc_component *component, } EXPORT_SYMBOL_GPL(snd_soc_component_set_jack);
+/** + * snd_soc_component_get_jack_supported_type + * @component: COMPONENTs + * + * Returns the supported jack type of the component + */ +int snd_soc_component_get_jack_supported_type( + struct snd_soc_component *component) +{ + int ret = -ENOTSUPP; + + if (component->driver->get_jack_supported_type) + ret = component->driver->get_jack_supported_type(component); + + return soc_component_ret(component, ret); +} +EXPORT_SYMBOL_GPL(snd_soc_component_get_jack_supported_type); + int snd_soc_component_module_get(struct snd_soc_component *component, void *mark, int upon_open) {