These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / sound / soc / codecs / cs42l73.c
index 8ecedba..42a8fd4 100644 (file)
@@ -153,111 +153,18 @@ static bool cs42l73_volatile_register(struct device *dev, unsigned int reg)
 static bool cs42l73_readable_register(struct device *dev, unsigned int reg)
 {
        switch (reg) {
-       case CS42L73_DEVID_AB:
-       case CS42L73_DEVID_CD:
-       case CS42L73_DEVID_E:
-       case CS42L73_REVID:
-       case CS42L73_PWRCTL1:
-       case CS42L73_PWRCTL2:
-       case CS42L73_PWRCTL3:
-       case CS42L73_CPFCHC:
-       case CS42L73_OLMBMSDC:
-       case CS42L73_DMMCC:
-       case CS42L73_XSPC:
-       case CS42L73_XSPMMCC:
-       case CS42L73_ASPC:
-       case CS42L73_ASPMMCC:
-       case CS42L73_VSPC:
-       case CS42L73_VSPMMCC:
-       case CS42L73_VXSPFS:
-       case CS42L73_MIOPC:
-       case CS42L73_ADCIPC:
-       case CS42L73_MICAPREPGAAVOL:
-       case CS42L73_MICBPREPGABVOL:
-       case CS42L73_IPADVOL:
-       case CS42L73_IPBDVOL:
-       case CS42L73_PBDC:
-       case CS42L73_HLADVOL:
-       case CS42L73_HLBDVOL:
-       case CS42L73_SPKDVOL:
-       case CS42L73_ESLDVOL:
-       case CS42L73_HPAAVOL:
-       case CS42L73_HPBAVOL:
-       case CS42L73_LOAAVOL:
-       case CS42L73_LOBAVOL:
-       case CS42L73_STRINV:
-       case CS42L73_XSPINV:
-       case CS42L73_ASPINV:
-       case CS42L73_VSPINV:
-       case CS42L73_LIMARATEHL:
-       case CS42L73_LIMRRATEHL:
-       case CS42L73_LMAXHL:
-       case CS42L73_LIMARATESPK:
-       case CS42L73_LIMRRATESPK:
-       case CS42L73_LMAXSPK:
-       case CS42L73_LIMARATEESL:
-       case CS42L73_LIMRRATEESL:
-       case CS42L73_LMAXESL:
-       case CS42L73_ALCARATE:
-       case CS42L73_ALCRRATE:
-       case CS42L73_ALCMINMAX:
-       case CS42L73_NGCAB:
-       case CS42L73_ALCNGMC:
-       case CS42L73_MIXERCTL:
-       case CS42L73_HLAIPAA:
-       case CS42L73_HLBIPBA:
-       case CS42L73_HLAXSPAA:
-       case CS42L73_HLBXSPBA:
-       case CS42L73_HLAASPAA:
-       case CS42L73_HLBASPBA:
-       case CS42L73_HLAVSPMA:
-       case CS42L73_HLBVSPMA:
-       case CS42L73_XSPAIPAA:
-       case CS42L73_XSPBIPBA:
-       case CS42L73_XSPAXSPAA:
-       case CS42L73_XSPBXSPBA:
-       case CS42L73_XSPAASPAA:
-       case CS42L73_XSPAASPBA:
-       case CS42L73_XSPAVSPMA:
-       case CS42L73_XSPBVSPMA:
-       case CS42L73_ASPAIPAA:
-       case CS42L73_ASPBIPBA:
-       case CS42L73_ASPAXSPAA:
-       case CS42L73_ASPBXSPBA:
-       case CS42L73_ASPAASPAA:
-       case CS42L73_ASPBASPBA:
-       case CS42L73_ASPAVSPMA:
-       case CS42L73_ASPBVSPMA:
-       case CS42L73_VSPAIPAA:
-       case CS42L73_VSPBIPBA:
-       case CS42L73_VSPAXSPAA:
-       case CS42L73_VSPBXSPBA:
-       case CS42L73_VSPAASPAA:
-       case CS42L73_VSPBASPBA:
-       case CS42L73_VSPAVSPMA:
-       case CS42L73_VSPBVSPMA:
-       case CS42L73_MMIXCTL:
-       case CS42L73_SPKMIPMA:
-       case CS42L73_SPKMXSPA:
-       case CS42L73_SPKMASPA:
-       case CS42L73_SPKMVSPMA:
-       case CS42L73_ESLMIPMA:
-       case CS42L73_ESLMXSPA:
-       case CS42L73_ESLMASPA:
-       case CS42L73_ESLMVSPMA:
-       case CS42L73_IM1:
-       case CS42L73_IM2:
+       case CS42L73_DEVID_AB ... CS42L73_DEVID_E:
+       case CS42L73_REVID ... CS42L73_IM2:
                return true;
        default:
                return false;
        }
 }
 
