[alsa-devel] Is that reasonable to support pinctrl PM in ASoC core?

Nicolin Chen b42378 at freescale.com
Thu Oct 24 13:07:43 CEST 2013


Hi all,

It's quite popular that more drivers are using pinctrl PM, for example:
(Documentation/devicetree/bindings/arm/primecell.txt). Just like what
runtime PM does, it would de-active and en-active pin group depending
on whether it's being used or not.

And I think this pinctrl PM might be also beneficial to cpu dai drivers
since they might have actual pins, and they can hypnotize/wake them up
along with runtime PM:

@@ -183,6 +183,7 @@ static int soc_pcm_open(struct snd_pcm_substream *substream)
	struct snd_soc_dai_driver *codec_dai_drv = codec_dai->driver;
	int ret = 0;

+       pinctrl_pm_select_default_state(cpu_dai->dev);
	pm_runtime_get_sync(cpu_dai->dev);
	pm_runtime_get_sync(codec_dai->dev);
	pm_runtime_get_sync(platform->dev);

		       
As pinctrl PM is also reference counted and would return 0 if there
is no pinctrl settings, this would not break current ASoC subsystem
and any cpu dai driver.

So I just want to ask if it's reasonable to add it. Or another one:
is there anything similar to sleep pins? Although I've searched the
whole ./sound directory, it seems no drivers under it is using this
pinctrl PM.

Best regards,
Nicolin Chen





More information about the Alsa-devel mailing list