25 Jul, 2008

1 commit

  • ACPI defines a hardware signature. BIOS calculates the signature according to
    hardware configure and if hardware changes while hibernated, the signature
    will change. In that case, S4 resume should fail.

    Still, there may be systems on which this mechanism does not work correctly,
    so it is better to provide a workaround for them. For this reason, add a new
    switch to the acpi_sleep= command line argument allowing one to disable
    hardware signature checking.

    [shaohua.li@intel.com: build fix]
    Signed-off-by: Shaohua Li
    Signed-off-by: Rafael J. Wysocki
    Cc: Andi Kleen
    Cc: Len Brown
    Acked-by: Pavel Machek
    Cc:
    Cc: Shaohua Li
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shaohua Li
     

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
     

08 Jul, 2008

1 commit


13 Jun, 2008

1 commit

  • ACPI PM: Add possibility to change suspend sequence

    There are some systems out there that don't work correctly with
    our current suspend/hibernation code ordering. Provide a workaround
    for these systems allowing them to pass 'acpi_sleep=old_ordering' in
    the kernel command line so that it will use the pre-ACPI 2.0 ("old")
    suspend code ordering.

    Unfortunately, this requires us to add a platform hook to the
    resuming of devices for recovering the platform in case one of the
    device drivers' .suspend() routines returns error code. Namely,
    ACPI 1.0 specifies that _PTS should be called before suspending
    devices, but _WAK still should be called before resuming them in
    order to undo the changes made by _PTS. However, if there is an
    error during suspending devices, they are automatically resumed
    without returning control to the PM core, so the _WAK has to be
    called from within device_resume() in that cases.

    The patch also reorders and refactors the ACPI suspend/hibernation
    code to avoid duplication as far as reasonably possible.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Signed-off-by: Jesse Barnes

    Rafael J. Wysocki
     

27 Apr, 2008

1 commit


14 Feb, 2008

1 commit


07 Feb, 2008

9 commits

  • Conflicts:

    drivers/acpi/scan.c
    include/linux/acpi.h

    Signed-off-by: Len Brown

    Len Brown
     
  • Two cleanups to :
    * Stop defining acpi_mp_config, it isn't used anywhere.
    * Discard nested "#ifdef CONFIG_ACPI", they are useless and
    error-prone.

    Signed-off-by: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Jean Delvare
     
  • Len Brown
     
  • Len Brown
     
  • Len Brown
     
  • …gzilla-7186', 'bugzilla-8269', 'bugzilla-8570', 'bugzilla-9139', 'bugzilla-9277', 'bugzilla-9341', 'bugzilla-9444', 'bugzilla-9614', 'bugzilla-9643' and 'bugzilla-9644' into release

    Len Brown
     
  • Export acpi_check_resource_conflict(), sometimes drivers already have
    a struct resource at hand so no need to use the wrappers to build a new
    one.

    Signed-off-by: Jean Delvare
    Cc: "Mark M. Hoffman"
    Cc: Bjorn Helgaas
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Thomas Renninger
     
  • Small ACPICA extension to be able to store the name of operation regions in osl.c later

    In ACPI, AML can define accesses to IO ports and System Memory by Operation
    Regions. Those are not registered as done by PNPACPI using resource templates
    (and _CRS/_SRS methods).

    The IO ports and System Memory regions may get accessed by arbitrary AML code.
    When native drivers are accessing the same resources bad things can happen
    (e.g. a critical shutdown temperature of 3000 C every 2 months or so).

    It is not really possible to register the operation regions via
    request_resource, as they often overlap with pnp or other resources (e.g.
    statically setup IO resources below 0x100).

    This approach stores all Operation Region declarations (IO and System Memory
    only) at ACPI table parse time. It offers a similar functionality like
    request_region and let drivers which are known to possibly use the same IO
    ports and Memory which are also often used by ACPI (hwmon and i2c) check for
    ACPI interference.

    A boot parameter acpi_enforce_resources=strict/lax/no is provided, which
    is default set to lax:
    - strict: let conflicting drivers fail to load with an error message
    - lax: let conflicting driver work normal with a warning message
    - no: no functional change at all
    Depending on the feedback and the kind of interferences we see, this
    should be set to strict at later time.

    Goal of this patch set is:
    - Identify ACPI interferences in bug reports (very hard to reproduce
    and to identify)
    - Find BIOSes for that an ACPI driver should exist for specific HW
    instead of a native one.
    - stability in general

    Provide acpi_check_{mem_}region.

    Drivers can additionally check against possible ACPI interference by also
    invoking this shortly before they call request_region.
    If -EBUSY is returned, the driver must not load.
    Use acpi_enforce_resources=strict/lax/no options to:
    - strict: let conflicting drivers fail to load with an error message
    - lax: let conflicting driver work normal with a warning message
    - no: no functional change at all

    Cc: "Mark M. Hoffman"
    Cc: Jean Delvare
    Cc: Len Brown
    Cc: Bjorn Helgaas
    Signed-off-by: Thomas Renninger
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Thomas Renninger
     
  • See Documentation/ABI/testing/sysfs-firmware-acpi

    Based-on-original-patch-by: Luming Yu
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Len Brown

    Len Brown
     

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
     

