mirror of https://gitee.com/openkylin/linux.git
ASoC: uda134x: replace a macro with a value in platform struct.
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@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
5898dd9ebd
commit
cc3202f5da
|
@ -18,6 +18,18 @@ struct uda134x_platform_data {
|
||||||
struct l3_pins l3;
|
struct l3_pins l3;
|
||||||
void (*power) (int);
|
void (*power) (int);
|
||||||
int model;
|
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_UDA1340 1
|
||||||
#define UDA134X_UDA1341 2
|
#define UDA134X_UDA1341 2
|
||||||
#define UDA134X_UDA1344 3
|
#define UDA134X_UDA1344 3
|
||||||
|
|
|
@ -28,19 +28,6 @@
|
||||||
#include "uda134x.h"
|
#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_RATES SNDRV_PCM_RATE_8000_48000
|
||||||
#define UDA134X_FORMATS (SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | \
|
#define UDA134X_FORMATS (SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | \
|
||||||
SNDRV_PCM_FMTBIT_S18_3LE | SNDRV_PCM_FMTBIT_S20_3LE)
|
SNDRV_PCM_FMTBIT_S18_3LE | SNDRV_PCM_FMTBIT_S20_3LE)
|
||||||
|
@ -531,9 +518,11 @@ static int uda134x_soc_probe(struct platform_device *pdev)
|
||||||
codec->num_dai = 1;
|
codec->num_dai = 1;
|
||||||
codec->read = uda134x_read_reg_cache;
|
codec->read = uda134x_read_reg_cache;
|
||||||
codec->write = uda134x_write;
|
codec->write = uda134x_write;
|
||||||
#ifdef POWER_OFF_ON_STANDBY
|
|
||||||
codec->set_bias_level = uda134x_set_bias_level;
|
if (!pd->is_powered_on_standby) {
|
||||||
#endif
|
codec->set_bias_level = uda134x_set_bias_level;
|
||||||
|
}
|
||||||
|
|
||||||
INIT_LIST_HEAD(&codec->dapm_widgets);
|
INIT_LIST_HEAD(&codec->dapm_widgets);
|
||||||
INIT_LIST_HEAD(&codec->dapm_paths);
|
INIT_LIST_HEAD(&codec->dapm_paths);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue