Re: [RFC PATCH] ASoC: dapm: add support to pinctrl dapm

From: Srinivas Kandagatla
Date: Mon Mar 05 2018 - 15:35:55 EST


Thanks for the review,

On 05/03/18 15:52, Mark Brown wrote:
On Mon, Mar 05, 2018 at 12:32:13PM +0000, srinivas.kandagatla@xxxxxxxxxx wrote:

+int dapm_pinctrl_event(struct snd_soc_dapm_widget *w,
+ struct snd_kcontrol *kcontrol, int event)
+{
+ struct snd_soc_dapm_pinctrl_priv *priv = w->priv;
+ struct pinctrl *p = w->pinctrl;
+ struct pinctrl_state *s;
+
+ if (!p || !priv)
+ return -EIO;
+
+ soc_dapm_async_complete(w->dapm);

This doesn't look right - we're trying to synchronize with the DAPM
async queue from something that should be run inside that very queue.
What is this supposed to be doing?

I thought this is supposed to ensure that any pending asynchronous I/O is completed before touching pinctrl framework.

TBH, I have done this inline with regulators/clk dapm events.

--srini