#define AC97_GPIO_PULL         0x58
 
 /* Use GPIO8 for rear speaker amplifier */
-static int rear_amp_power(struct snd_soc_codec *codec, int power)
+static int rear_amp_power(struct snd_soc_component *component, int power)
 {
        unsigned short reg;
 
        if (power) {
-               reg = snd_soc_read(codec, AC97_GPIO_CFG);
-               snd_soc_write(codec, AC97_GPIO_CFG, reg | 0x0100);
-               reg = snd_soc_read(codec, AC97_GPIO_PULL);
-               snd_soc_write(codec, AC97_GPIO_PULL, reg | (1<<15));
+               reg = snd_soc_component_read32(component, AC97_GPIO_CFG);
+               snd_soc_component_write(component, AC97_GPIO_CFG, reg | 0x0100);
+               reg = snd_soc_component_read32(component, AC97_GPIO_PULL);
+               snd_soc_component_write(component, AC97_GPIO_PULL, reg | (1<<15));
        } else {
-               reg = snd_soc_read(codec, AC97_GPIO_CFG);
-               snd_soc_write(codec, AC97_GPIO_CFG, reg & ~0x0100);
-               reg = snd_soc_read(codec, AC97_GPIO_PULL);
-               snd_soc_write(codec, AC97_GPIO_PULL, reg & ~(1<<15));
+               reg = snd_soc_component_read32(component, AC97_GPIO_CFG);
+               snd_soc_component_write(component, AC97_GPIO_CFG, reg & ~0x0100);
+               reg = snd_soc_component_read32(component, AC97_GPIO_PULL);
+               snd_soc_component_write(component, AC97_GPIO_PULL, reg & ~(1<<15));
        }
 
        return 0;
 {
        struct snd_soc_card *card = widget->dapm->card;
        struct snd_soc_pcm_runtime *rtd;
-       struct snd_soc_codec *codec;
+       struct snd_soc_component *component;
 
        rtd = snd_soc_get_pcm_runtime(card, card->dai_link[0].name);
-       codec = rtd->codec;
-       return rear_amp_power(codec, SND_SOC_DAPM_EVENT_ON(event));
+       component = rtd->codec_dai->component;
+       return rear_amp_power(component, SND_SOC_DAPM_EVENT_ON(event));
 }
 
 /* mioa701 machine dapm widgets */
 
 static int mioa701_wm9713_init(struct snd_soc_pcm_runtime *rtd)
 {
-       struct snd_soc_codec *codec = rtd->codec;
+       struct snd_soc_component *component = rtd->codec_dai->component;
 
        /* Prepare GPIO8 for rear speaker amplifier */
-       snd_soc_update_bits(codec, AC97_GPIO_CFG, 0x100, 0x100);
+       snd_soc_component_update_bits(component, AC97_GPIO_CFG, 0x100, 0x100);
 
        /* Prepare MIC input */
-       snd_soc_update_bits(codec, AC97_3D_CONTROL, 0xc000, 0xc000);
+       snd_soc_component_update_bits(component, AC97_3D_CONTROL, 0xc000, 0xc000);
 
        return 0;
 }