On Thu, 2010-06-24 at 17:38 +0400, Vladimir Zapolskiy wrote: > This change wipes out a hardcoded macro, which enables codec bias > level control. Now is_powered_on_standby value shall be used instead. > > Signed-off-by: Vladimir Zapolskiy <vzapolskiy@xxxxxxxxx> > --- > include/sound/uda134x.h | 12 ++++++++++++ > sound/soc/codecs/uda134x.c | 21 +++++---------------- > 2 files changed, 17 insertions(+), 16 deletions(-) > > diff --git a/include/sound/uda134x.h b/include/sound/uda134x.h > index 509efb0..e475659 100644 > --- a/include/sound/uda134x.h > +++ b/include/sound/uda134x.h > @@ -18,6 +18,18 @@ struct uda134x_platform_data { > struct l3_pins l3; > void (*power) (int); > int model; > + /* > + ALSA SOC usually puts the device in standby mode when it's not used > + for sometime. If you unset is_powered_on_standby the driver will > + turn off the ADC/DAC when this callback is invoked and turn it back > + on when needed. Unfortunately this will result in a very light bump > + (it can be audible only with good earphones). If this bothers you > + set is_powered_on_standby, you will have slightly higher power > + consumption. Please note that sending the L3 command for ADC is > + enough to make the bump, so it doesn't make difference if you > + completely take off power from the codec. > + */ > + int is_powered_on_standby; > #define UDA134X_UDA1340 1 > #define UDA134X_UDA1341 2 > #define UDA134X_UDA1344 3 > diff --git a/sound/soc/codecs/uda134x.c b/sound/soc/codecs/uda134x.c > index e8066b6..5c7b054 100644 > --- a/sound/soc/codecs/uda134x.c > +++ b/sound/soc/codecs/uda134x.c > @@ -27,19 +27,6 @@ > #include "uda134x.h" > > > -#define POWER_OFF_ON_STANDBY 1 > -/* > - ALSA SOC usually puts the device in standby mode when it's not used > - for sometime. If you define POWER_OFF_ON_STANDBY the driver will > - turn off the ADC/DAC when this callback is invoked and turn it back > - on when needed. Unfortunately this will result in a very light bump > - (it can be audible only with good earphones). If this bothers you > - just comment this line, you will have slightly higher power > - consumption . Please note that sending the L3 command for ADC is > - enough to make the bump, so it doesn't make difference if you > - completely take off power from the codec. > - */ > - > #define UDA134X_RATES SNDRV_PCM_RATE_8000_48000 > #define UDA134X_FORMATS (SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | \ > SNDRV_PCM_FMTBIT_S18_3LE | SNDRV_PCM_FMTBIT_S20_3LE) > @@ -559,9 +546,11 @@ static int uda134x_soc_probe(struct platform_device *pdev) > codec->num_dai = 1; > codec->read = uda134x_read_reg_cache; > codec->write = uda134x_write; > -#ifdef POWER_OFF_ON_STANDBY > - codec->set_bias_level = uda134x_set_bias_level; > -#endif > + > + if (!pd->is_powered_on_standby) { > + codec->set_bias_level = uda134x_set_bias_level; The codec ops pointers have moved in multi-component. Can you put this check in your uda134x_set_bias_level() instead. Thanks Liam -- Freelance Developer, SlimLogic Ltd ASoC and Voltage Regulator Maintainer. http://www.slimlogic.co.uk _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel