06 Sep, 2008

1 commit

  • There's been a patch floating around for toshiba_acpi that exports an ad-hoc
    /proc interface to toggle the bluetooth adapter in a large number of Toshiba
    laptops. I'm not sure if it's still relevant for the latest models, but it is
    still required for older models such as my Tecra M3.

    This change pulls in the low level Toshiba-specific code from the old patch and
    sets up an rfkill device and a polled input device to track the state of the
    hardware kill-switch.

    Signed-off-by: Philip Langdale
    Acked-by: Henrique de Moraes Holschuh
    Signed-off-by: John W. Linville

    philipl@overt.org
     

17 Jul, 2008

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (72 commits)
    Revert "x86/PCI: ACPI based PCI gap calculation"
    PCI: remove unnecessary volatile in PCIe hotplug struct controller
    x86/PCI: ACPI based PCI gap calculation
    PCI: include linux/pm_wakeup.h for device_set_wakeup_capable
    PCI PM: Fix pci_prepare_to_sleep
    x86/PCI: Fix PCI config space for domains > 0
    Fix acpi_pm_device_sleep_wake() by providing a stub for CONFIG_PM_SLEEP=n
    PCI: Simplify PCI device PM code
    PCI PM: Introduce pci_prepare_to_sleep and pci_back_from_sleep
    PCI ACPI: Rework PCI handling of wake-up
    ACPI: Introduce new device wakeup flag 'prepared'
    ACPI: Introduce acpi_device_sleep_wake function
    PCI: rework pci_set_power_state function to call platform first
    PCI: Introduce platform_pci_power_manageable function
    ACPI: Introduce acpi_bus_power_manageable function
    PCI: make pci_name use dev_name
    PCI: handle pci_name() being const
    PCI: add stub for pci_set_consistent_dma_mask()
    PCI: remove unused arch pcibios_update_resource() functions
    PCI: fix pci_setup_device()'s sprinting into a const buffer
    ...

    Fixed up conflicts in various files (arch/x86/kernel/setup_64.c,
    arch/x86/pci/irq.c, arch/x86/pci/pci.h, drivers/acpi/sleep/main.c,
    drivers/pci/pci.c, drivers/pci/pci.h, include/acpi/acpi_bus.h) from x86
    and ACPI updates manually.

    Linus Torvalds
     

11 Jul, 2008

1 commit


11 Jun, 2008

1 commit

  • Detect all physical PCI slots as described by ACPI, and create entries in
    /sys/bus/pci/slots/.

    Not all physical slots are hotpluggable, and the acpiphp module does not
    detect them. Now we know the physical PCI geography of our system, without
    caring about hotplug.

    [kaneshige.kenji@jp.fujitsu.com: export-kobject_rename-for-pci_hotplug_core]
    Signed-off-by: Kenji Kaneshige
    Acked-by: Greg KH
    [akpm@linux-foundation.org: build fix]
    [akpm@linux-foundation.org: fix build with CONFIG_DMI=n]
    Signed-off-by: Alex Chiang
    Cc: Greg KH
    Cc: Kristen Carlson Accardi
    Cc: Len Brown
    Acked-by: Len Brown
    Acked-by: Kenji Kaneshige
    Signed-off-by: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Jesse Barnes

    Alex Chiang
     

10 Jun, 2008

1 commit

  • ... so it could fall back to normal numa and we'd reduce the impact of the
    NUMAQ subarch.

    NUMAQ depends on GENERICARCH
    also decouple genericarch numa from acpi.
    also make it fall back to bigsmp if apicid > 8.

    Signed-off-by: Yinghai Lu
    Signed-off-by: Ingo Molnar

    Yinghai Lu
     

29 Apr, 2008

1 commit


16 Mar, 2008

1 commit

  • This essentially reverts commit 71fc47a9adf8ee89e5c96a47222915c5485ac437
    ("ACPI: basic initramfs DSDT override support"), because the code simply
    isn't ready.

    It did ugly things to the init sequence to populate the rootfs image
    early, but that just ended up showing other problems with the whole
    approach. The fact is, the VFS layer simply isn't initialized this
    early, and the relevant ACPI code should either run much later, or this
    shouldn't be done at all.

    For 2.6.25, we'll just pick the latter option. We can revisit this
    concept later if necessary.

    Cc: Dave Hansen
    Cc: Tilman Schmidt
    Cc: Andrew Morton
    Cc: Thomas Renninger
    Cc: Eric Piel
    Cc: Len Brown
    Cc: Christoph Hellwig
    Cc: Markus Gaugusch
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

23 Feb, 2008

1 commit


08 Feb, 2008

2 commits


07 Feb, 2008

6 commits


06 Feb, 2008

1 commit

  • The following is an implementation of the Windows Management
    Instrumentation (WMI) ACPI interface mapper (PNP0C14).

    What it does:

    Parses the _WDG method and exports functions to process WMI method calls,
    data block query/ set commands (both based on GUID) and does basic event
    handling.

    How: WMI presents an in kernel interface here (essentially, a minimal
    wrapper around ACPI)

    (const char *guid assume the 36 character ASCII representation of
    a GUID - e.g. 67C3371D-95A3-4C37-BB61-DD47B491DAAB)

    wmi_evaluate_method(const char *guid, u8 instance, u32 method_id,
    const struct acpi_buffer *in, struct acpi_buffer *out)

    wmi_query_block(const char *guid, u8 instance,
    struct acpi_buffer *out)

    wmi_set_block(const char *guid, u38 instance,
    const struct acpi_buffer *in)

    wmi_install_notify_handler(acpi_notify_handler handler);

    wmi_remove_notify_handler(void);

    wmi_get_event_data(u32 event, struct acpi_buffer *out)

    wmi_has_guid(const char guid*)

    wmi_has_guid() is a helper function to find if a GUID exists or not on the
    system (a quick and easy way for WMI dependant drivers to see if the
    the method/ block they want exists, since GUIDs are supposed to be unique).

    Event handling - allow a WMI based driver to register a notifier handler
    for each GUID with WMI. When a notification is sent to a GUID in WMI, the
    handler registered with WMI is then called (it is left to the caller to
    ask for the WMI event data associated with the GUID, if needed).

    What it won't do:

    Unicode - The MS article[1] calls for converting between ASCII and Unicode (or
    vice versa) if a GUID is marked as "string". This is left up to the calling
    driver.

    Handle a MOF[1] - the WMI mapper just exports methods, data and events to
    userspace. MOF handling is down to userspace.

    Userspace interface - this will be added later.

    [1] http://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx

    ===
    ChangeLog
    ==

    v1 (2007-10-02):

    * Initial release

    v2 (2007-10-05):

    * Cleaned up code - split up super "wmi_evaluate_block" -> each external
    symbol now handles its own ACPI calls, rather than handing off to
    a "super" method (and in turn, is a lot simpler to read)
    * Added a find_guid() symbol - return true if a given GUID exists on
    the system
    * wmi_* functions now return type acpi_status (since they are just
    fancy wrappers around acpi_evaluate_object())
    * Removed extra debug code

    v3 (2007-10-27)

    * More code clean up - now passes checkpatch.pl
    * Change data block calls - ref MS spec, method ID is not required for
    them, so drop it from the function parameters.
    * Const'ify guid in the function call parameters.
    * Fix _WDG buffer handling - copy the data to our own private structure.
    * Change WMI from tristate to bool - otherwise the external functions are
    not exported in linux/acpi.h if you try to build WMI as a module.
    * Fix more flag comparisons.
    * Add a maintainers entry - since I wrote this, I should take the blame
    for it.

    v4 (2007-10-30)

    * Add missing brace from after fixing checkpatch errors.
    * Rewrote event handling - allow external drivers to register with WMI to
    handle WMI events
    * Clean up flags and sanitise flag handling

    v5 (2007-11-03)

    * Add sysfs interface for userspace. Export events over netlink again.
    * Remove module left overs, fully convert to built-in driver.
    * Tweak in-kernel API to use u8 for instance, since this is what the GUID
    blocks use (so instance cannot be greater than u8).
    * Export wmi_get_event_data() for in kernel WMI drivers.

    v6 (2007-11-07)

    * Split out userspace into a different patch

    v7 (2007-11-20)

    * Fix driver to handle multiple PNP0C14 devices - store all GUIDs using
    the kernel's built in list functions, and just keep adding to the list
    every time we handle a PNP0C14 devices - GUIDs will always be unique,
    and WMI callers do not know or care about different devices.
    * Change WMI event handler registration to use its' own event handling
    struct; we should not pass an acpi_handle down to any WMI based drivers
    - they should be able to function with only the calls provided in WMI.
    * Update my e-mail address

    v8 (2007-11-28)

    * Convert back to a module.
    * Update Kconfig to default to building as a module.
    * Remove an erroneous printk.
    * Simply comments for string flag (since we now leave the handling to the
    caller).

    v9 (2007-12-07)

    * Add back missing MODULE_DEVICE_TABLE for autoloading
    * Checkpatch fixes

    v10 (2007-12-12)

    * Workaround broken GUIDs declared expensive without a WCxx method.
    * Minor cleanups

    v11 (2007-12-17)

    * More fixing for broken GUIDs declared expensive without a WCxx method.
    * Add basic EmbeddedControl region handling.

    v12 (2007-12-18)

    * Changed EC region handling code, as per Alexey's comments.

    v13 (2007-12-27)

    * Changed event handling so that we can have one event handler registered
    per GUID, as per Matthew Garrett's suggestion.

    v14 (2008-01-12)

    * Remove ACPI debug statements

    v15 (2008-02-01)

    * Replace two remaining 'x == NULL' type tests with '!x'

    v16 (2008-02-05)

    * Change MAINTAINERS entry, as I am not, and never have been, paid to work
    on WMI
    * Remove 'default' line from Kconfig

    Signed-off-by: Carlos Corbacho
    CC: Matthew Garrett
    CC: Alexey Starikovskiy
    Signed-off-by: Len Brown

    Carlos Corbacho
     

