--- zzzz-none-000/linux-3.10.107/sound/soc/codecs/wm8770.c 2017-06-27 09:49:32.000000000 +0000 +++ scorpion-7490-727/linux-3.10.107/sound/soc/codecs/wm8770.c 2021-02-04 17:41:59.000000000 +0000 @@ -308,9 +308,7 @@ static int vout12supply_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event) { - struct snd_soc_codec *codec; - - codec = w->codec; + struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); switch (event) { case SND_SOC_DAPM_PRE_PMU: @@ -327,9 +325,7 @@ static int vout34supply_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event) { - struct snd_soc_codec *codec; - - codec = w->codec; + struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); switch (event) { case SND_SOC_DAPM_PRE_PMU: @@ -426,16 +422,16 @@ wm8770 = snd_soc_codec_get_drvdata(codec); iface = 0; - switch (params_format(params)) { - case SNDRV_PCM_FORMAT_S16_LE: + switch (params_width(params)) { + case 16: break; - case SNDRV_PCM_FORMAT_S20_3LE: + case 20: iface |= 0x10; break; - case SNDRV_PCM_FORMAT_S24_LE: + case 24: iface |= 0x20; break; - case SNDRV_PCM_FORMAT_S32_LE: + case 32: iface |= 0x30; break; } @@ -514,7 +510,7 @@ case SND_SOC_BIAS_PREPARE: 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) { ret = regulator_bulk_enable(ARRAY_SIZE(wm8770->supplies), wm8770->supplies); if (ret) { @@ -538,7 +534,6 @@ break; } - codec->dapm.bias_level = level; return 0; } @@ -580,12 +575,6 @@ wm8770 = snd_soc_codec_get_drvdata(codec); wm8770->codec = codec; - ret = snd_soc_codec_set_cache_io(codec, 7, 9, SND_SOC_REGMAP); - if (ret < 0) { - dev_err(codec->dev, "Failed to set cache I/O: %d\n", ret); - return ret; - } - ret = regulator_bulk_enable(ARRAY_SIZE(wm8770->supplies), wm8770->supplies); if (ret) { @@ -714,7 +703,6 @@ static struct spi_driver wm8770_spi_driver = { .driver = { .name = "wm8770", - .owner = THIS_MODULE, .of_match_table = wm8770_of_match, }, .probe = wm8770_spi_probe,