24 Jan, 2008

1 commit

  • If BIOS invokes _OSI(Linux), the kernel response
    depends on what the ACPI DMI list knows about the system,
    and that is reflectd in dmesg:

    1) System unknown to DMI:

    ACPI: BIOS _OSI(Linux) query ignored
    ACPI: DMI System Vendor: LENOVO
    ACPI: DMI Product Name: 7661W1P
    ACPI: DMI Product Version: ThinkPad T61
    ACPI: DMI Board Name: 7661W1P
    ACPI: DMI BIOS Vendor: LENOVO
    ACPI: DMI BIOS Date: 10/18/2007
    ACPI: Please send DMI info above to linux-acpi@vger.kernel.org
    ACPI: If "acpi_osi=Linux" works better, please notify linux-acpi@vger.kernel.org

    2) System known to DMI, but effect of OSI(Linux) unknown:

    ACPI: DMI detected: Lenovo ThinkPad T61
    ...
    ACPI: BIOS _OSI(Linux) query ignored via DMI
    ACPI: If "acpi_osi=Linux" works better, please notify linux-acpi@vger.kernel.org

    3) System known to DMI, which disables _OSI(Linux):

    ACPI: DMI detected: Lenovo ThinkPad T61
    ...
    ACPI: BIOS _OSI(Linux) query ignored via DMI

    4) System known to DMI, which enable _OSI(Linux):

    ACPI: DMI detected: Lenovo ThinkPad T61
    ACPI: Added _OSI(Linux)
    ...
    ACPI: BIOS _OSI(Linux) query honored via DMI

    cmdline overrides take precidence over the built-in
    default and the DMI prescribed default.
    cmdline "acpi_osi=Linux" results in:

    ACPI: BIOS _OSI(Linux) query honored via cmdline

    Signed-off-by: Len Brown

    Len Brown
     

14 Dec, 2007

1 commit

  • ACPI tables follow a tree structure in memory.
    The root of the tree is the RSDP (Root System Description Pointer).

    To find the RSDP, the OS searches for the signature "RSD PTR "
    in well known physical memory locations. Then the OS computes
    a table checksum to verify that the signature is really part
    of a valid table header.

    Some systems have a proper signature but an invalid checksum;
    followed elsewhere by a proper signature with valid checksum.

    http://bugzilla.kernel.org/show_bug.cgi?id=9444

    The Linux RSDP scanning code bailed out on those systems
    and as a result they booted with ACPI disabled.

    Fix this by deleting the Linux RSDP scanning code and
    plugging in the ACPICA RSDP scanning code.

    Signed-off-by: Len Brown

    Len Brown
     

20 Nov, 2007

1 commit

  • Use mp_irqs[] to get PNP device's interrupt polarity and trigger.
    There are two reasons to do this:
    1. BIOS bug for PNP interrupt
    2. BIOS explictly does override
    mp_irqs[] should cover all the cases.

    http://bugzilla.kernel.org/show_bug.cgi?id=5243
    http://bugzilla.kernel.org/show_bug.cgi?id=7679
    http://bugzilla.kernel.org/show_bug.cgi?id=9153

    [lenb: fixed !IOAPIC and 64-bit !SMP builds]

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

    Shaohua Li
     

10 Oct, 2007

1 commit

  • commit e5a16b1f9eec0af7cfa0830304b41c1c0833cf9f
    Author: Len Brown
    Date: Tue Oct 2 23:44:44 2007 -0400

    cpuidle: shrink diff

    processor_idle.c | 440 +++++++++++++++++++++++++++++++++++++++++--
    1 file changed, 429 insertions(+), 11 deletions(-)

    Signed-off-by: Len Brown

    commit dfbb9d5aedfb18848a3e0d6f6e3e4969febb209c
    Author: Len Brown
    Date: Wed Sep 26 02:17:55 2007 -0400

    cpuidle: reduce diff size

    Reduces the cpuidle processor_idle.c diff vs 2.6.22 from this
    processor_idle.c | 2006 ++++++++++++++++++++++++++-----------------
    1 file changed, 1219 insertions(+), 787 deletions(-)

    to this:
    processor_idle.c | 502 +++++++++++++++++++++++++++++++++++++++----
    1 file changed, 458 insertions(+), 44 deletions(-)

    ...for the purpose of making the cpuilde patch less invasive
    and easier to review.

    no functional changes. build tested only.

    Signed-off-by: Len Brown

    commit 889172fc915f5a7fe20f35b133cbd205ce69bf6c
    Author: Venki Pallipadi
    Date: Thu Sep 13 13:40:05 2007 -0700

    cpuidle: Retain old ACPI policy for !CONFIG_CPU_IDLE

    Retain the old policy in processor_idle, so that when CPU_IDLE is not
    configured, old C-state policy will still be used. This provides a
    clean gradual migration path from old ACPI policy to new cpuidle
    based policy.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    commit 9544a8181edc7ecc33b3bfd69271571f98ed08bc
    Author: Venki Pallipadi
    Date: Thu Sep 13 13:39:17 2007 -0700

    cpuidle: Configure governors by default

    Quoting Len "Do not give an option to users to shoot themselves in the foot".

    Remove the configurability of ladder and menu governors as they are
    needed for default policy of cpuidle. That way users will not be able to
    have cpuidle without any policy loosing all C-state power savings.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    commit 8975059a2c1e56cfe83d1bcf031bcf4cb39be743
    Author: Adam Belay
    Date: Tue Aug 21 18:27:07 2007 -0400

    CPUIDLE: load ACPI properly when CPUIDLE is disabled

    Change the registration return codes for when CPUIDLE
    support is not compiled into the kernel. As a result, the ACPI
    processor driver will load properly even if CPUIDLE is unavailable.
    However, it may be possible to cleanup the ACPI processor driver further
    and eliminate some dead code paths.

    Signed-off-by: Adam Belay
    Acked-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    commit e0322e2b58dd1b12ec669bf84693efe0dc2414a8
    Author: Adam Belay
    Date: Tue Aug 21 18:26:06 2007 -0400

    CPUIDLE: remove cpuidle_get_bm_activity()

    Remove cpuidle_get_bm_activity() and updates governors
    accordingly.

    Signed-off-by: Adam Belay
    Acked-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    commit 18a6e770d5c82ba26653e53d240caa617e09e9ab
    Author: Adam Belay
    Date: Tue Aug 21 18:25:58 2007 -0400

    CPUIDLE: max_cstate fix

    Currently max_cstate is limited to 0, resulting in no idle processor
    power management on ACPI platforms. This patch restores the value to
    the array size.

    Signed-off-by: Adam Belay
    Acked-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    commit 1fdc0887286179b40ce24bcdbde663172e205ef0
    Author: Adam Belay
    Date: Tue Aug 21 18:25:40 2007 -0400

    CPUIDLE: handle BM detection inside the ACPI Processor driver

    Update the ACPI processor driver to detect BM activity and
    limit state entry depth internally, rather than exposing such
    requirements to CPUIDLE. As a result, CPUIDLE can drop this
    ACPI-specific interface and become more platform independent. BM
    activity is now handled much more aggressively than it was in the
    original implementation, so some testing coverage may be needed to
    verify that this doesn't introduce any DMA buffer under-run issues.

    Signed-off-by: Adam Belay
    Acked-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    commit 0ef38840db666f48e3cdd2b769da676c57228dd9
    Author: Adam Belay
    Date: Tue Aug 21 18:25:14 2007 -0400

    CPUIDLE: menu governor updates

    Tweak the menu governor to more effectively handle non-timer
    break events. Non-timer break events are detected by comparing the
    actual sleep time to the expected sleep time. In future revisions, it
    may be more reliable to use the timer data structures directly.

    Signed-off-by: Adam Belay
    Acked-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    commit bb4d74fca63fa96cf3ace644b15ae0f12b7df5a1
    Author: Adam Belay
    Date: Tue Aug 21 18:24:40 2007 -0400

    CPUIDLE: fix 'current_governor' sysfs entry

    Allow the "current_governor" sysfs entry to properly handle
    input terminated with '\n'.

    Signed-off-by: Adam Belay
    Acked-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    commit df3c71559bb69b125f1a48971bf0d17f78bbdf47
    Author: Len Brown
    Date: Sun Aug 12 02:00:45 2007 -0400

    cpuidle: fix IA64 build (again)

    Signed-off-by: Len Brown

    commit a02064579e3f9530fd31baae16b1fc46b5a7bca8
    Author: Venkatesh Pallipadi
    Date: Sun Aug 12 01:39:27 2007 -0400

    cpuidle: Remove support for runtime changing of max_cstate

    Remove support for runtime changeability of max_cstate. Drivers can use
    use latency APIs.

    max_cstate can still be used as a boot time option and dmi override.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    commit 0912a44b13adf22f5e3f607d263aed23b4910d7e
    Author: Venkatesh Pallipadi
    Date: Sun Aug 12 01:39:16 2007 -0400

    cpuidle: Remove ACPI cstate_limit calls from ipw2100

    ipw2100 already has code to use accetable_latency interfaces to limit the
    C-state. Remove the calls to acpi_set_cstate_limit and acpi_get_cstate_limit
    as they are redundant.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    commit c649a76e76be6bff1fd770d0a775798813a3f6e0
    Author: Venkatesh Pallipadi
    Date: Sun Aug 12 01:35:39 2007 -0400

    cpuidle: compile fix for pause and resume functions

    Fix the compilation failure when cpuidle is not compiled in.

    Signed-off-by: Venkatesh Pallipadi
    Acked-by: Adam Belay
    Signed-off-by: Len Brown

    commit 2305a5920fb8ee6ccec1c62ade05aa8351091d71
    Author: Adam Belay
    Date: Thu Jul 19 00:49:00 2007 -0400

    cpuidle: re-write

    Some portions have been rewritten to make the code cleaner and lighter
    weight. The following is a list of changes:

    1.) the state name is now included in the sysfs interface
    2.) detection, hotplug, and available state modifications are handled by
    CPUIDLE drivers directly
    3.) the CPUIDLE idle handler is only ever installed when at least one
    cpuidle_device is enabled and ready
    4.) the menu governor BM code no longer overflows
    5.) the sysfs attributes are now printed as unsigned integers, avoiding
    negative values
    6.) a variety of other small cleanups

    Also, Idle drivers are no longer swappable during runtime through the
    CPUIDLE sysfs inteface. On i386 and x86_64 most idle handlers (e.g.
    poll, mwait, halt, etc.) don't benefit from an infrastructure that
    supports multiple states, so I think using a more general case idle
    handler selection mechanism would be cleaner.

    Signed-off-by: Adam Belay
    Acked-by: Venkatesh Pallipadi
    Acked-by: Shaohua Li
    Signed-off-by: Len Brown

    commit df25b6b56955714e6e24b574d88d1fd11f0c3ee5
    Author: Len Brown
    Date: Tue Jul 24 17:08:21 2007 -0400

    cpuidle: fix IA64 buid

    Signed-off-by: Len Brown

    commit fd6ada4c14488755ff7068860078c437431fbccd
    Author: Adrian Bunk
    Date: Mon Jul 9 11:33:13 2007 -0700

    cpuidle: static

    make cpuidle_replace_governor() static

    Signed-off-by: Adrian Bunk
    Cc: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit c1d4a2cebcadf2429c0c72e1d29aa2a9684c32e0
    Author: Adrian Bunk
    Date: Tue Jul 3 00:54:40 2007 -0400

    cpuidle: static

    This patch makes the needlessly global struct menu_governor static.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit dbf8780c6e8d572c2c273da97ed1cca7608fd999
    Author: Andrew Morton
    Date: Tue Jul 3 00:49:14 2007 -0400

    export symbol tick_nohz_get_sleep_length

    ERROR: "tick_nohz_get_sleep_length" [drivers/cpuidle/governors/menu.ko] undefined!
    ERROR: "tick_nohz_get_idle_jiffies" [drivers/cpuidle/governors/menu.ko] undefined!

    And please be sure to get your changes to core kernel suitably reviewed.

    Cc: Adam Belay
    Cc: Venki Pallipadi
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: john stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 29f0e248e7017be15f99febf9143a2cef00b2961
    Author: Andrew Morton
    Date: Tue Jul 3 00:43:04 2007 -0400

    tick.h needs hrtimer.h

    It uses hrtimers.

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

    commit e40cede7d63a029e92712a3fe02faee60cc38fb4
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:40:34 2007 -0400

    cpuidle: first round of documentation updates

    Documentation changes based on Pavel's feedback.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 83b42be2efece386976507555c29e7773a0dfcd1
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:39:25 2007 -0400

    cpuidle: add rating to the governors and pick the one with highest rating by default

    Introduce a governor rating scheme to pick the right governor by default.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit d2a74b8c5e8f22def4709330d4bfc4a29209b71c
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:38:08 2007 -0400

    cpuidle: make cpuidle sysfs driver governor switch off by default

    Make default cpuidle sysfs to show current_governor and current_driver in
    read-only mode. More elaborate available_governors and available_drivers with
    writeable current_governor and current_driver interface only appear with
    "cpuidle_sysfs_switch" boot parameter.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 1f60a0e80bf83cf6b55c8845bbe5596ed8f6307b
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:37:00 2007 -0400

    cpuidle: menu governor: change the early break condition

    Change the C-state early break out algorithm in menu governor.

    We only look at early breakouts that result in wakeups shorter than idle
    state's target_residency. If such a breakout is frequent enough, eliminate
    the particular idle state upto a timeout period.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 45a42095cf64b003b4a69be3ce7f434f97d7af51
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:35:38 2007 -0400

    cpuidle: fix uninitialized variable in sysfs routine

    Fix the uninitialized usage of ret.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 80dca7cdba3e6ee13eae277660873ab9584eb3be
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:34:16 2007 -0400

    cpuidle: reenable /proc/acpi//power interface for the time being

    Keep /proc/acpi/processor/CPU*/power around for a while as powertop depends
    on it. It will be marked deprecated and removed in future. powertop can use
    cpuidle interfaces instead.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 589c37c2646c5e3813a51255a5ee1159cb4c33fc
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:32:37 2007 -0400

    cpuidle: menu governor and hrtimer compile fix

    Compile fix for menu governor.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 0ba80bd9ab3ed304cb4f19b722e4cc6740588b5e
    Author: Len Brown
    Date: Thu May 31 22:51:43 2007 -0400

    cpuidle: build fix - cpuidle vs ipw2100 module

    ERROR: "acpi_set_cstate_limit" [drivers/net/wireless/ipw2100.ko] undefined!

    Signed-off-by: Len Brown

    commit d7d8fa7f96a7f7682be7c6cc0cc53fa7a18c3b58
    Author: Adam Belay
    Date: Sat Mar 24 03:47:07 2007 -0400

    cpuidle: add the 'menu' governor

    Here is my first take at implementing an idle PM governor that takes
    full advantage of NO_HZ. I call it the 'menu' governor because it
    considers the full list of idle states before each entry.

    I've kept the implementation fairly simple. It attempts to guess the
    next residency time and then chooses a state that would meet at least
    the break-even point between power savings and entry cost. To this end,
    it selects the deepest idle state that satisfies the following
    constraints:
    1. If the idle time elapsed since bus master activity was detected
    is below a threshold (currently 20 ms), then limit the selection
    to C2-type or above.
    2. Do not choose a state with a break-even residency that exceeds
    the expected time remaining until the next timer interrupt.
    3. Do not choose a state with a break-even residency that exceeds
    the elapsed time between the last pair of break events,
    excluding timer interrupts.

    This governor has an advantage over "ladder" governor because it
    proactively checks how much time remains until the next timer interrupt
    using the tick infrastructure. Also, it handles device interrupt
    activity more intelligently by not including timer interrupts in break
    event calculations. Finally, it doesn't make policy decisions using the
    number of state entries, which can have variable residency times (NO_HZ
    makes these potentially very large), and instead only considers sleep
    time deltas.

    The menu governor can be selected during runtime using the cpuidle sysfs
    interface like so:
    "echo "menu" > /sys/devices/system/cpu/cpuidle/current_governor"

    Signed-off-by: Adam Belay
    Signed-off-by: Len Brown

    commit a4bec7e65aa3b7488b879d971651cc99a6c410fe
    Author: Adam Belay
    Date: Sat Mar 24 03:47:03 2007 -0400

    cpuidle: export time until next timer interrupt using NO_HZ

    Expose information about the time remaining until the next
    timer interrupt expires by utilizing the dynticks infrastructure.
    Also modify the main idle loop to allow dynticks to handle
    non-interrupt break events (e.g. DMA). Finally, expose sleep ticks
    information to external code. Thomas Gleixner is responsible for much
    of the code in this patch. However, I've made some additional changes,
    so I'm probably responsible if there are any bugs or oversights :)

    Signed-off-by: Adam Belay
    Signed-off-by: Len Brown

    commit 2929d8996fbc77f41a5ff86bb67cdde3ca7d2d72
    Author: Adam Belay
    Date: Sat Mar 24 03:46:58 2007 -0400

    cpuidle: governor API changes

    This patch prepares cpuidle for the menu governor. It adds an optional
    stage after idle state entry to give the governor an opportunity to
    check why the state was exited. Also it makes sure the idle loop
    returns after each state entry, allowing the appropriate dynticks code
    to run.

    Signed-off-by: Adam Belay
    Signed-off-by: Len Brown

    commit 3a7fd42f9825c3b03e364ca59baa751bb350775f
    Author: Venki Pallipadi
    Date: Thu Apr 26 00:03:59 2007 -0700

    cpuidle: hang fix

    Prevent hang on x86-64, when ACPI processor driver is added as a module on
    a system that does not support C-states.

    x86-64 expects all idle handlers to enable interrupts before returning from
    idle handler. This is due to enter_idle(), exit_idle() races. Make
    cpuidle_idle_call() confirm to this when there is no pm_idle_old.

    Also, cpuidle look at the return values of attch_driver() and set
    current_driver to NULL if attach fails on all CPUs.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 4893339a142afbd5b7c01ffadfd53d14746e858e
    Author: Shaohua Li
    Date: Thu Apr 26 10:40:09 2007 +0800

    cpuidle: add support for max_cstate limit

    With CPUIDLE framework, the max_cstate (to limit max cpu c-state)
    parameter is ingored. Some systems require it to ignore C2/C3
    and some drivers like ipw require it too.

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

    commit 43bbbbe1cb998cbd2df656f55bb3bfe30f30e7d1
    Author: Shaohua Li
    Date: Thu Apr 26 10:40:13 2007 +0800

    cpuidle: add cpuidle_fore_redetect_devices API

    add cpuidle_force_redetect_devices API,
    which forces all CPU redetect idle states.
    Next patch will use it.

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

    commit d1edadd608f24836def5ec483d2edccfb37b1d19
    Author: Shaohua Li
    Date: Thu Apr 26 10:40:01 2007 +0800

    cpuidle: fix sysfs related issue

    Fix the cpuidle sysfs issue.
    a. make kobject dynamicaly allocated
    b. fixed sysfs init issue to avoid suspend/resume issue

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

    commit 7169a5cc0d67b263978859672e86c13c23a5570d
    Author: Randy Dunlap
    Date: Wed Mar 28 22:52:53 2007 -0400

    cpuidle: 1-bit field must be unsigned

    A 1-bit bitfield has no room for a sign bit.
    drivers/cpuidle/governors/ladder.c:54:16: error: dubious bitfield without explicit `signed' or `unsigned'

    Signed-off-by: Randy Dunlap
    Cc: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 4658620158dc2fbd9e4bcb213c5b6fb5d05ba7d4
    Author: Venkatesh Pallipadi
    Date: Wed Mar 28 22:52:41 2007 -0400

    cpuidle: fix boot hang

    Patch for cpuidle boot hang reported by Larry Finger here.
    http://www.ussg.iu.edu/hypermail/linux/kernel/0703.2/2025.html

    Signed-off-by: Venkatesh Pallipadi
    Cc: Larry Finger
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit c17e168aa6e5fe3851baaae8df2fbc1cf11443a9
    Author: Len Brown
    Date: Wed Mar 7 04:37:53 2007 -0500

    cpuidle: ladder does not depend on ACPI

    build fix for CONFIG_ACPI=n

    In file included from drivers/cpuidle/governors/ladder.c:21:
    include/acpi/processor.h:88: error: expected specifier-qualifier-list before ‘acpi_integer’
    include/acpi/processor.h:106: error: expected specifier-qualifier-list before ‘acpi_integer’
    include/acpi/processor.h:168: error: expected specifier-qualifier-list before ‘acpi_handle’

    Signed-off-by: Len Brown

    commit 8c91d958246bde68db0c3f0c57b535962ce861cb
    Author: Adrian Bunk
    Date: Tue Mar 6 02:29:40 2007 -0800

    cpuidle: make code static

    This patch makes the following needlessly global code static:
    - driver.c: __cpuidle_find_driver()
    - governor.c: __cpuidle_find_governor()
    - ladder.c: struct ladder_governor

    Signed-off-by: Adrian Bunk
    Cc: Venkatesh Pallipadi
    Cc: Adam Belay
    Cc: Shaohua Li
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 0c39dc3187094c72c33ab65a64d2017b21f372d2
    Author: Venkatesh Pallipadi
    Date: Wed Mar 7 02:38:22 2007 -0500

    cpu_idle: fix build break

    This patch fixes a build breakage with !CONFIG_HOTPLUG_CPU and
    CONFIG_CPU_IDLE.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 8112e3b115659b07df340ef170515799c0105f82
    Author: Venkatesh Pallipadi
    Date: Tue Mar 6 02:29:39 2007 -0800

    cpuidle: build fix for !CPU_IDLE

    Fix the compile issues when CPU_IDLE is not configured.

    Signed-off-by: Venkatesh Pallipadi
    Cc: Adam Belay
    Cc: Shaohua Li
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 1eb4431e9599cd25e0d9872f3c2c8986821839dd
    Author: Venkatesh Pallipadi
    Date: Thu Feb 22 13:54:57 2007 -0800

    cpuidle take2: Basic documentation for cpuidle

    Documentation for cpuidle infrastructure

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Adam Belay
    Signed-off-by: Shaohua Li
    Signed-off-by: Len Brown

    commit ef5f15a8b79123a047285ec2e3899108661df779
    Author: Venkatesh Pallipadi
    Date: Thu Feb 22 13:54:03 2007 -0800

    cpuidle take2: Hookup ACPI C-states driver with cpuidle

    Hookup ACPI C-states onto generic cpuidle infrastructure.

    drivers/acpi/procesor_idle.c is now a ACPI C-states driver that registers as
    a driver in cpuidle infrastructure and the policy part is removed from
    drivers/acpi/processor_idle.c. We use governor in cpuidle instead.

    Signed-off-by: Shaohua Li
    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Adam Belay
    Signed-off-by: Len Brown

    commit 987196fa82d4db52c407e8c9d5dec884ba602183
    Author: Venkatesh Pallipadi
    Date: Thu Feb 22 13:52:57 2007 -0800

    cpuidle take2: Core cpuidle infrastructure

    Announcing 'cpuidle', a new CPU power management infrastructure to manage
    idle CPUs in a clean and efficient manner.
    cpuidle separates out the drivers that can provide support for multiple types
    of idle states and policy governors that decide on what idle state to use
    at run time.
    A cpuidle driver can support multiple idle states based on parameters like
    varying power consumption, wakeup latency, etc (ACPI C-states for example).
    A cpuidle governor can be usage model specific (laptop, server,
    laptop on battery etc).
    Main advantage of the infrastructure being, it allows independent development
    of drivers and governors and allows for better CPU power management.

    A huge thanks to Adam Belay and Shaohua Li who were part of this mini-project
    since its beginning and are greatly responsible for this patchset.

    This patch:

    Core cpuidle infrastructure.
    Introduces a new abstraction layer for cpuidle:
    * which manages drivers that can support multiple idles states. Drivers
    can be generic or particular to specific hardware/platform
    * allows pluging in multiple policy governors that can take idle state policy
    decision
    * The core also has a set of sysfs interfaces with which administrato can know
    about supported drivers and governors and switch them at run time.

    Signed-off-by: Adam Belay
    Signed-off-by: Shaohua Li
    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    Signed-off-by: Len Brown

    Len Brown
     

24 Jul, 2007

1 commit

  • Modify modpost (file2alias.c) to add acpi*:XYZ0001: alias in modules.alias
    like:
    grep acpi /lib/modules/2.6.22-rc4-default/modules.alias
    alias acpi*:SNY5001:* sony_laptop
    alias acpi*:SNY6001:* sony_laptop
    for e.g. the sony_laptop module.
    This module matches against all ACPI devices with a HID or CID of SNY5001
    or SNY6001

    Export an uevent and modalias sysfs file containing the string:
    [MODALIAS=]acpi:PNP0C0C:
    additional CIDs are concatenated at the end.

    Signed-off-by: Thomas Renninger
    Signed-off-by: Kay Sievers
    Signed-off-by: Len Brown

    Thomas Renninger
     

22 Jul, 2007

2 commits

  • For NUMA emulation, our SLIT should represent the true NUMA topology of the
    system but our proximity domain to node ID mapping needs to reflect the
    emulated state.

    When NUMA emulation has successfully setup fake nodes on the system, a new
    function, acpi_fake_nodes() is called. This function determines the proximity
    domain (_PXM) for each true node found on the system. It then finds which
    emulated nodes have been allocated on this true node as determined by its
    starting address. The node ID to PXM mapping is changed so that each fake
    node ID points to the PXM of the true node that it is located on.

    If the machine failed to register a SLIT, then we assume there is no special
    requirement for emulated node affinity so we use the default LOCAL_DISTANCE,
    which is newly exported to this code, as our measurement if the emulated nodes
    appear in the same PXM. Otherwise, we use REMOTE_DISTANCE.

    PXM_INVAL and NID_INVAL are also exported to the ACPI header file so that we
    can compare node_to_pxm() results in generic code (in this case, the SRAT
    code).

    Cc: Len Brown
    Signed-off-by: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • In acpi_scan_nodes(), we immediately return -1 if acpi_numa
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    David Rientjes
     

20 Jul, 2007

2 commits

  • Move "debug during resume from s2ram" into the variable we already use
    for real-mode flags to simplify code. It also closes nasty trap for
    the user in acpi_sleep_setup; order of parameters actually mattered there,
    acpi_sleep=s3_bios,s3_mode doing something different from
    acpi_sleep=s3_mode,s3_bios.

    Signed-off-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     
  • Add a feature allowing the user to make the system beep during a resume from
    suspend to RAM, on x86_64 and i386.

    This is useful for the users with broken resume from RAM, so that they can
    verify if the control reaches the kernel after a wake-up event.

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

    Nigel Cunningham
     

10 May, 2007

1 commit

  • The ACPI EC that is used in MSI laptops knows some non-standard
    commands for changing the screen brighntess and a few other things,
    which are used by the msi-laptop.c driver. Unfortunately for these
    commands no GPE events for IBF and OBF are triggered. Since nowadays
    the EC code uses the ec_intr=1 mode by default, this causes these
    operations to timeout, although they don't fail. In result, all
    operations that you can do with the msi-laptop.c driver take more or
    less 1s to complete, which is awfully slow.

    In one of the more recent kernels (2.6.20?) the EC subsystem has been
    revamped. With that change the EC timeout has been increased. before
    that increase the MSI EC accesses were slow -- but not *that* slow,
    hence I took notice of this limitation of the MSI EC hardware only very
    recently.

    The standard EC operations on the MSI EC as defined in the ACPI spec
    support GPE events properly.

    The following patch adds a new argument "force_poll" to the
    ec_transaction() function (and friends). If set to 1, the function
    will poll for IBF/OBF even if ec_intr=1 is enabled. If set to 0 the
    current behaviour is used. The msi-laptop driver is modified to make
    use of this new flag, so that OBF/IBF is polled for the special MSI EC
    transactions -- but only for them.

    Signed-off-by: Lennart Poettering
    Acked-by: Alexey Starikovskiy
    Signed-off-by: Len Brown

    Lennart Poettering
     

