Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eeec12bf authored by Graeme Gregory's avatar Graeme Gregory Committed by Jaroslav Kysela
Browse files

[ALSA] soc - DAPM - add hook to read state of DAPM widget



This adds a hook to read the power state of a DAPM widget, I use this
in the gta02 driver to expose certain DAPM widgets in the mixer for
ease of audio routing.

Signed-off-by: default avatarGraeme Gregory <graeme@openmoko.org>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
parent 54e7e616
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -223,6 +223,8 @@ int snd_soc_dapm_sys_add(struct device *dev);
/* dapm audio endpoint control */
/* dapm audio endpoint control */
int snd_soc_dapm_set_endpoint(struct snd_soc_codec *codec,
int snd_soc_dapm_set_endpoint(struct snd_soc_codec *codec,
	char *pin, int status);
	char *pin, int status);
int snd_soc_dapm_get_endpoint_status(struct snd_soc_codec *codec,
	char *pin);
int snd_soc_dapm_sync_endpoints(struct snd_soc_codec *codec);
int snd_soc_dapm_sync_endpoints(struct snd_soc_codec *codec);


/* dapm widget types */
/* dapm widget types */
+23 −0
Original line number Original line Diff line number Diff line
@@ -1342,6 +1342,29 @@ int snd_soc_dapm_set_endpoint(struct snd_soc_codec *codec,
}
}
EXPORT_SYMBOL_GPL(snd_soc_dapm_set_endpoint);
EXPORT_SYMBOL_GPL(snd_soc_dapm_set_endpoint);


/**
 * snd_soc_dapm_get_endpoint_status - get audio endpoint status
 * @codec: audio codec
 * @endpoint: audio signal endpoint (or start point)
 *
 * Get audio endpoint status - connected or disconnected.
 *
 * Returns status
 */
int snd_soc_dapm_get_endpoint_status(struct snd_soc_codec *codec,
	char *endpoint)
{
	struct snd_soc_dapm_widget *w;

	list_for_each_entry(w, &codec->dapm_widgets, list) {
		if (!strcmp(w->name, endpoint))
			return w->connected;
	}

	return 0;
}
EXPORT_SYMBOL_GPL(snd_soc_dapm_get_endpoint);

/**
/**
 * snd_soc_dapm_free - free dapm resources
 * snd_soc_dapm_free - free dapm resources
 * @socdev: SoC device
 * @socdev: SoC device