@@ -87,7 +87,6 @@ struct twl6040_data {
87
87
int plug_irq ;
88
88
int codec_powered ;
89
89
int pll ;
90
- int non_lp ;
91
90
int pll_power_mode ;
92
91
int hs_power_mode ;
93
92
int hs_power_mode_locked ;
@@ -588,10 +587,6 @@ static int out_drv_event(struct snd_soc_dapm_widget *w,
588
587
out -> left_step = priv -> hf_left_step ;
589
588
out -> right_step = priv -> hf_right_step ;
590
589
out -> step_delay = 5 ; /* 5 ms between volume ramp steps */
591
- if (SND_SOC_DAPM_EVENT_ON (event ))
592
- priv -> non_lp ++ ;
593
- else
594
- priv -> non_lp -- ;
595
590
break ;
596
591
default :
597
592
return -1 ;
@@ -686,18 +681,12 @@ static int twl6040_power_mode_event(struct snd_soc_dapm_widget *w,
686
681
int ret = 0 ;
687
682
688
683
if (SND_SOC_DAPM_EVENT_ON (event )) {
689
- priv -> non_lp ++ ;
690
- if (!strcmp (w -> name , "Earphone Driver" )) {
691
- /* Earphone doesn't support low power mode */
692
- priv -> hs_power_mode_locked = 1 ;
693
- ret = headset_power_mode (codec , 1 );
694
- }
684
+ /* Earphone doesn't support low power mode */
685
+ priv -> hs_power_mode_locked = 1 ;
686
+ ret = headset_power_mode (codec , 1 );
695
687
} else {
696
- priv -> non_lp -- ;
697
- if (!strcmp (w -> name , "Earphone Driver" )) {
698
- priv -> hs_power_mode_locked = 0 ;
699
- ret = headset_power_mode (codec , priv -> hs_power_mode );
700
- }
688
+ priv -> hs_power_mode_locked = 0 ;
689
+ ret = headset_power_mode (codec , priv -> hs_power_mode );
701
690
}
702
691
703
692
msleep (1 );
@@ -1125,14 +1114,10 @@ static const struct snd_soc_dapm_widget twl6040_dapm_widgets[] = {
1125
1114
/* DACs */
1126
1115
SND_SOC_DAPM_DAC ("HSDAC Left" , "Headset Playback" , SND_SOC_NOPM , 0 , 0 ),
1127
1116
SND_SOC_DAPM_DAC ("HSDAC Right" , "Headset Playback" , SND_SOC_NOPM , 0 , 0 ),
1128
- SND_SOC_DAPM_DAC_E ("HFDAC Left" , "Handsfree Playback" ,
1129
- TWL6040_REG_HFLCTL , 0 , 0 ,
1130
- twl6040_power_mode_event ,
1131
- SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD ),
1132
- SND_SOC_DAPM_DAC_E ("HFDAC Right" , "Handsfree Playback" ,
1133
- TWL6040_REG_HFRCTL , 0 , 0 ,
1134
- twl6040_power_mode_event ,
1135
- SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD ),
1117
+ SND_SOC_DAPM_DAC ("HFDAC Left" , "Handsfree Playback" ,
1118
+ TWL6040_REG_HFLCTL , 0 , 0 ),
1119
+ SND_SOC_DAPM_DAC ("HFDAC Right" , "Handsfree Playback" ,
1120
+ TWL6040_REG_HFRCTL , 0 , 0 ),
1136
1121
/* Virtual DAC for vibra path (DL4 channel) */
1137
1122
SND_SOC_DAPM_DAC ("VIBRA DAC" , "Vibra Playback" ,
1138
1123
SND_SOC_NOPM , 0 , 0 ),
@@ -1383,13 +1368,6 @@ static int twl6040_prepare(struct snd_pcm_substream *substream,
1383
1368
return - EINVAL ;
1384
1369
}
1385
1370
1386
- if ((priv -> sysclk == 17640000 ) && priv -> non_lp ) {
1387
- dev_err (codec -> dev ,
1388
- "some enabled paths aren't supported at %dHz\n" ,
1389
- priv -> sysclk );
1390
- return - EPERM ;
1391
- }
1392
-
1393
1371
ret = twl6040_set_pll (twl6040 , priv -> pll , priv -> clk_in , priv -> sysclk );
1394
1372
if (ret ) {
1395
1373
dev_err (codec -> dev , "Can not set PLL (%d)\n" , ret );
0 commit comments