13 Feb, 2007

2 commits


03 Feb, 2007

5 commits


05 Jan, 2007

1 commit

  • Provide ACPI _PRT support for SN Altix systems.

    The SN Altix platform does not conform to the
    IOSAPIC IRQ routing model, so a new acpi_irq_model
    (ACPI_IRQ_MODEL_PLATFORM) has been defined. The SN
    platform specific code sets acpi_irq_model to
    this new value, and keys off of it in acpi_register_gsi()
    to avoid the iosapic code path.

    Signed-off-by: John Keller
    Signed-off-by: Len Brown

    John Keller
     

14 Oct, 2006

1 commit

  • Unify the following functions:

    acpi_ec_poll_read()
    acpi_ec_poll_write()
    acpi_ec_poll_query()
    acpi_ec_intr_read()
    acpi_ec_intr_write()
    acpi_ec_intr_query()

    into:

    acpi_ec_poll_transaction()
    acpi_ec_intr_transaction()

    These new functions take as arguments an ACPI EC command, a few bytes
    to write to the EC data register and a buffer for a few bytes to read
    from the EC data register. The old _read(), _write(), _query() are
    just special cases of these functions.

    Then unified the code in acpi_ec_poll_transaction() and
    acpi_ec_intr_transaction() a little more. Both functions are now just
    wrappers around the new acpi_ec_transaction_unlocked() function. The
    latter contains the EC access logic, the two original
    function now just do their special way of locking and call the the
    new function for the actual work.

    This saves a lot of very similar code. The primary reason for doing
    this, however, is that my driver for MSI 270 laptops needs to issue
    some non-standard EC commands in a safe way. Due to this I added a new
    exported function similar to ec_write()/ec_write() which is called
    ec_transaction() and is essentially just a wrapper around
    acpi_ec_{poll,intr}_transaction().

    Signed-off-by: Lennart Poettering
    Acked-by: Luming Yu
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Lennart Poettering
     

28 Jun, 2006

1 commit

  • This is to find node id from acpi's handle of memory_device in DSDT. _PXM for
    the new node can be found by acpi_get_pxm() by using new memory's handle. So,
    node id can be found by pxm_to_nid_map[].

    This patch becomes simpler than v2 of node hot-add patch.
    Because old add_memory() function doesn't have node id parameter.
    So, kernel must find its handle by physical address via DSDT again.
    But, v3 just give node id to add_memory() now.

    Signed-off-by: Yasunori Goto
    Cc: Dave Hansen
    Cc: "Brown, Len"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yasunori Goto
     

23 Jun, 2006

1 commit

  • Consolidate the various arch-specific implementations of pxm_to_node() and
    node_to_pxm() into a single generic version.

    Signed-off-by: Yasunori Goto
    Cc: "Luck, Tony"
    Cc: Andi Kleen
    Cc: Dave Hansen
    Cc: "Brown, Len"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yasunori Goto
     

26 Apr, 2006

1 commit


21 Feb, 2006

1 commit

  • Currently, acpi video options can only be set on kernel command line. That's
    little inflexible; I'd like userland s2ram application that just works, and
    modifying kernel command line according to whitelist is not fun. It is better
    to just allow s2ram application to set video options just before suspend
    (according to the whitelist).

    This implements sysctl to allow setting suspend video options without reboot.

    (akpm: Documentation updates for this new sysctl are pending..)

    Signed-off-by: Pavel Machek
    Cc: "Brown, Len"
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     

