26 Oct, 2007

1 commit


10 Oct, 2007

1 commit


28 Sep, 2007

2 commits

  • acpi_bus_generate_event() takes two strings out of passed device object.
    SBS needs to supply these strings directly.

    Signed-off-by: Alexey Starikovskiy
    Signed-off-by: Len Brown

    Alexey Starikovskiy
     
  • S4 suspend to disk will disable GPE's permanently
    because acpi_gpe_sleep_prepare() does not have
    a counterpart at resume time. Thus, those devices
    became unavailable for wakeup from subsequent
    S3 suspend-to-ram.

    Here acpi_gpe_sleep_prepare() is removed, and upon suspend
    acpi_enable_wakeup_device() gets its functionality.
    Upon resume, acpi_disable_wakeup_device() restores the state.

    https://bugzilla.novell.com/show_bug.cgi?id=292300

    Signed-off-by: Alexey Starikovskiy
    Acked-by: Pavel Machek
    Signed-off-by: Len Brown

    Alexey Starikovskiy
     

24 Aug, 2007

2 commits

  • Schedule /proc/acpi/event for removal in 6 months.

    Re-name acpi_bus_generate_event() to acpi_bus_generate_proc_event()
    to make sure there is no confusion that it is for /proc/acpi/event only.

    Add CONFIG_ACPI_PROC_EVENT to allow removal of /proc/acpi/event.
    There is no functional change if CONFIG_ACPI_PROC_EVENT=y

    Signed-off-by: Len Brown

    Len Brown
     
  • The previous events patch added a netlink event for every
    user of the legacy /proc/acpi/event interface.

    However, some users of /proc/acpi/event are really input events,
    and they already report their events via the input layer.

    Introduce a new interface, acpi_bus_generate_netlink_event(),
    which is explicitly called by devices that want to repoprt
    events via netlink. This allows the input-like events
    to opt-out of generating netlink events. In summary:

    events that are sent via netlink:
    ac/battery/sbs
    thermal
    processor
    thinkpad_acpi dock/bay

    events that are sent via input layer:
    button
    video hotkey
    thinkpad_acpi hotkey
    asus_acpi/asus-laptop hotkey
    sonypi/sonylaptop

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

    Zhang Rui
     

30 Jul, 2007

1 commit

  • Introduce CONFIG_SUSPEND representing the ability to enter system sleep
    states, such as the ACPI S3 state, and allow the user to choose SUSPEND
    and HIBERNATION independently of each other.

    Make HOTPLUG_CPU be selected automatically if SUSPEND or HIBERNATION has
    been chosen and the kernel is intended for SMP systems.

    Also, introduce CONFIG_PM_SLEEP which is automatically selected if
    CONFIG_SUSPEND or CONFIG_HIBERNATION is set and use it to select the
    code needed for both suspend and hibernation.

    The top-level power management headers and the ACPI code related to
    suspend and hibernation are modified to use the new definitions (the
    changes in drivers/acpi/sleep/main.c are, mostly, moving code to reduce
    the number of ifdefs).

    There are many other files in which CONFIG_PM can be replaced with
    CONFIG_PM_SLEEP or even with CONFIG_SUSPEND, but they can be updated in
    the future.

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

    Rafael J. Wysocki
     

25 Jul, 2007

2 commits


24 Jul, 2007

1 commit


22 Jul, 2007

1 commit

  • Based on the David Brownell's patch at
    http://marc.info/?l=linux-acpi&m=117873972806360&w=2
    updated by: Rafael J. Wysocki

    Add a helper routine returning the lowest power (highest number) ACPI device
    power state that given device can be in while the system is in the sleep state
    indicated by acpi_target_sleep_state .

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Signed-off-by: Len Brown

    Shaohua Li
     

04 Jul, 2007

1 commit


10 May, 2007

1 commit


09 May, 2007

1 commit

  • Teach PNPACPI how to hook up its devices to their ACPI nodes, so that
    pnpdev->dev.archdata points to the parallel acpi device node. Previously
    this only worked for PCI, leaving a notable hole.

    Export "acpi_bus_type" so this can work.

    Remove some extraneous whitespace.

    Signed-off-by: David Brownell
    Cc: Adam Belay
    Cc: Bjorn Helgaas
    Cc: Len Brown
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

03 May, 2007

1 commit


03 Feb, 2007

2 commits


06 Jan, 2007

1 commit

  • Some of the ACPI devices use the internal fake hids
    which are exposed to userspace as devces' bus_id after sysfs conversion.
    To make it more friendly, we convert them to more understandable strings.

    For those devices w/o PNPids, we use "device:instance_no" as the bus_id
    instead of "PNPIDNON:instance_no".

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

    Zhang Rui
     

16 Dec, 2006

7 commits

  • We do this mainly because:
    1. hid is used to match ACPI devices and drivers.
    .match method which is incompatible to driver model
    can be deleted from acpi_driver.ops then.
    2. As the .uevent method mark ACPI drivers by PNPID,
    fake hid is set to non-PNPID devices so that udev script
    can load the right ACPI driver by looking for
    "HWID = " or "COMPTID = ".

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

    Zhang Rui
     
  • Add removal_type in structure acpi_device for hot removal.

    ACPI_BUS_REMOVAL_EJECT is used for ACPI device hot removal.
    Only one parameter is allowed in .remove method due to driver model.
    So removal_type is added to indicate different removal type.

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

    Li Shaohua
     
  • Add acpi_bus_ops in acpi_device to support acpi hot plug.

    NOTE: Two methods .add and .start in acpi_driver.ops are
    called separately to probe ACPI devices, while only
    .probe method is called in driver model.
    As executing .add and .start separately is critical
    for ACPI device hot plug, we use acpi_bus_ops to
    distinguish different code path.

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

    Li Shaohua
     
  • Setup new sysfs framework

    1. Remove /sys/firmware/acpi
    2. Add ACPI device in device tree.

    File "eject" for every device that has _EJ0 method is moved from
    /sys/firmware to /sys/devices.
    Operation on this file is exactly the same as before.
    i.e. echo 1 to "eject" will cause hot removal of this device.
    Corresponding changes should be made in userspace for hot removal.

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

    Patrick Mochel
     
  • ACPI device/driver registration Interfaces are modified
    to follow Linux driver model.

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

    Patrick Mochel
     
  • Add ACPI bus_type for Linux driver model.

    1. .shutdown method is added into acpi_driver.ops
    needed by bus_type operations.
    2. remove useless parameter 'int state' in .resume method.
    3. change parameter 'int state'
    to 'pm_message_t state' in .suspend method.

    Note: The new .uevent method mark ACPI drivers by PNPID instead of by name.
    Udev script needs to look for "HWID=" or "COMPTID=" to load
    ACPI drivers as a result.

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

    Patrick Mochel
     
  • Add device_driver into acpi_driver for driver model.
    Add helper functions 'to_acpi_device' and 'to_acpi_driver'
    to get structure acpi_device/acpi_driver by device/device_driver.

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

    Patrick Mochel
     

02 Dec, 2006

1 commit

  • Change ACPI to use dev_archdata instead of firmware_data

    This patch changes ACPI to use the new dev_archdata on i386, x86_64
    and ia64 (is there any other arch using ACPI ?) to store it's
    acpi_handle.

    It also removes the firmware_data field from struct device as this
    was the only user.

    Only build-tested on x86

    Signed-off-by: Benjamin Herrenschmidt
    Cc: Len Brown
    Signed-off-by: Greg Kroah-Hartman

    Benjamin Herrenschmidt
     

10 Jul, 2006

1 commit


09 Jul, 2006

1 commit


28 Jun, 2006

1 commit

  • Create a driver which lives in the acpi subsystem to handle dock events.
    This driver is not an "ACPI" driver, because acpi drivers require that the
    object be present when the driver is loaded.

    Signed-off-by: Kristen Carlson Accardi
    Cc: Dave Hansen
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Kristen Accardi
     

16 Jun, 2006

2 commits


14 Jun, 2006

1 commit

  • Implemented header file support for the following
    additional ACPI tables: ASF!, BOOT, CPEP, DBGP, MCFG, SPCR,
    SPMI, TCPA, and WDRT. With this support, all current and
    known ACPI tables are now defined in the ACPICA headers and
    are available for use by device drivers and other software.

    Implemented support to allow tables that contain ACPI
    names with invalid characters to be loaded. Previously,
    this would cause the table load to fail, but since
    there are several known cases of such tables on
    existing machines, this change was made to enable
    ACPI support for them. Also, this matches the
    behavior of the Microsoft ACPI implementation.
    https://bugzilla.novell.com/show_bug.cgi?id=147621

    Fixed a couple regressions introduced during the memory
    optimization in the 20060317 release. The namespace
    node definition required additional reorganization and
    an internal datatype that had been changed to 8-bit was
    restored to 32-bit. (Valery Podrezov)

    Fixed a problem where a null pointer passed to
    acpi_ut_delete_generic_state() could be passed through
    to acpi_os_release_object which is unexpected. Such
    null pointers are now trapped and ignored, matching
    the behavior of the previous implementation before the
    deployment of acpi_os_release_object(). (Valery Podrezov,
    Fiodor Suietov)

    Fixed a memory mapping leak during the deletion of
    a SystemMemory operation region where a cached memory
    mapping was not deleted. This became a noticeable problem
    for operation regions that are defined within frequently
    used control methods. (Dana Meyers)

    Reorganized the ACPI table header files into two main
    files: one for the ACPI tables consumed by the ACPICA core,
    and another for the miscellaneous ACPI tables that are
    consumed by the drivers and other software. The various
    FADT definitions were merged into one common section and
    three different tables (ACPI 1.0, 1.0+, and 2.0)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

15 May, 2006

2 commits


14 May, 2006

1 commit

  • Nobody looks at the return value, and this brings it into line with
    pci_unregister_driver(), etc. Also removed validation of the driver
    pointer passed in to register and unregister. More consistent, and we'll
    find bugs faster if we fault rather than returning an error that's ignored.

    Also makes internal functions acpi_device_unregister() and
    acpi_driver_detach() void, since nobody uses their returns either.

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

    Bjorn Helgaas
     

24 Mar, 2006

2 commits


25 Aug, 2005

1 commit


05 Aug, 2005

1 commit


13 Jul, 2005

1 commit