5 Mar
2018
5 Mar
'18
9:35 p.m.
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@linaro.org 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