01 Nov, 2011

1 commit


07 Jan, 2011

2 commits

  • There are ACPI devices (buttons and the laptop lid) that can wake up
    the system from sleep states and have no "physical" companion
    devices. The ACPI subsystem uses two flags, wakeup.state.enabled and
    wakeup.flags.always_enabled, for handling those devices, but they
    are not accessible through the standard device wakeup infrastructure.
    User space can only control them via the /proc/acpi/wakeup interface
    that is not really convenient (e.g. the way in which devices are
    enabled to wake up the system is not portable between different
    systems, because it requires one to know the devices' "names" used in
    the system's ACPI tables).

    To address this problem, use standard device wakeup flags instead of
    the special ACPI flags for handling those devices. In particular,
    use device_set_wakeup_capable() to mark the ACPI wakeup devices
    during initialization and use device_set_wakeup_enable() to allow
    or disallow them to wake up the system from sleep states. Rework
    the /proc/acpi/wakeup interface to take these changes into account.

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

    Rafael J. Wysocki
     
  • If a device is enabled to wake up the system from sleep states via
    /proc/acpi/wakeup and there are other devices associated with the
    same wakeup GPE, all of these devices are automatically enabled to
    wake up the system. This isn't correct, because the fact the GPE is
    shared need not imply that wakeup power has to be enabled for all the
    devices at the same time (i.e. it is possible that one device will
    have its wakeup power enabled and it will wake up the system from a
    sleep state if the shared wakeup GPE is enabled, while another device
    having its wakeup power disabled will not wake up the system even
    though the GPE is enabled). Rework acpi_system_write_wakeup_device()
    so that it only enables wakeup for one device at a time.

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

    Rafael J. Wysocki
     

15 Aug, 2010

1 commit

  • Rmove deprecated ACPI procfs I/F, including
    /proc/acpi/debug_layer
    /proc/acpi/debug_level
    /proc/acpi/info
    /proc/acpi/dsdt
    /proc/acpi/fadt
    /proc/acpi/sleep

    because the sysfs I/F is already available
    and has been working well for years.

    Signed-off-by: Zhang Rui
    Signed-off-by: Len Brown

    Zhang Rui
     

04 Feb, 2010

1 commit


28 Oct, 2009

1 commit

  • proc.c and video.c are a bit sloppy around types and style,
    confusing gcc for a new feature that'll be in 2.6.33 and will
    cause a warning on the current code.

    This patch changes

    if (foo + 1 > sizeof bar)

    into

    if (foo >= sizeof(bar))

    which is more kernel-style.

    it also changes a variable in proc.c to unsigned; it gets assigned
    a value from an unsigned type, and is then only compared for > not
    for negative, so using unsigned is just outright the right type

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Len Brown

    Arjan van de Ven
     

03 Oct, 2009

1 commit

  • The ACPI /proc write() code takes an unsigned length argument like any write()
    function, but then assigned it to a *signed* integer called "len".
    Only after this is a sanity check for len done to make it not larger than 4.

    Due to the type change a len < 0 is in principle also possible; this patch
    adds a check for this.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Len Brown

    Arjan van de Ven
     

07 Apr, 2009

1 commit


28 Mar, 2009

1 commit

  • This patch makes acpi_init() call acpi_sleep_proc_init() directly.
    Previously, acpi_sleep_proc_init() was a late_initcall (sequence 7),
    apparently to make sure that the /proc hierarchy already exists:

    2003/02/13 12:38:03-06:00 mochel
    acpi sleep: demote sleep proc file creation.

    - Make acpi_sleep_proc_init() a late_initcall(), and not called from
    acpi_sleep_init(). This guarantees that the acpi proc hierarchy is at
    least there when we create the dang file.

    This should no longer be an issue because acpi_bus_init() (called early
    in acpi_init()) creates acpi_root_dir (/proc/acpi).

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Len Brown

    Bjorn Helgaas
     

09 Jan, 2009

2 commits