10 Dec, 2005

1 commit

  • Completed a major overhaul of the Resource Manager code -
    specifically, optimizations in the area of the AML/internal
    resource conversion code. The code has been optimized to
    simplify and eliminate duplicated code, CPU stack use has
    been decreased by optimizing function parameters and local
    variables, and naming conventions across the manager have
    been standardized for clarity and ease of maintenance (this
    includes function, parameter, variable, and struct/typedef
    names.)

    All Resource Manager dispatch and information tables have
    been moved to a single location for clarity and ease of
    maintenance. One new file was created, named "rsinfo.c".

    The ACPI return macros (return_ACPI_STATUS, etc.) have
    been modified to guarantee that the argument is
    not evaluated twice, making them less prone to macro
    side-effects. However, since there exists the possibility
    of additional stack use if a particular compiler cannot
    optimize them (such as in the debug generation case),
    the original macros are optionally available. Note that
    some invocations of the return_VALUE macro may now cause
    size mismatch warnings; the return_UINT8 and return_UINT32
    macros are provided to eliminate these. (From Randy Dunlap)

    Implemented a new mechanism to enable debug tracing for
    individual control methods. A new external interface,
    acpi_debug_trace(), is provided to enable this mechanism. The
    intent is to allow the host OS to easily enable and disable
    tracing for problematic control methods. This interface
    can be easily exposed to a user or debugger interface if
    desired. See the file psxface.c for details.

    acpi_ut_callocate() will now return a valid pointer if a
    length of zero is specified - a length of one is used
    and a warning is issued. This matches the behavior of
    acpi_ut_allocate().

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

    Bob Moore