02 Feb, 2008

1 commit

  • Register ACPI thermal zone as thermal zone device.

    the new sys I/F for ACPI thermal zone will be like this:

    /sys/class/thermal:
    |thermal_zone1:
    |-----type: "ACPI thermal zone". RO
    |-----temp: the current temperature. RO
    |-----mode: the current working mode. RW.
    the default value is "kernel" which means thermal
    management is done by ACPI thermal driver.
    "echo user > mode" prevents all the ACPI thermal driver
    actions upon any trip points.
    |-----trip_point_0_temp: the threshold of trip point 0. RO.
    |-----trip_point_0_type: "critical". RO.
    the type of trip point 0
    This may be one of critical/hot/passive/active[x]
    for an ACPI thermal zone.
    ...
    |-----trip_point_3_temp:
    |-----trip_point_3_type: "active[1]"

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

    Zhang Rui
     

02 Jan, 2008

1 commit


20 Nov, 2007

3 commits


15 Nov, 2007

1 commit

  • Zillions of people are getting my-battery-monitor-doesnt-work problems
    (including me).

    Lessen the damage by making ACPI_PROCFS default to on.

    Cc: Len Brown
    Cc: "Rafael J. Wysocki"
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

11 Nov, 2007

1 commit


30 Oct, 2007

3 commits


20 Oct, 2007

1 commit


10 Oct, 2007

1 commit


28 Sep, 2007

3 commits


19 Sep, 2007

1 commit

  • Commit e9dab1960ac9746fa34eff726b81635147615a79
    (ACPI video hotkey: export missing ACPI video hotkey events via input layer)
    exports ACPI video hotkey events via input layer. But this breaks kernel
    build if ACPI_VIDEO && !INPUT:

    LD .tmp_vmlinux1
    drivers/built-in.o: In function `acpi_video_bus_remove':
    drivers/acpi/video.c:2007: undefined reference to `input_unregister_device'
    ...

    Signed-off-by: Andreas Herrmann
    Signed-off-by: Len Brown

    Andreas Herrmann
     

28 Aug, 2007

1 commit

  • Sigh. Again an ACPI assault on the Thinkpad's Fn+F4 to suspend to RAM.
    The default and text for CONFIG_THINKPAD_ACPI_INPUT_ENABLED were fixed
    in -rc3, but now commit 14e04fb34ffa82ee61ae69f98d8fca12d2e8e31c ("ACPI:
    Schedule /proc/acpi/event for removal") introduces the ACPI_PROC_EVENT
    config entry, and defaults it to 'n' to disable it again.

    Change default to y, and add comment to make it clearer that n is for
    future distros.

    Signed-off-by: Hugh Dickins
    Cc: Andrew Morton
    Cc: Len Brown
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     

24 Aug, 2007

1 commit

  • 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
     

01 Aug, 2007

1 commit

  • CONFIG_ACPI_PROCFS_SLEEP is a NO-OP -- delete it (again).

    Apparently 296699de6bdc717189a331ab6bbe90e05c94db06 creating CONFIG_SUSPEND
    and CONFIG_PM_SLEEP was based on an out-dated version of drivers/acpi/Kconfig,
    as it erroneously restored this recently deleted config option.

    Signed-off-by: Len Brown
    Signed-off-by: Linus Torvalds

    Len Brown
     

30 Jul, 2007

2 commits

  • Restore the 2.6.22 CONFIG_ACPI_SLEEP build option, but now shadowing the
    new CONFIG_PM_SLEEP option.

    Signed-off-by: Len Brown
    [ Modified to work with the PM config setup changes. ]
    Signed-off-by: Linus Torvalds

    Len Brown
     
  • 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
     

27 Jul, 2007

1 commit


25 Jul, 2007

1 commit