diff options
Diffstat (limited to 'sound/soc/codecs/da732x.c')
-rw-r--r-- | sound/soc/codecs/da732x.c | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/sound/soc/codecs/da732x.c b/sound/soc/codecs/da732x.c index 4d1c302f5a76..7d168ec71cd7 100644 --- a/sound/soc/codecs/da732x.c +++ b/sound/soc/codecs/da732x.c | |||
@@ -1297,9 +1297,9 @@ static void da732x_dac_offset_adjust(struct snd_soc_codec *codec) | |||
1297 | msleep(DA732X_WAIT_FOR_STABILIZATION); | 1297 | msleep(DA732X_WAIT_FOR_STABILIZATION); |
1298 | 1298 | ||
1299 | /* Check DAC offset sign */ | 1299 | /* Check DAC offset sign */ |
1300 | sign[DA732X_HPL_DAC] = (codec->hw_read(codec, DA732X_REG_HPL_DAC_OFF_CNTL) & | 1300 | sign[DA732X_HPL_DAC] = (snd_soc_read(codec, DA732X_REG_HPL_DAC_OFF_CNTL) & |
1301 | DA732X_HP_DAC_OFF_CNTL_COMPO); | 1301 | DA732X_HP_DAC_OFF_CNTL_COMPO); |
1302 | sign[DA732X_HPR_DAC] = (codec->hw_read(codec, DA732X_REG_HPR_DAC_OFF_CNTL) & | 1302 | sign[DA732X_HPR_DAC] = (snd_soc_read(codec, DA732X_REG_HPR_DAC_OFF_CNTL) & |
1303 | DA732X_HP_DAC_OFF_CNTL_COMPO); | 1303 | DA732X_HP_DAC_OFF_CNTL_COMPO); |
1304 | 1304 | ||
1305 | /* Binary search DAC offset values (both channels at once) */ | 1305 | /* Binary search DAC offset values (both channels at once) */ |
@@ -1316,10 +1316,10 @@ static void da732x_dac_offset_adjust(struct snd_soc_codec *codec) | |||
1316 | 1316 | ||
1317 | msleep(DA732X_WAIT_FOR_STABILIZATION); | 1317 | msleep(DA732X_WAIT_FOR_STABILIZATION); |
1318 | 1318 | ||
1319 | if ((codec->hw_read(codec, DA732X_REG_HPL_DAC_OFF_CNTL) & | 1319 | if ((snd_soc_read(codec, DA732X_REG_HPL_DAC_OFF_CNTL) & |
1320 | DA732X_HP_DAC_OFF_CNTL_COMPO) ^ sign[DA732X_HPL_DAC]) | 1320 | DA732X_HP_DAC_OFF_CNTL_COMPO) ^ sign[DA732X_HPL_DAC]) |
1321 | offset[DA732X_HPL_DAC] &= ~step; | 1321 | offset[DA732X_HPL_DAC] &= ~step; |
1322 | if ((codec->hw_read(codec, DA732X_REG_HPR_DAC_OFF_CNTL) & | 1322 | if ((snd_soc_read(codec, DA732X_REG_HPR_DAC_OFF_CNTL) & |
1323 | DA732X_HP_DAC_OFF_CNTL_COMPO) ^ sign[DA732X_HPR_DAC]) | 1323 | DA732X_HP_DAC_OFF_CNTL_COMPO) ^ sign[DA732X_HPR_DAC]) |
1324 | offset[DA732X_HPR_DAC] &= ~step; | 1324 | offset[DA732X_HPR_DAC] &= ~step; |
1325 | 1325 | ||
@@ -1360,9 +1360,9 @@ static void da732x_output_offset_adjust(struct snd_soc_codec *codec) | |||
1360 | msleep(DA732X_WAIT_FOR_STABILIZATION); | 1360 | msleep(DA732X_WAIT_FOR_STABILIZATION); |
1361 | 1361 | ||
1362 | /* Check output offset sign */ | 1362 | /* Check output offset sign */ |
1363 | sign[DA732X_HPL_AMP] = codec->hw_read(codec, DA732X_REG_HPL) & | 1363 | sign[DA732X_HPL_AMP] = snd_soc_read(codec, DA732X_REG_HPL) & |
1364 | DA732X_HP_OUT_COMPO; | 1364 | DA732X_HP_OUT_COMPO; |
1365 | sign[DA732X_HPR_AMP] = codec->hw_read(codec, DA732X_REG_HPR) & | 1365 | sign[DA732X_HPR_AMP] = snd_soc_read(codec, DA732X_REG_HPR) & |
1366 | DA732X_HP_OUT_COMPO; | 1366 | DA732X_HP_OUT_COMPO; |
1367 | 1367 | ||
1368 | snd_soc_write(codec, DA732X_REG_HPL, DA732X_HP_OUT_COMP | | 1368 | snd_soc_write(codec, DA732X_REG_HPL, DA732X_HP_OUT_COMP | |
@@ -1383,10 +1383,10 @@ static void da732x_output_offset_adjust(struct snd_soc_codec *codec) | |||
1383 | 1383 | ||
1384 | msleep(DA732X_WAIT_FOR_STABILIZATION); | 1384 | msleep(DA732X_WAIT_FOR_STABILIZATION); |
1385 | 1385 | ||
1386 | if ((codec->hw_read(codec, DA732X_REG_HPL) & | 1386 | if ((snd_soc_read(codec, DA732X_REG_HPL) & |
1387 | DA732X_HP_OUT_COMPO) ^ sign[DA732X_HPL_AMP]) | 1387 | DA732X_HP_OUT_COMPO) ^ sign[DA732X_HPL_AMP]) |
1388 | offset[DA732X_HPL_AMP] &= ~step; | 1388 | offset[DA732X_HPL_AMP] &= ~step; |
1389 | if ((codec->hw_read(codec, DA732X_REG_HPR) & | 1389 | if ((snd_soc_read(codec, DA732X_REG_HPR) & |
1390 | DA732X_HP_OUT_COMPO) ^ sign[DA732X_HPR_AMP]) | 1390 | DA732X_HP_OUT_COMPO) ^ sign[DA732X_HPR_AMP]) |
1391 | offset[DA732X_HPR_AMP] &= ~step; | 1391 | offset[DA732X_HPR_AMP] &= ~step; |
1392 | 1392 | ||
@@ -1512,23 +1512,14 @@ static int da732x_probe(struct snd_soc_codec *codec) | |||
1512 | { | 1512 | { |
1513 | struct da732x_priv *da732x = snd_soc_codec_get_drvdata(codec); | 1513 | struct da732x_priv *da732x = snd_soc_codec_get_drvdata(codec); |
1514 | struct snd_soc_dapm_context *dapm = &codec->dapm; | 1514 | struct snd_soc_dapm_context *dapm = &codec->dapm; |
1515 | int ret = 0; | ||
1516 | 1515 | ||
1517 | da732x->codec = codec; | 1516 | da732x->codec = codec; |
1518 | 1517 | ||
1519 | dapm->idle_bias_off = false; | 1518 | dapm->idle_bias_off = false; |
1520 | 1519 | ||
1521 | codec->control_data = da732x->regmap; | ||
1522 | |||
1523 | ret = snd_soc_codec_set_cache_io(codec, 8, 8, SND_SOC_REGMAP); | ||
1524 | if (ret != 0) { | ||
1525 | dev_err(codec->dev, "Failed to register codec.\n"); | ||
1526 | goto err; | ||
1527 | } | ||
1528 | |||
1529 | da732x_set_bias_level(codec, SND_SOC_BIAS_STANDBY); | 1520 | da732x_set_bias_level(codec, SND_SOC_BIAS_STANDBY); |
1530 | err: | 1521 | |
1531 | return ret; | 1522 | return 0; |
1532 | } | 1523 | } |
1533 | 1524 | ||
1534 | static int da732x_remove(struct snd_soc_codec *codec) | 1525 | static int da732x_remove(struct snd_soc_codec *codec) |