| Index: sound/soc/codecs/wm8580.c
|
| diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c
|
| index 8725d4e754310d86774935b48e1a2443fe04405c..8f6b5ee6645b619a735ba79c79c840d055ee07cc 100644
|
| --- a/sound/soc/codecs/wm8580.c
|
| +++ b/sound/soc/codecs/wm8580.c
|
| @@ -31,7 +31,6 @@
|
| #include <sound/pcm.h>
|
| #include <sound/pcm_params.h>
|
| #include <sound/soc.h>
|
| -#include <sound/soc-dapm.h>
|
| #include <sound/tlv.h>
|
| #include <sound/initval.h>
|
| #include <asm/div64.h>
|
| @@ -191,7 +190,6 @@ static const char *wm8580_supply_names[WM8580_NUM_SUPPLIES] = {
|
| struct wm8580_priv {
|
| enum snd_soc_control_type control_type;
|
| struct regulator_bulk_data supplies[WM8580_NUM_SUPPLIES];
|
| - u16 reg_cache[WM8580_MAX_REGISTER + 1];
|
| struct pll_state a;
|
| struct pll_state b;
|
| int sysclk[2];
|
| @@ -302,10 +300,11 @@ static const struct snd_soc_dapm_route audio_map[] = {
|
|
|
| static int wm8580_add_widgets(struct snd_soc_codec *codec)
|
| {
|
| - snd_soc_dapm_new_controls(codec, wm8580_dapm_widgets,
|
| - ARRAY_SIZE(wm8580_dapm_widgets));
|
| + struct snd_soc_dapm_context *dapm = &codec->dapm;
|
|
|
| - snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
|
| + snd_soc_dapm_new_controls(dapm, wm8580_dapm_widgets,
|
| + ARRAY_SIZE(wm8580_dapm_widgets));
|
| + snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
|
|
|
| return 0;
|
| }
|
| @@ -507,13 +506,13 @@ static int wm8580_paif_hw_params(struct snd_pcm_substream *substream,
|
| }
|
|
|
| /* Look up the SYSCLK ratio; accept only exact matches */
|
| - ratio = wm8580->sysclk[dai->id] / params_rate(params);
|
| + ratio = wm8580->sysclk[dai->driver->id] / params_rate(params);
|
| for (i = 0; i < ARRAY_SIZE(wm8580_sysclk_ratios); i++)
|
| if (ratio == wm8580_sysclk_ratios[i])
|
| break;
|
| if (i == ARRAY_SIZE(wm8580_sysclk_ratios)) {
|
| dev_err(codec->dev, "Invalid clock ratio %d/%d\n",
|
| - wm8580->sysclk[dai->id], params_rate(params));
|
| + wm8580->sysclk[dai->driver->id], params_rate(params));
|
| return -EINVAL;
|
| }
|
| paifa |= i;
|
| @@ -716,7 +715,7 @@ static int wm8580_set_sysclk(struct snd_soc_dai *dai, int clk_id,
|
|
|
| switch (clk_id) {
|
| case WM8580_CLKSRC_ADCMCLK:
|
| - if (dai->id != WM8580_DAI_PAIFTX)
|
| + if (dai->driver->id != WM8580_DAI_PAIFTX)
|
| return -EINVAL;
|
| sel = 0 << sel_shift;
|
| break;
|
| @@ -735,7 +734,7 @@ static int wm8580_set_sysclk(struct snd_soc_dai *dai, int clk_id,
|
| }
|
|
|
| /* We really should validate PLL settings but not yet */
|
| - wm8580->sysclk[dai->id] = freq;
|
| + wm8580->sysclk[dai->driver->id] = freq;
|
|
|
| return snd_soc_update_bits(codec, WM8580_CLKSEL, sel_mask, sel);
|
| }
|
| @@ -767,7 +766,7 @@ static int wm8580_set_bias_level(struct snd_soc_codec *codec,
|
| break;
|
|
|
| case SND_SOC_BIAS_STANDBY:
|
| - if (codec->bias_level == SND_SOC_BIAS_OFF) {
|
| + if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
|
| /* Power up and get individual control of the DACs */
|
| reg = snd_soc_read(codec, WM8580_PWRDN1);
|
| reg &= ~(WM8580_PWRDN1_PWDN | WM8580_PWRDN1_ALLDACPD);
|
| @@ -785,7 +784,7 @@ static int wm8580_set_bias_level(struct snd_soc_codec *codec,
|
| snd_soc_write(codec, WM8580_PWRDN1, reg | WM8580_PWRDN1_PWDN);
|
| break;
|
| }
|
| - codec->bias_level = level;
|
| + codec->dapm.bias_level = level;
|
| return 0;
|
| }
|
|
|
| @@ -905,7 +904,7 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8580 = {
|
| .set_bias_level = wm8580_set_bias_level,
|
| .reg_cache_size = ARRAY_SIZE(wm8580_reg),
|
| .reg_word_size = sizeof(u16),
|
| - .reg_cache_default = &wm8580_reg,
|
| + .reg_cache_default = wm8580_reg,
|
| };
|
|
|
| #if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
|
|
|