Merge branch 'pm-sleep'
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sun, 1 Nov 2015 23:52:19 +0000 (00:52 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sun, 1 Nov 2015 23:52:19 +0000 (00:52 +0100)
* pm-sleep:
  PM / hibernate: fix a comment typo
  input: i8042: Avoid resetting controller on system suspend/resume
  PM / PCI / ACPI: Kick devices that might have been reset by firmware
  PM / sleep: Add flags to indicate platform firmware involvement
  PM / sleep: Drop pm_request_idle() from pm_generic_complete()
  PCI / PM: Avoid resuming more devices during system suspend
  PM / wakeup: wakeup_source_create: use kstrdup_const
  PM / sleep: Report interrupt that caused system wakeup

1  2 
drivers/acpi/sleep.c

diff --combined drivers/acpi/sleep.c
index 3fe1fbec7677521b1c12ad1dec9a8f1c6e216d09,a0b4d781e606e248159ee21c1d53810a91ff5ad6..0d94621dc856080a0a3715040b7b5339c1edb248
@@@ -487,6 -487,8 +487,8 @@@ static int acpi_suspend_begin(suspend_s
                pr_err("ACPI does not support sleep state S%u\n", acpi_state);
                return -ENOSYS;
        }
+       if (acpi_state > ACPI_STATE_S1)
+               pm_set_suspend_via_firmware();
  
        acpi_pm_start(acpi_state);
        return 0;
@@@ -522,6 -524,7 +524,7 @@@ static int acpi_suspend_enter(suspend_s
                if (error)
                        return error;
                pr_info(PREFIX "Low-level resume complete\n");
+               pm_set_resume_via_firmware();
                break;
        }
        trace_suspend_resume(TPS("acpi_suspend"), acpi_state, false);
@@@ -632,16 -635,14 +635,16 @@@ static int acpi_freeze_prepare(void
        acpi_enable_wakeup_devices(ACPI_STATE_S0);
        acpi_enable_all_wakeup_gpes();
        acpi_os_wait_events_complete();
 -      enable_irq_wake(acpi_gbl_FADT.sci_interrupt);
 +      if (acpi_sci_irq_valid())
 +              enable_irq_wake(acpi_sci_irq);
        return 0;
  }
  
  static void acpi_freeze_restore(void)
  {
        acpi_disable_wakeup_devices(ACPI_STATE_S0);
 -      disable_irq_wake(acpi_gbl_FADT.sci_interrupt);
 +      if (acpi_sci_irq_valid())
 +              disable_irq_wake(acpi_sci_irq);
        acpi_enable_all_runtime_gpes();
  }