Merge branch 'for-linus' into for-next
authorTakashi Iwai <tiwai@suse.de>
Thu, 11 Jun 2015 04:52:31 +0000 (06:52 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 11 Jun 2015 04:52:31 +0000 (06:52 +0200)
This merges and resolves the non-trivial conflicts with the recent fix
for hda-i915 binding fallback.

Conflicts:
sound/pci/hda/hda_intel.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
1  2 
sound/pci/hda/hda_intel.c

index 7933fb00da4f5ce98e94624711b50121093b76aa,8a0af6770e1d639118b37254ee63b10246c8ea9a..3738363e8ee1d68c6c65d014b55eb9f5079639cd
@@@ -1973,30 -1850,22 +1973,31 @@@ static int azx_probe_continue(struct az
        int dev = chip->dev_index;
        int err;
  
 -      /* Request power well for Haswell HDA controller and codec */
 +      hda->probe_continued = 1;
 +
 +      /* Request display power well for the HDA controller or codec. For
 +       * Haswell/Broadwell, both the display HDA controller and codec need
 +       * this power. For other platforms, like Baytrail/Braswell, only the
 +       * display codec needs the power and it can be released after probe.
 +       */
        if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL) {
 -#ifdef CONFIG_SND_HDA_I915
 -              err = hda_i915_init(hda);
 +              /* HSW/BDW controllers need this power */
 +              if (CONTROLLER_IN_GPU(pci))
 +                      hda->need_i915_power = 1;
 +
 +              err = snd_hdac_i915_init(bus);
                if (err < 0)
-                       goto i915_power_fail;
+                       goto skip_i915;
 -              err = hda_display_power(hda, true);
 +
 +              err = snd_hdac_display_power(bus, true);
                if (err < 0) {
                        dev_err(chip->card->dev,
                                "Cannot turn on display power on i915\n");
 -                      goto out_free;
 +                      goto i915_power_fail;
                }
 -#endif
        }
  
+  skip_i915:
        err = azx_first_init(chip);
        if (err < 0)
                goto out_free;