@@ -664,9 +664,6 @@ int snd_soc_get_xr_sx(struct snd_kcontrol *kcontrol,
664
664
unsigned int regwshift = component -> val_bytes * BITS_PER_BYTE ;
665
665
unsigned int regwmask = GENMASK (regwshift - 1 , 0 );
666
666
unsigned long mask = GENMASK (mc -> nbits - 1 , 0 );
667
- unsigned int invert = mc -> invert ;
668
- long min = mc -> min ;
669
- long max = mc -> max ;
670
667
long val = 0 ;
671
668
unsigned int i ;
672
669
@@ -676,10 +673,10 @@ int snd_soc_get_xr_sx(struct snd_kcontrol *kcontrol,
676
673
val |= (regval & regwmask ) << (regwshift * (regcount - i - 1 ));
677
674
}
678
675
val &= mask ;
679
- if (min < 0 && val > max )
676
+ if (mc -> min < 0 && val > mc -> max )
680
677
val |= ~mask ;
681
- if (invert )
682
- val = max - val ;
678
+ if (mc -> invert )
679
+ val = mc -> max - val ;
683
680
ucontrol -> value .integer .value [0 ] = val ;
684
681
685
682
return 0 ;
@@ -711,16 +708,14 @@ int snd_soc_put_xr_sx(struct snd_kcontrol *kcontrol,
711
708
unsigned int regwshift = component -> val_bytes * BITS_PER_BYTE ;
712
709
unsigned int regwmask = GENMASK (regwshift - 1 , 0 );
713
710
unsigned long mask = GENMASK (mc -> nbits - 1 , 0 );
714
- unsigned int invert = mc -> invert ;
715
- long max = mc -> max ;
716
711
long val = ucontrol -> value .integer .value [0 ];
717
712
int ret = 0 ;
718
713
unsigned int i ;
719
714
720
715
if (val < mc -> min || val > mc -> max )
721
716
return - EINVAL ;
722
- if (invert )
723
- val = max - val ;
717
+ if (mc -> invert )
718
+ val = mc -> max - val ;
724
719
val &= mask ;
725
720
for (i = 0 ; i < regcount ; i ++ ) {
726
721
unsigned int regval = (val >> (regwshift * (regcount - i - 1 ))) &
@@ -755,17 +750,16 @@ int snd_soc_get_strobe(struct snd_kcontrol *kcontrol,
755
750
struct snd_soc_component * component = snd_kcontrol_chip (kcontrol );
756
751
struct soc_mixer_control * mc =
757
752
(struct soc_mixer_control * )kcontrol -> private_value ;
758
- unsigned int reg = mc -> reg ;
759
- unsigned int shift = mc -> shift ;
760
- unsigned int mask = BIT (shift );
761
753
unsigned int invert = mc -> invert != 0 ;
754
+ unsigned int mask = BIT (mc -> shift );
762
755
unsigned int val ;
763
756
764
- val = snd_soc_component_read (component , reg );
757
+ val = snd_soc_component_read (component , mc -> reg );
765
758
val &= mask ;
766
759
767
- if (shift != 0 && val != 0 )
768
- val = val >> shift ;
760
+ if (mc -> shift != 0 && val != 0 )
761
+ val = val >> mc -> shift ;
762
+
769
763
ucontrol -> value .enumerated .item [0 ] = val ^ invert ;
770
764
771
765
return 0 ;
@@ -788,19 +782,17 @@ int snd_soc_put_strobe(struct snd_kcontrol *kcontrol,
788
782
struct snd_soc_component * component = snd_kcontrol_chip (kcontrol );
789
783
struct soc_mixer_control * mc =
790
784
(struct soc_mixer_control * )kcontrol -> private_value ;
791
- unsigned int reg = mc -> reg ;
792
- unsigned int shift = mc -> shift ;
793
- unsigned int mask = BIT (shift );
794
- unsigned int invert = mc -> invert != 0 ;
795
785
unsigned int strobe = ucontrol -> value .enumerated .item [0 ] != 0 ;
786
+ unsigned int invert = mc -> invert != 0 ;
787
+ unsigned int mask = BIT (mc -> shift );
796
788
unsigned int val1 = (strobe ^ invert ) ? mask : 0 ;
797
789
unsigned int val2 = (strobe ^ invert ) ? 0 : mask ;
798
- int err ;
790
+ int ret ;
799
791
800
- err = snd_soc_component_update_bits (component , reg , mask , val1 );
801
- if (err < 0 )
802
- return err ;
792
+ ret = snd_soc_component_update_bits (component , mc -> reg , mask , val1 );
793
+ if (ret < 0 )
794
+ return ret ;
803
795
804
- return snd_soc_component_update_bits (component , reg , mask , val2 );
796
+ return snd_soc_component_update_bits (component , mc -> reg , mask , val2 );
805
797
}
806
798
EXPORT_SYMBOL_GPL (snd_soc_put_strobe );
0 commit comments