Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc
[pandora-kernel.git] / sound / pci / hda / patch_analog.c
index d694e9d..8648917 100644 (file)
@@ -213,7 +213,9 @@ static int ad198x_build_controls(struct hda_codec *codec)
                        return err;
        }
        if (spec->multiout.dig_out_nid) {
-               err = snd_hda_create_spdif_out_ctls(codec, spec->multiout.dig_out_nid);
+               err = snd_hda_create_spdif_out_ctls(codec,
+                                                   spec->multiout.dig_out_nid,
+                                                   spec->multiout.dig_out_nid);
                if (err < 0)
                        return err;
                err = snd_hda_create_spdif_share_sw(codec,
@@ -561,7 +563,7 @@ static void ad198x_free(struct hda_codec *codec)
        snd_hda_detach_beep_device(codec);
 }
 
-#ifdef SND_HDA_NEEDS_RESUME
+#ifdef CONFIG_PM
 static int ad198x_suspend(struct hda_codec *codec, pm_message_t state)
 {
        ad198x_shutup(codec);
@@ -577,7 +579,7 @@ static const struct hda_codec_ops ad198x_patch_ops = {
 #ifdef CONFIG_SND_HDA_POWER_SAVE
        .check_power_status = ad198x_check_power_status,
 #endif
-#ifdef SND_HDA_NEEDS_RESUME
+#ifdef CONFIG_PM
        .suspend = ad198x_suspend,
 #endif
        .reboot_notify = ad198x_shutup,
@@ -1920,7 +1922,8 @@ static int patch_ad1981(struct hda_codec *codec)
                spec->mixers[0] = ad1981_hp_mixers;
                spec->num_init_verbs = 2;
                spec->init_verbs[1] = ad1981_hp_init_verbs;
-               spec->multiout.dig_out_nid = 0;
+               if (!is_jack_available(codec, 0x0a))
+                       spec->multiout.dig_out_nid = 0;
                spec->input_mux = &ad1981_hp_capture_source;
 
                codec->patch_ops.init = ad1981_hp_init;