{
        struct snd_soc_pcm_runtime *rtd = substream->private_data;
        struct snd_soc_dai *codec_dai = rtd->codec_dai;
-       struct snd_soc_codec *codec = rtd->codec;
-       struct snd_soc_card *card = codec->card;
+       struct snd_soc_card *card = rtd->card;
        struct abe_twl6040 *priv = snd_soc_card_get_drvdata(card);
        int clk_id, freq;
        int ret;
 static int omap_abe_twl6040_init(struct snd_soc_pcm_runtime *rtd)
 {
        struct snd_soc_codec *codec = rtd->codec;
-       struct snd_soc_card *card = codec->card;
+       struct snd_soc_card *card = rtd->card;
        struct abe_twl6040 *priv = snd_soc_card_get_drvdata(card);
        int hs_trim;
        int ret = 0;
 
        struct snd_soc_pcm_runtime *rtd = substream->private_data;
        struct snd_soc_dai *codec_dai = rtd->codec_dai;
        struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
-       struct snd_soc_codec *codec = rtd->codec;
-       struct snd_soc_card *card = codec->card;
+       struct snd_soc_card *card = rtd->card;
        unsigned int fmt;
        int ret;
 
 static int omap_twl4030_init(struct snd_soc_pcm_runtime *rtd)
 {
        struct snd_soc_codec *codec = rtd->codec;
-       struct snd_soc_card *card = codec->card;
+       struct snd_soc_card *card = rtd->card;
        struct snd_soc_dapm_context *dapm = &codec->dapm;
        struct omap_tw4030_pdata *pdata = dev_get_platdata(card->dev);
        struct omap_twl4030 *priv = snd_soc_card_get_drvdata(card);
 
 static int rx51_aic34_init(struct snd_soc_pcm_runtime *rtd)
 {
        struct snd_soc_codec *codec = rtd->codec;
-       struct snd_soc_card *card = codec->card;
+       struct snd_soc_card *card = rtd->card;
        struct rx51_audio_pdata *pdata = snd_soc_card_get_drvdata(card);
 
        struct snd_soc_dapm_context *dapm = &codec->dapm;