Commit df55122b authored by Astrid Rost's avatar Astrid Rost Committed by Mark Brown

ASoC: soc-component: add get_jack_type

Add function to return the jack type of snd_jack_types.
This allows a generic card driver to add a jack with the specified
type.
Signed-off-by: default avatarAstrid Rost <astrid.rost@axis.com>
Link: https://lore.kernel.org/r/20230123135913.2720991-2-astrid.rost@axis.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent aa326917
...@@ -98,6 +98,7 @@ struct snd_soc_component_driver { ...@@ -98,6 +98,7 @@ struct snd_soc_component_driver {
int source, unsigned int freq_in, unsigned int freq_out); int source, unsigned int freq_in, unsigned int freq_out);
int (*set_jack)(struct snd_soc_component *component, int (*set_jack)(struct snd_soc_component *component,
struct snd_soc_jack *jack, void *data); struct snd_soc_jack *jack, void *data);
int (*get_jack_type)(struct snd_soc_component *component);
/* DT */ /* DT */
int (*of_xlate_dai_name)(struct snd_soc_component *component, 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, ...@@ -384,6 +385,7 @@ int snd_soc_component_set_pll(struct snd_soc_component *component, int pll_id,
unsigned int freq_out); unsigned int freq_out);
int snd_soc_component_set_jack(struct snd_soc_component *component, int snd_soc_component_set_jack(struct snd_soc_component *component,
struct snd_soc_jack *jack, void *data); struct snd_soc_jack *jack, void *data);
int snd_soc_component_get_jack_type(struct snd_soc_component *component);
void snd_soc_component_seq_notifier(struct snd_soc_component *component, void snd_soc_component_seq_notifier(struct snd_soc_component *component,
enum snd_soc_dapm_type type, int subseq); enum snd_soc_dapm_type type, int subseq);
......
...@@ -256,6 +256,26 @@ int snd_soc_component_set_jack(struct snd_soc_component *component, ...@@ -256,6 +256,26 @@ int snd_soc_component_set_jack(struct snd_soc_component *component,
} }
EXPORT_SYMBOL_GPL(snd_soc_component_set_jack); EXPORT_SYMBOL_GPL(snd_soc_component_set_jack);
/**
* snd_soc_component_get_jack_type
* @component: COMPONENTs
*
* Returns the jack type of the component
* This can either be the supported type or one read from
* devicetree with the property: jack-type.
*/
int snd_soc_component_get_jack_type(
struct snd_soc_component *component)
{
int ret = -ENOTSUPP;
if (component->driver->get_jack_type)
ret = component->driver->get_jack_type(component);
return soc_component_ret(component, ret);
}
EXPORT_SYMBOL_GPL(snd_soc_component_get_jack_type);
int snd_soc_component_module_get(struct snd_soc_component *component, int snd_soc_component_module_get(struct snd_soc_component *component,
void *mark, int upon_open) void *mark, int upon_open)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment