07 Dec, 2011

1 commit


05 Nov, 2011

1 commit


22 Oct, 2011

1 commit


17 Oct, 2011

2 commits


30 Jul, 2011

1 commit


23 Mar, 2011

1 commit


17 Mar, 2011

1 commit

  • …rnel/git/tip/linux-2.6-tip

    * 'x86-trampoline-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Fix binutils-2.21 symbol related build failures
    x86-64, trampoline: Remove unused variable
    x86, reboot: Fix the use of passed arguments in 32-bit BIOS reboot
    x86, reboot: Move the real-mode reboot code to an assembly file
    x86: Make the GDT_ENTRY() macro in <asm/segment.h> safe for assembly
    x86, trampoline: Use the unified trampoline setup for ACPI wakeup
    x86, trampoline: Common infrastructure for low memory trampolines

    Fix up trivial conflicts in arch/x86/kernel/Makefile

    Linus Torvalds
     

15 Mar, 2011

1 commit


25 Feb, 2011

6 commits


18 Feb, 2011

1 commit


21 Jan, 2011

1 commit

  • It turns out that some device drivers map pages from the ACPI NVS region
    during resume using ioremap(), which conflicts with ioremap_cache() used
    for mapping those pages by the NVS save/restore code in nvs.c.

    Make the NVS pages mapped by the code in nvs.c be unmapped before device
    drivers' resume routines run.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

14 Jan, 2011

1 commit

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (59 commits)
    ACPI / PM: Fix build problems for !CONFIG_ACPI related to NVS rework
    ACPI: fix resource check message
    ACPI / Battery: Update information on info notification and resume
    ACPI: Drop device flag wake_capable
    ACPI: Always check if _PRW is present before trying to evaluate it
    ACPI / PM: Check status of power resources under mutexes
    ACPI / PM: Rename acpi_power_off_device()
    ACPI / PM: Drop acpi_power_nocheck
    ACPI / PM: Drop acpi_bus_get_power()
    Platform / x86: Make fujitsu_laptop use acpi_bus_update_power()
    ACPI / Fan: Rework the handling of power resources
    ACPI / PM: Register power resource devices as soon as they are needed
    ACPI / PM: Register acpi_power_driver early
    ACPI / PM: Add function for updating device power state consistently
    ACPI / PM: Add function for device power state initialization
    ACPI / PM: Introduce __acpi_bus_get_power()
    ACPI / PM: Introduce function for refcounting device power resources
    ACPI / PM: Add functions for manipulating lists of power resources
    ACPI / PM: Prevent acpi_power_get_inferred_state() from making changes
    ACPICA: Update version to 20101209
    ...

    Linus Torvalds
     

12 Jan, 2011

1 commit


07 Jan, 2011

2 commits


23 Dec, 2010

1 commit


14 Dec, 2010

2 commits


11 Dec, 2010

1 commit


16 Nov, 2010

2 commits

  • While at it, fix two checkpatch errors.
    Several non-const struct instances constified by this patch were added after
    the introduction of platform_suspend_ops in checkpatch.pl's list of "should
    be const" structs (79404849e90a41ea2109bd0e2f7c7164b0c4ce73).

    Patch against mainline.
    Inspired by hunks of the grsecurity patch, updated for newer kernels.

    Signed-off-by: Lionel Debroux
    Acked-by: Ingo Molnar
    Signed-off-by: Jiri Kosina

    Lionel Debroux
     
  • Patch against mainline.

    Changes since v1: added one hunk; no longer adding "const" qualifier to
    pointers in platform_hibernation_ops after seeing
    b4144e4f6e3b448d322095ca08af393682a69e33.

    Signed-off-by: Jiri Kosina

    Lionel Debroux
     

27 Oct, 2010

1 commit


26 Oct, 2010

1 commit


20 Oct, 2010

1 commit


16 Oct, 2010

1 commit

  • There is a number of problems with acpi_pm_device_sleep_state() now.
    First, if _S0W is not defined, it prevents devices from being put
    into D3 by PCI runtime PM, which shouldn't happen. Second, it
    shouldn't use adev->wakeup.state.enabled, because if it's set, it
    only means that either the device is permanently enabled to wake up
    the system, or that it has been enabled to do that through
    /proc/acpi/wakeup. Finally, it should be compiled if CONFIG_PM_SLEEP
    is not set, so that PCI runtime PM works correctly in that case.
    Fix these problems.

    Reported-by: Matthew Garrett
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     

25 Sep, 2010

1 commit

  • Commit 2a6b69765ad794389f2fc3e14a0afa1a995221c2 (ACPI: Store NVS
    state even when entering suspend to RAM) changed the ACPI suspend
    to RAM code so that the NVS memory area is always unconditionally
    saved during suspend and restored during resume, since some systems
    evidently need that for the suspend-resume to work on them. However,
    it turned out that this change broke suspend-resume on a few systems,
    so commit 72ad5d77fb981963edae15eee8196c80238f5ed0 (ACPI / Sleep:
    Allow the NVS saving to be skipped during suspend to RAM) introduced
    the acpi_sleep=nonvs command line switch to allow their users to
    work around this issue. To keep track of the systems that require
    this workaround and to make the life of their users slightly easier
    blacklist them in acpisleep_dmi_table[].

    https://bugzilla.kernel.org/show_bug.cgi?id=16396

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     

15 Aug, 2010

2 commits


25 Jul, 2010

1 commit

  • Commit 2a6b69765ad794389f2fc3e14a0afa1a995221c2
    (ACPI: Store NVS state even when entering suspend to RAM) caused the
    ACPI suspend code save the NVS area during suspend and restore it
    during resume unconditionally, although it is known that some systems
    need to use acpi_sleep=s4_nonvs for hibernation to work. To allow
    the affected systems to avoid saving and restoring the NVS area
    during suspend to RAM and resume, introduce kernel command line
    option acpi_sleep=nonvs and make acpi_sleep=s4_nonvs work as its
    alias temporarily (add acpi_sleep=s4_nonvs to the feature removal
    file).

    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16396 .

    Signed-off-by: Rafael J. Wysocki
    Reported-and-tested-by: tomas m
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     

07 Jul, 2010

5 commits

  • ACPICA uses reference counters to avoid disabling GPEs too early in
    case they have been enabled for many times. This is done separately
    for runtime and for wakeup, but the wakeup GPE reference counter is
    not really necessary, because GPEs are only enabled to wake up the
    system at the hardware level by acpi_enter_sleep_state(). Thus it
    only is necessary to set the corresponding bits in the wakeup enable
    masks of these GPEs' registers right before the system enters a sleep
    state. Moreover, the GPE wakeup enable bits can only be set when the
    target sleep state of the system is known and they need to be cleared
    immediately after wakeup regardless of how many wakeup devices are
    associated with a given GPE.

    On the basis of the above observations, introduce function
    acpi_gpe_wakeup() to be used for setting or clearing the enable bit
    corresponding to a given GPE in its enable register's enable_for_wake
    mask. Modify the ACPI suspend and wakeup code the use
    acpi_gpe_wakeup() instead of acpi_{enable|disable}_gpe() to set
    and clear GPE enable bits in their registers' enable_for_wake masks
    during system transitions to a sleep state and back to the working
    state, respectively. [This will allow us to drop the third
    argument of acpi_{enable|disable}_gpe() and simplify the GPE
    handling code.]

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Len Brown
    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     
  • The function acpi_suspend_finish() is not necessary any more, because
    acpi_pm_finish() can be used instead of it just fine. Remove it.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     
  • Some hibernation and suspend routines can be merged, which reduces
    the complexity of code a bit.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     
  • To simplify the enabling of wakeup devices during system suspend and
    hibernation, merge acpi_enable_wakeup_device_prep() with
    acpi_disable_wakeup_device() and remove unnecessary (and no longer
    valid) comments from the latter. Rename acpi_enable_wakeup_device()
    to acpi_enable_wakeup_devices() and acpi_disable_wakeup_device()
    to acpi_disable_wakeup_devices(), because these functions usually
    operate on multiple device objects.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     
  • There is no reason why acpi_enable_wakeup_device() should be called
    with interrupts disabled, because it doesn't access hardware. Thus
    it is possible to move it next to acpi_enable_wakeup_device_prep()
    and make the ACPI suspend, hibernate and poweroff code more
    straightforward.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Rafael J. Wysocki