@@ -521,53 +521,36 @@ static const struct snd_soc_dapm_route wm9712_audio_map[] = {
521
521
{"ROUT2" , NULL , "Speaker PGA" },
522
522
};
523
523
524
- static unsigned int ac97_read (struct snd_soc_codec * codec ,
525
- unsigned int reg )
526
- {
527
- return snd_soc_read (codec , reg );
528
- }
529
-
530
- static int ac97_write (struct snd_soc_codec * codec , unsigned int reg ,
531
- unsigned int val )
532
- {
533
- return snd_soc_write (codec , reg , val );
534
- }
535
-
536
524
static int ac97_prepare (struct snd_pcm_substream * substream ,
537
525
struct snd_soc_dai * dai )
538
526
{
539
527
struct snd_soc_codec * codec = dai -> codec ;
540
528
int reg ;
541
- u16 vra ;
542
529
struct snd_pcm_runtime * runtime = substream -> runtime ;
543
530
544
- vra = ac97_read (codec , AC97_EXTENDED_STATUS );
545
- ac97_write (codec , AC97_EXTENDED_STATUS , vra | 0x1 );
531
+ snd_soc_update_bits (codec , AC97_EXTENDED_STATUS , 0x1 , 0x1 );
546
532
547
533
if (substream -> stream == SNDRV_PCM_STREAM_PLAYBACK )
548
534
reg = AC97_PCM_FRONT_DAC_RATE ;
549
535
else
550
536
reg = AC97_PCM_LR_ADC_RATE ;
551
537
552
- return ac97_write (codec , reg , runtime -> rate );
538
+ return snd_soc_write (codec , reg , runtime -> rate );
553
539
}
554
540
555
541
static int ac97_aux_prepare (struct snd_pcm_substream * substream ,
556
542
struct snd_soc_dai * dai )
557
543
{
558
544
struct snd_soc_codec * codec = dai -> codec ;
559
- u16 vra , xsle ;
560
545
struct snd_pcm_runtime * runtime = substream -> runtime ;
561
546
562
- vra = ac97_read (codec , AC97_EXTENDED_STATUS );
563
- ac97_write (codec , AC97_EXTENDED_STATUS , vra | 0x1 );
564
- xsle = ac97_read (codec , AC97_PCI_SID );
565
- ac97_write (codec , AC97_PCI_SID , xsle | 0x8000 );
547
+ snd_soc_update_bits (codec , AC97_EXTENDED_STATUS , 0x1 , 0x1 );
548
+ snd_soc_update_bits (codec , AC97_PCI_SID , 0x8000 , 0x8000 );
566
549
567
550
if (substream -> stream != SNDRV_PCM_STREAM_PLAYBACK )
568
551
return - ENODEV ;
569
552
570
- return ac97_write (codec , AC97_PCM_SURR_DAC_RATE , runtime -> rate );
553
+ return snd_soc_write (codec , AC97_PCM_SURR_DAC_RATE , runtime -> rate );
571
554
}
572
555
573
556
#define WM9712_AC97_RATES (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 |\
@@ -619,12 +602,12 @@ static int wm9712_set_bias_level(struct snd_soc_codec *codec,
619
602
case SND_SOC_BIAS_PREPARE :
620
603
break ;
621
604
case SND_SOC_BIAS_STANDBY :
622
- ac97_write (codec , AC97_POWERDOWN , 0x0000 );
605
+ snd_soc_write (codec , AC97_POWERDOWN , 0x0000 );
623
606
break ;
624
607
case SND_SOC_BIAS_OFF :
625
608
/* disable everything including AC link */
626
- ac97_write (codec , AC97_EXTENDED_MSTATUS , 0xffff );
627
- ac97_write (codec , AC97_POWERDOWN , 0xffff );
609
+ snd_soc_write (codec , AC97_EXTENDED_MSTATUS , 0xffff );
610
+ snd_soc_write (codec , AC97_POWERDOWN , 0xffff );
628
611
break ;
629
612
}
630
613
return 0 ;
@@ -671,7 +654,7 @@ static int wm9712_soc_probe(struct snd_soc_codec *codec)
671
654
snd_soc_codec_init_regmap (codec , regmap );
672
655
673
656
/* set alc mux to none */
674
- ac97_write (codec , AC97_VIDEO , ac97_read ( codec , AC97_VIDEO ) | 0x3000 );
657
+ snd_soc_update_bits (codec , AC97_VIDEO , 0x3000 , 0x3000 );
675
658
676
659
return 0 ;
677
660
err_free_ac97_codec :
0 commit comments