1. 27 Mar, 2009 9 commits
  2. 17 Mar, 2009 1 commit
  3. 19 Dec, 2008 1 commit
    • Bjorn Helgaas's avatar
      ACPI: fix 2.6.28 acpi.debug_level regression · e76f4276
      Bjorn Helgaas authored
      acpi_early_init() was changed to over-write the cmdline param,
      making it really inconvenient to set debug flags at boot-time.
      This sets the default level to "info", which is what all the ACPI
      drivers use.  So to enable messages from drivers, you only have to
      supply the "layer" (a.k.a. "component").  For non-"info" ACPI core
      and ACPI interpreter messages, you have to supply both level and
      layer masks, as before.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
  4. 07 Nov, 2008 1 commit
  5. 06 Nov, 2008 1 commit
    • Bjorn Helgaas's avatar
      ACPI: remove CONFIG_ACPI_EC · 8950d89a
      Bjorn Helgaas authored
      Remove CONFIG_ACPI_EC.  It was always set the same as CONFIG_ACPI,
      and it had no menu label, so there was no way to set it to anything
      other than "y".
      Per section 6.5.4 of the ACPI 3.0b specification,
          OSPM must make Embedded Controller operation regions, accessed
          via the Embedded Controllers described in ECDT, available before
          executing any control method.
      The ECDT table is optional, but if it is present, the above text
      means that the EC it describes is a required part of the ACPI
      subsystem, so CONFIG_ACPI_EC=n wouldn't make sense.
      Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
      Acked-by: default avatarAlexey Starikovskiy <astarikovskiy@suse.de>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
  6. 22 Oct, 2008 3 commits
  7. 11 Oct, 2008 2 commits
    • Matthew Wilcox's avatar
      ACPI: Change acpi_evaluate_integer to support 64-bit on 32-bit kernels · 27663c58
      Matthew Wilcox authored
      As of version 2.0, ACPI can return 64-bit integers.  The current
      acpi_evaluate_integer only supports 64-bit integers on 64-bit platforms.
      Change the argument to take a pointer to an acpi_integer so we support
      64-bit integers on all platforms.
      lenb: replaced use of "acpi_integer" with "unsigned long long"
      lenb: fixed bug in acpi_thermal_trips_update()
      Signed-off-by: default avatarMatthew Wilcox <willy@linux.intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
    • Zhao Yakui's avatar
      ACPI: Enable EC device immediately after ACPI full initialization · 455c8793
      Zhao Yakui authored
      when there is no ECDT table and no _INI object for EC device, it will be
      enabled before scanning ACPI device. But it is too late after the following
      the commit is merged.
          >commit 7752d5cf
          > Author: Robert Hancock <hancockr@shaw.ca>
          > Date:   Fri Feb 15 01:27:20 2008 -0800
             >x86: validate against acpi motherboard resources
         After the above commit is merged, OS will check whether MCFG area is
      reserved in ACPI motherboard resources by calling the function of
      acpi_get_devices when there exists MCFG table. In the acpi_get_devices the _STA
      object will be evaluated to check the status of the ACPI device. On some broken
      BIOS the MYEC object of EC device is initialized as one, which indicates that
      EC operation region is already accessible before enabling EC device.So on these
      broken BIOS the EC operation region will be accessed in course of evaluating
      the _STA object before enabling EC device, which causes that OS will print the
      following warning messages:
          >ACPI Error (evregion-0315): No handler for Region [EC__] (ffff88007f8145e8)
      [EmbeddedControl] [20080609]
          >ACPI Error (exfldio-0290): Region EmbeddedControl(3) has no handler [20080321]
          >ACPI Error (psparse-0530): Method parse/execution failed [\_SB_.PCI0.SBRG.
               EC__.BAT1._STA] (Node ffff81013fc17a00), AE_NOT_EXIST
          >ACPI Error (uteval-0233): Method execution failed [\_SB_.PCI0.SBRG.EC__.BAT1.
               _STA] (Node ffff81013fc17a00), AE_NOT_EXIST
      Although the above warning message is harmless, it looks confusing.
      So it is necessary to enable EC device as early as possible.Maybe it is
      appropriate to enable it immediately after ACPI full initialization.
      Signed-off-by: default avatarZhao Yakui <yakui.zhao@intel.com>
      Acked-by: default avatarAlexey Starikovskiy <astarikovskiy@suse.de>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
  8. 23 Sep, 2008 1 commit
  9. 16 Jul, 2008 1 commit
  10. 07 Jul, 2008 2 commits
    • Rafael J. Wysocki's avatar
      PCI ACPI: Rework PCI handling of wake-up · eb9d0fe4
      Rafael J. Wysocki authored
      * Introduce function acpi_pm_device_sleep_wake() for enabling and
        disabling the system wake-up capability of devices that are power
        manageable by ACPI.
      * Introduce function acpi_bus_can_wakeup() allowing other (dependent)
        subsystems to check if ACPI is able to enable the system wake-up
        capability of given device.
      * Introduce callback .sleep_wake() in struct pci_platform_pm_ops and
        for the ACPI PCI 'driver' make it use acpi_pm_device_sleep_wake().
      * Introduce callback .can_wakeup() in struct pci_platform_pm_ops and
        for the ACPI 'driver' make it use acpi_bus_can_wakeup().
      * Move the PME# handlig code out of pci_enable_wake() and split it
        into two functions, pci_pme_capable() and pci_pme_active(),
        allowing the caller to check if given device is capable of
        generating PME# from given power state and to enable/disable the
        device's PME# functionality, respectively.
      * Modify pci_enable_wake() to use the new ACPI callbacks and the new
        PME#-related functions.
      * Drop the generic .platform_enable_wakeup() callback that is not
        used any more.
      * Introduce device_set_wakeup_capable() that will set the
        power.can_wakeup flag of given device.
      * Rework PCI device PM initialization so that, if given device is
        capable of generating wake-up events, either natively through the
        PME# mechanism, or with the help of the platform, its
        power.can_wakeup flag is set and its power.should_wakeup flag is
        unset as appropriate.
      * Make ACPI set the power.can_wakeup flag for devices found to be
        wake-up capable by it.
      * Make the ACPI wake-up code enable/disable GPEs for devices that
        have the wakeup.flags.prepared flag set (which means that their
        wake-up power has been enabled).
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    • Rafael J. Wysocki's avatar
      ACPI: Introduce acpi_bus_power_manageable function · 3737b2b1
      Rafael J. Wysocki authored
      Introduce function acpi_bus_power_manageable() allowing other
      (dependent) subsystems to check if ACPI is able to power manage given
      device.  This may be useful, for example, for PCI device power
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
  11. 26 Apr, 2008 1 commit
    • Robert Hancock's avatar
      x86: validate against acpi motherboard resources · 7752d5cf
      Robert Hancock authored
      This path adds validation of the MMCONFIG table against the ACPI reserved
      motherboard resources.  If the MMCONFIG table is found to be reserved in
      ACPI, we don't bother checking the E820 table.  The PCI Express firmware
      spec apparently tells BIOS developers that reservation in ACPI is required
      and E820 reservation is optional, so checking against ACPI first makes
      sense.  Many BIOSes don't reserve the MMCONFIG region in E820 even though
      it is perfectly functional, the existing check needlessly disables MMCONFIG
      in these cases.
      In order to do this, MMCONFIG setup has been split into two phases.  If PCI
      configuration type 1 is not available then MMCONFIG is enabled early as
      before.  Otherwise, it is enabled later after the ACPI interpreter is
      enabled, since we need to be able to execute control methods in order to
      check the ACPI reserved resources.  Presently this is just triggered off
      the end of ACPI interpreter initialization.
      There are a few other behavioral changes here:
      - Validate all MMCONFIG configurations provided, not just the first one.
      - Validate the entire required length of each configuration according to
        the provided ending bus number is reserved, not just the minimum required
      - Validate that the area is reserved even if we read it from the chipset
        directly and not from the MCFG table.  This catches the case where the
        BIOS didn't set the location properly in the chipset and has mapped it
        over other things it shouldn't have.
      This also cleans up the MMCONFIG initialization functions so that they
      simply do nothing if MMCONFIG is not compiled in.
      Based on an original patch by Rajesh Shah from Intel.
      [akpm@linux-foundation.org: many fixes and cleanups]
      Signed-off-by: default avatarRobert Hancock <hancockr@shaw.ca>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Tested-by: default avatarAndi Kleen <ak@suse.de>
      Cc: Rajesh Shah <rajesh.shah@intel.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
  12. 15 Apr, 2008 1 commit
  13. 10 Mar, 2008 1 commit
  14. 09 Feb, 2008 1 commit
    • Harvey Harrison's avatar
      x86: fix sparse warnings in acpi/bus.c · 6697c052
      Harvey Harrison authored
      Add function definition and extern variables to asm-x86/acpi.h.
      All of these are used in bus.c in ifdef(CONFIG_X86) sections, so are
      only added to the x86 include headers.  boot.c already includes acpi.h
      so no changes are needed there.
      Fixes the following:
      arch/x86/kernel/acpi/boot.c:83:4: warning: symbol 'acpi_sci_flags' was not declared. Should it be static?
      arch/x86/kernel/acpi/boot.c:84:5: warning: symbol 'acpi_sci_override_gsi' was not declared. Should it be static?
      arch/x86/kernel/acpi/boot.c:421:13: warning: symbol 'acpi_pic_sci_set_trigger' was not declared. Should it be static?
      Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
  15. 07 Feb, 2008 1 commit
    • Adrian Bunk's avatar
      ACPI: misc cleanups · e5685b9d
      Adrian Bunk authored
          This patch contains the following possible cleanups:
          - make the following needlessly global code static:
            - drivers/acpi/bay.c:dev_attr_eject
            - drivers/acpi/bay.c:dev_attr_present
            - drivers/acpi/dock.c:dev_attr_docked
            - drivers/acpi/dock.c:dev_attr_flags
            - drivers/acpi/dock.c:dev_attr_uid
            - drivers/acpi/dock.c:dev_attr_undock
            - drivers/acpi/pci_bind.c:acpi_pci_unbind()
            - drivers/acpi/pci_link.c:acpi_link_lock
            - drivers/acpi/sbs.c:acpi_sbs_callback()
            - drivers/acpi/sbshc.c:acpi_smbus_transaction()
            - drivers/acpi/sleep/main.c:acpi_sleep_prepare()
          - #if 0 the following unused global functions:
            - drivers/acpi/numa.c:acpi_unmap_pxm_to_node()
          - remove the following unused EXPORT_SYMBOL's:
            - acpi_register_gsi
            - acpi_unregister_gsi
            - acpi_strict
            - acpi_bus_receive_event
            - register_acpi_bus_type
            - unregister_acpi_bus_type
            - acpi_os_printf
            - acpi_os_sleep
            - acpi_os_stall
            - acpi_os_read_pci_configuration
            - acpi_os_create_semaphore
            - acpi_os_delete_semaphore
            - acpi_os_wait_semaphore
            - acpi_os_signal_semaphore
            - acpi_os_signal
            - acpi_pci_irq_enable
            - acpi_get_pxm
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Acked-by: default avatarAlexey Starikovskiy <astarikovskiy@suse.de>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
  16. 01 Feb, 2008 1 commit
  17. 24 Jan, 2008 3 commits
  18. 23 Jan, 2008 1 commit
  19. 11 Jan, 2008 1 commit
  20. 25 Oct, 2007 2 commits
  21. 12 Oct, 2007 1 commit
  22. 11 Oct, 2007 1 commit
  23. 27 Sep, 2007 1 commit
  24. 23 Aug, 2007 2 commits
    • Len Brown's avatar
      ACPI: Schedule /proc/acpi/event for removal · 14e04fb3
      Len Brown authored
      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: default avatarLen Brown <len.brown@intel.com>
    • Zhang Rui's avatar
      ACPI: don't duplicate input events on netlink · 962ce8ca
      Zhang Rui authored
      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:
      	thinkpad_acpi dock/bay
      events that are sent via input layer:
      	video hotkey
      	thinkpad_acpi hotkey
      	asus_acpi/asus-laptop hotkey
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>