AC_VERB_GET_SUBSYSTEM_ID, 0);
        }
 
+#ifdef CONFIG_SND_HDA_POWER_SAVE
        codec->d3_stop_clk = snd_hda_codec_get_supported_ps(codec,
                                        codec->afg ? codec->afg : codec->mfg,
                                        AC_PWRST_CLKSTOP);
        if (!codec->d3_stop_clk)
                bus->power_keep_link_on = 1;
+#endif
 
        /* power-up all before initialization */
        hda_set_power_state(codec,
        int count;
        unsigned int state;
 
+#ifdef CONFIG_SND_HDA_POWER_SAVE
        codec->d3_stop_clk_ok = 0;
+#endif
 
        if (codec->patch_ops.set_power_state) {
                codec->patch_ops.set_power_state(codec, fg, power_state);
                        break;
        }
 
+#ifdef CONFIG_SND_HDA_POWER_SAVE
        if ((power_state == AC_PWRST_D3)
                && codec->d3_stop_clk && (state & AC_PWRST_CLK_STOP_OK))
                codec->d3_stop_clk_ok = 1;
+#endif
 }
 
 #ifdef CONFIG_SND_HDA_HWDEP
 
        struct snd_card *card = dev_get_drvdata(dev);
        struct azx *chip = card->private_data;
 
+#ifdef CONFIG_SND_HDA_POWER_SAVE
        if (!power_save_controller)
                return -EAGAIN;
+#endif
 
        azx_stop_chip(chip);
        azx_clear_irq_pending(chip);