[alsa-devel] [PATCH 1/3] ASoC: core: Allow CODECs to set ignore_pmdown_time in the driver struct
This is usually not a use case dependant flag anyway.
Signed-off-by: Mark Brown broonie@opensource.wolfsonmicro.com --- include/sound/soc.h | 2 ++ sound/soc/soc-core.c | 1 + 2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/include/sound/soc.h b/include/sound/soc.h index ecd5d72..d1e7a6a 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -657,6 +657,8 @@ struct snd_soc_codec_driver { /* codec stream completion event */ int (*stream_event)(struct snd_soc_dapm_context *dapm, int event);
+ bool ignore_pmdown_time; /* Doesn't benefit from pmdown delay */ + /* probe ordering - for components with runtime dependencies */ int probe_order; int remove_order; diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 3a3b487..0b9974f 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -3380,6 +3380,7 @@ int snd_soc_register_codec(struct device *dev, codec->volatile_register = codec_drv->volatile_register; codec->readable_register = codec_drv->readable_register; codec->writable_register = codec_drv->writable_register; + codec->ignore_pmdown_time = codec_drv->ignore_pmdown_time; codec->dapm.bias_level = SND_SOC_BIAS_OFF; codec->dapm.dev = dev; codec->dapm.codec = codec;
It's set unconditionally.
Signed-off-by: Mark Brown broonie@opensource.wolfsonmicro.com --- sound/soc/codecs/twl6040.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c index 1a64edf..2d8c6b8 100644 --- a/sound/soc/codecs/twl6040.c +++ b/sound/soc/codecs/twl6040.c @@ -1540,7 +1540,6 @@ static int twl6040_probe(struct snd_soc_codec *codec)
priv->codec = codec; codec->control_data = dev_get_drvdata(codec->dev->parent); - codec->ignore_pmdown_time = 1;
if (pdata && pdata->hs_left_step && pdata->hs_right_step) { priv->hs_left_step = pdata->hs_left_step; @@ -1626,6 +1625,7 @@ static struct snd_soc_codec_driver soc_codec_dev_twl6040 = { .reg_cache_size = ARRAY_SIZE(twl6040_reg), .reg_word_size = sizeof(u8), .reg_cache_default = twl6040_reg, + .ignore_pmdown_time = true,
.controls = twl6040_snd_controls, .num_controls = ARRAY_SIZE(twl6040_snd_controls),
On 02/08/2012 08:37 PM, Mark Brown wrote:
It's set unconditionally.
Signed-off-by: Mark Brown broonie@opensource.wolfsonmicro.com
Acked-by: Peter Ujfalusi peter.ujfalusi@ti.com
The device is generally not succeptible to the issues that cause this to be an issue.
Signed-off-by: Mark Brown broonie@opensource.wolfsonmicro.com --- sound/soc/codecs/wm2200.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/sound/soc/codecs/wm2200.c b/sound/soc/codecs/wm2200.c index 0db2475..a9388df 100644 --- a/sound/soc/codecs/wm2200.c +++ b/sound/soc/codecs/wm2200.c @@ -1916,6 +1916,7 @@ static struct snd_soc_codec_driver soc_codec_wm2200 = { .probe = wm2200_probe,
.idle_bias_off = true, + .ignore_pmdown_time = true, .set_sysclk = wm2200_set_sysclk, .set_pll = wm2200_set_fll,
On Wed, 2012-02-08 at 18:37 +0000, Mark Brown wrote:
This is usually not a use case dependant flag anyway.
Signed-off-by: Mark Brown broonie@opensource.wolfsonmicro.com
include/sound/soc.h | 2 ++ sound/soc/soc-core.c | 1 + 2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/include/sound/soc.h b/include/sound/soc.h index ecd5d72..d1e7a6a 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -657,6 +657,8 @@ struct snd_soc_codec_driver { /* codec stream completion event */ int (*stream_event)(struct snd_soc_dapm_context *dapm, int event);
- bool ignore_pmdown_time; /* Doesn't benefit from pmdown delay */
- /* probe ordering - for components with runtime dependencies */ int probe_order; int remove_order;
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 3a3b487..0b9974f 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -3380,6 +3380,7 @@ int snd_soc_register_codec(struct device *dev, codec->volatile_register = codec_drv->volatile_register; codec->readable_register = codec_drv->readable_register; codec->writable_register = codec_drv->writable_register;
- codec->ignore_pmdown_time = codec_drv->ignore_pmdown_time; codec->dapm.bias_level = SND_SOC_BIAS_OFF; codec->dapm.dev = dev; codec->dapm.codec = codec;
All
Acked-by: Liam Girdwood lrg@ti.com
participants (3)
-
Liam Girdwood
-
Mark Brown
-
Peter Ujfalusi