Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: tlv320adcx140: Merge fixes from Pengutronix

Merge patches that Pengutronix have been carrying in their tree for a
while and were upstreamed by Sascha Hauer together with some new
features that are going into the next release.

+7 -6
+7 -6
sound/soc/codecs/tlv320adcx140.c
··· 23 23 #include "tlv320adcx140.h" 24 24 25 25 struct adcx140_priv { 26 - struct snd_soc_component *component; 27 26 struct regulator *supply_areg; 28 27 struct gpio_desc *gpio_reset; 29 28 struct regmap *regmap; ··· 337 338 SOC_DAPM_SINGLE("Switch", ADCX140_CH4_CFG0, 0, 1, 0); 338 339 339 340 static const struct snd_kcontrol_new adcx140_dapm_dre_en_switch = 340 - SOC_DAPM_SINGLE("Switch", ADCX140_DSP_CFG1, 3, 1, 0); 341 + SOC_DAPM_SINGLE("Switch", ADCX140_DSP_CFG1, 3, 1, 1); 341 342 342 343 /* Output Mixer */ 343 344 static const struct snd_kcontrol_new adcx140_output_mixer_controls[] = { ··· 698 699 { 699 700 int pwr_ctrl = 0; 700 701 int ret = 0; 701 - struct snd_soc_component *component = adcx140->component; 702 702 703 703 if (power_state) 704 704 pwr_ctrl = ADCX140_PWR_CFG_ADC_PDZ | ADCX140_PWR_CFG_PLL_PDZ; ··· 709 711 ret = regmap_write(adcx140->regmap, ADCX140_PHASE_CALIB, 710 712 adcx140->phase_calib_on ? 0x00 : 0x40); 711 713 if (ret) 712 - dev_err(component->dev, "%s: register write error %d\n", 714 + dev_err(adcx140->dev, "%s: register write error %d\n", 713 715 __func__, ret); 714 716 } 715 717 ··· 725 727 struct adcx140_priv *adcx140 = snd_soc_component_get_drvdata(component); 726 728 u8 data = 0; 727 729 728 - switch (params_width(params)) { 730 + switch (params_physical_width(params)) { 729 731 case 16: 730 732 data = ADCX140_16_BIT_WORD; 731 733 break; ··· 740 742 break; 741 743 default: 742 744 dev_err(component->dev, "%s: Unsupported width %d\n", 743 - __func__, params_width(params)); 745 + __func__, params_physical_width(params)); 744 746 return -EINVAL; 745 747 } 746 748 ··· 1154 1156 adcx140->gpio_reset = devm_gpiod_get_optional(adcx140->dev, 1155 1157 "reset", GPIOD_OUT_LOW); 1156 1158 if (IS_ERR(adcx140->gpio_reset)) 1159 + return dev_err_probe(&i2c->dev, PTR_ERR(adcx140->gpio_reset), 1160 + "Failed to get Reset GPIO\n"); 1161 + if (!adcx140->gpio_reset) 1157 1162 dev_info(&i2c->dev, "Reset GPIO not defined\n"); 1158 1163 1159 1164 adcx140->supply_areg = devm_regulator_get_optional(adcx140->dev,