-static const unsigned int hpaloa_tlv[] = {
-       TLV_DB_RANGE_HEAD(2),
+static const DECLARE_TLV_DB_RANGE(hpaloa_tlv,
        0, 13, TLV_DB_SCALE_ITEM(-7600, 200, 0),
-       14, 75, TLV_DB_SCALE_ITEM(-4900, 100, 0),
-};
+       14, 75, TLV_DB_SCALE_ITEM(-4900, 100, 0)
+);
 
 static DECLARE_TLV_DB_SCALE(adc_boost_tlv, 0, 2500, 0);
 
@@ -267,11 +174,10 @@ static DECLARE_TLV_DB_SCALE(ipd_tlv, -9600, 100, 0);
 
 static DECLARE_TLV_DB_SCALE(micpga_tlv, -600, 50, 0);
 
-static const unsigned int limiter_tlv[] = {
-       TLV_DB_RANGE_HEAD(2),
+static const DECLARE_TLV_DB_RANGE(limiter_tlv,
        0, 2, TLV_DB_SCALE_ITEM(-3000, 600, 0),
-       3, 7, TLV_DB_SCALE_ITEM(-1200, 300, 0),
-};
+       3, 7, TLV_DB_SCALE_ITEM(-1200, 300, 0)
+);
 
 static const DECLARE_TLV_DB_SCALE(attn_tlv, -6300, 100, 1);
 
@@ -1208,7 +1114,7 @@ static int cs42l73_set_bias_level(struct snd_soc_codec *codec,
                break;
 
        case SND_SOC_BIAS_STANDBY:
-               if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
+               if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF) {
                        regcache_cache_only(cs42l73->regmap, false);
                        regcache_sync(cs42l73->regmap);
                }
@@ -1228,7 +1134,6 @@ static int cs42l73_set_bias_level(struct snd_soc_codec *codec,
                snd_soc_update_bits(codec, CS42L73_DMMCC, CS42L73_MCLKDIS, 1);
                break;
        }
-       codec->dapm.bias_level = level;
        return 0;
 }
 
@@ -1237,8 +1142,8 @@ static int cs42l73_set_tristate(struct snd_soc_dai *dai, int tristate)
        struct snd_soc_codec *codec = dai->codec;
        int id = dai->id;
 
-       return snd_soc_update_bits(codec, CS42L73_SPC(id),
-                                       0x7F, tristate << 7);
+       return snd_soc_update_bits(codec, CS42L73_SPC(id), CS42L73_SP_3ST,
+                                  tristate << 7);
 }
 
 static const struct snd_pcm_hw_constraint_list constraints_12_24 = {
@@ -1492,7 +1397,6 @@ MODULE_DEVICE_TABLE(i2c, cs42l73_id);
 static struct i2c_driver cs42l73_i2c_driver = {
        .driver = {
                   .name = "cs42l73",
-                  .owner = THIS_MODULE,
                   .of_match_table = cs42l73_of_match,
                   },
        .id_table = cs42l73_id,