@ -153,8 +153,7 @@ struct twl4030_priv {
u8 predrivel_enabled , predriver_enabled ;
u8 carkitl_enabled , carkitr_enabled ;
/* Delay needed after enabling the digimic interface */
unsigned int digimic_delay ;
struct twl4030_codec_data * pdata ;
} ;
/*
@ -348,7 +347,7 @@ static void twl4030_init_chip(struct snd_soc_codec *codec)
if ( ! pdata )
return ;
twl4030 - > digimic_delay = pdata - > digimic_delay ;
twl4030 - > pdata = pdata ;
reg = twl4030_read_reg_cache ( codec , TWL4030_REG_HS_POPN_SET ) ;
reg & = ~ TWL4030_RAMP_DELAY ;
@ -749,9 +748,9 @@ static int aif_event(struct snd_soc_dapm_widget *w,
static void headset_ramp ( struct snd_soc_codec * codec , int ramp )
{
struct twl4030_codec_data * pdata = codec - > dev - > platform_data ;
unsigned char hs_gain , hs_pop ;
struct twl4030_priv * twl4030 = snd_soc_codec_get_drvdata ( codec ) ;
struct twl4030_codec_data * pdata = twl4030 - > pdata ;
/* Base values for ramp delay calculation: 2^19 - 2^26 */
unsigned int ramp_base [ ] = { 524288 , 1048576 , 2097152 , 4194304 ,
8388608 , 16777216 , 33554432 , 67108864 } ;
@ -864,9 +863,10 @@ static int digimic_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol * kcontrol , int event )
{
struct twl4030_priv * twl4030 = snd_soc_codec_get_drvdata ( w - > codec ) ;
struct twl4030_codec_data * pdata = twl4030 - > pdata ;
if ( twl4030 - > digimic_delay )
twl4030_wait_ms ( twl4030 - > digimic_delay ) ;
if ( pdata & & pdata - > digimic_delay )
twl4030_wait_ms ( pdata - > digimic_delay ) ;
return 0 ;
}
@ -2254,8 +2254,8 @@ static int twl4030_soc_probe(struct snd_soc_codec *codec)
static int twl4030_soc_remove ( struct snd_soc_codec * codec )
{
struct twl4030_codec_data * pdata = dev_get_platdata ( codec - > dev ) ;
struct twl4030_priv * twl4030 = snd_soc_codec_get_drvdata ( codec ) ;
struct twl4030_codec_data * pdata = twl4030 - > pdata ;
/* Reset registers to their chip default before leaving */
twl4030_reset_registers ( codec ) ;