15 Aug, 2010

5 commits

  • Conflicts:
    drivers/acpi/debug.c

    Signed-off-by: Len Brown

    Len Brown
     
  • Mark the ACPI thermal procfs I/F deprecated, because /sys/class/thermal/
    is already available and has been working for years w/o any problem.

    The ACPI thermal procfs I/F will be removed in 2.6.37.

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

    Zhang Rui
     
  • Mark ACPI video driver procfs I/F deprecated, including:
    /proc/acpi/video/*/info
    /proc/acpi/video/*/DOS
    /proc/acpi/video/*/ROM
    /proc/acpi/video/*/POST
    /proc/acpi/video/*/POST_info
    /proc/acpi/video/*/*/info
    /proc/acpi/video/*/*/state
    /proc/acpi/video/*/*/EDID
    and
    /proc/acpi/video/*/*/brightness, because
    1. we already have the sysfs I/F /sysclass/backlight/ as the replacement
    of /proc/acpi/video/*/*/brightness.
    2. the other procfs I/F is not useful for userspace.

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

    Zhang Rui
     
  • Remove deprecated ACPI processor procfs I/F, including:
    /proc/acpi/processor/CPUX/power
    /proc/acpi/processor/CPUX/limit
    /proc/acpi/processor/CPUX/info

    /proc/acpi/processor/CPUX/throttling still exists,
    as we don't have sysfs I/F available for now.

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

    Zhang Rui
     
  • 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
     

03 Aug, 2010

2 commits

  • - Set Kconfig option default n
    - Only allow root to read/write io file (sever bug!)
    - Introduce write support module param -> default off
    - Properly clean up if any debugfs files cannot be created

    Signed-off-by: Thomas Renninger
    CC: mjg59@srcf.ucam.org
    CC: platform-driver-x86@vger.kernel.org
    CC: linux-acpi@vger.kernel.org
    CC: astarikovskiy@suse.de
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     
  • This patch provides the same information through debugfs, which previously was
    provided through /proc/acpi/embedded_controller/*/info

    This is the gpe the EC is connected to and whether the global lock
    gets used.
    The io ports used are added to /proc/ioports in another patch.
    Beside the fact that /proc/acpi is deprecated for quite some time,
    this info is not needed for applications and thus can be moved
    to debugfs instead of a public interface like /sys.

    Signed-off-by: Thomas Renninger

    CC: Alexey Starikovskiy
    CC: Len Brown
    CC: linux-kernel@vger.kernel.org
    CC: linux-acpi@vger.kernel.org
    CC: Bjorn Helgaas
    CC: platform-driver-x86@vger.kernel.org
    Signed-off-by: Matthew Garrett

    Thomas Renninger
     

20 May, 2010

2 commits

  • Hardware Error Device (PNP0C33) is used to report some hardware errors
    notified via SCI, mainly the corrected errors. Some APEI Generic
    Hardware Error Source (GHES) may use SCI on hardware error device to
    notify hardware error to kernel.

    After receiving notification from ACPI core, it is forwarded to all
    listeners via a notifier chain. The listener such as APEI GHES should
    check corresponding error source for new events when notified.

    Signed-off-by: Huang Ying
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Huang Ying
     
  • APEI stands for ACPI Platform Error Interface, which allows to report
    errors (for example from the chipset) to the operating system. This
    improves NMI handling especially. In addition it supports error
    serialization and error injection.

    For more information about APEI, please refer to ACPI Specification
    version 4.0, chapter 17.

    This patch provides some common functions used by more than one APEI
    tables, mainly framework of interpreter for EINJ and ERST.

    A machine readable language is defined for EINJ and ERST for OS to
    execute, and so to drive the firmware to fulfill the corresponding
    functions. The machine language for EINJ and ERST is compatible, so a
    common framework is defined for them.

    Signed-off-by: Huang Ying
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Huang Ying
     

10 Oct, 2009

1 commit


05 Oct, 2009

1 commit


27 Sep, 2009

1 commit


19 Sep, 2009

2 commits

  • Len Brown
     
  • This driver exposes ACPI 4.0 compliant power meters as hardware monitoring
    devices. This second revision of the driver also exports the ACPI string
    info as sysfs attributes, a list of the devices that the meter measures,
    and will send ACPI notifications over the ACPI netlink socket. This
    latest revision only enables the power capping controls if it can be
    confirmed that the power cap can be enforced by the hardware and explains
    how the notification interfaces work.

    [akpm@linux-foundation.org: remove default-y]
    [akpm@linux-foundation.org: build fix]
    Signed-off-by: Darrick J. Wong
    Cc: Zhang Rui
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Darrick J. Wong
     

01 Aug, 2009

1 commit

  • ACPI 4.0 created the logical "processor aggregator device" as
    a mechinism for platforms to ask the OS to force otherwise busy
    processors to enter (power saving) idle.

    The intent is to lower power consumption to ride-out
    transient electrical and thermal emergencies,
    rather than powering off the server.

    On platforms that can save more power/performance via P-states,
    the platform will first exhaust P-states before forcing idle.
    However, the relative benefit of P-states vs. idle states
    is platform dependent, and thus this driver need not know
    or care about it.

    This driver does not use the kernel's CPU hot-plug mechanism
    because after the transient emergency is over, the system must
    be returned to its normal state, and hotplug would permanently
    break both cpusets and binding.

    So to force idle, the driver creates a power saving thread.
    The scheduler will migrate the thread to the preferred CPU.
    The thread has max priority and has SCHED_RR policy,
    so it can occupy one CPU. To save power, the thread will
    invoke the deep C-state entry instructions.

    To avoid starvation, the thread will sleep 5% of the time
    time for every second (current RT scheduler has threshold
    to avoid starvation, but if other CPUs are idle,
    the CPU can borrow CPU timer from other,
    which makes the mechanism not work here)

    Vaidyanathan Srinivasan has proposed scheduler enhancements
    to allow injecting idle time into the system. This driver doesn't
    depend on those enhancements, but could cut over to them
    when they are available.

    Peter Z. does not favor upstreaming this driver until
    the those scheduler enhancements are in place. However,
    we favor upstreaming this driver now because it is useful
    now, and can be enhanced over time.

    Signed-off-by: Shaohua Li
    NACKed-by: Peter Zijlstra
    Cc: Vaidyanathan Srinivasan
    Signed-off-by: Len Brown

    Shaohua Li
     

24 Jun, 2009

1 commit


19 Jun, 2009

1 commit

  • There is no way to interact with a physical PCI slot without
    sysfs, so encode the dependency and prevent this build error:

    drivers/pci/slot.c: In function 'pci_hp_create_module_link':
    drivers/pci/slot.c:327: error: 'module_kset' undeclared

    This patch _should_ make pci-sysfs.o depend on CONFIG_SYSFS too,
    but we cannot (yet) because the PCI core merrily assumes the
    existence of sysfs:

    drivers/built-in.o: In function `pci_bus_add_device':
    drivers/pci/bus.c:89: undefined reference to `pci_create_sysfs_dev_files'
    drivers/built-in.o: In function `pci_stop_dev':
    drivers/pci/remove.c:24: undefined reference to `pci_remove_sysfs_dev_files'

    So do the minimal bit for now and figure out how to untangle it
    later.

    Reported-by: Randy Dunlap
    Acked-by: Randy Dunlap
    Reported-by: Stephen Rothwell
    Fix-suggested-by: Matthew Wilcox
    Signed-off-by: Alex Chiang
    Signed-off-by: Jesse Barnes

    Alex Chiang
     

17 Mar, 2009

1 commit

  • Use "help" (not "---help---") consistently throughout.

    ACPI can't be a module, so if both ACPI & APM are configured,
    we use ACPI.

    Update pointers to ACPI CA and Linux ACPI projects.

    Replace "Compaq" with "Hewlett-Packard" in the spec developer list.

    Fix typo in /sys/module path.

    The user-space daemon is "acpid", not "acpi".

    Add standard "To compile this driver as a module ..." help text.

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

    Bjorn Helgaas
     

22 Feb, 2009

1 commit

  • Remove CONFIG_ACPI_SYSTEM. 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".

    Some things under CONFIG_ACPI_SYSTEM (acpi_irq_handled, acpi_os_gpe_count(),
    event_is_open, register_acpi_notifier(), etc.) are used unconditionally
    by the CA, the OSPM, and drivers, so we depend on them always being
    present.

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

    Bjorn Helgaas
     

07 Feb, 2009

3 commits


19 Dec, 2008

1 commit


08 Nov, 2008

1 commit

  • Reformat acpi.debug_layer and acpi.debug_level documentation so it's
    more readable, add some clues about how to figure out the mask bits that
    enable a specific ACPI_DEBUG_PRINT statement, and include some useful
    examples.

    Move the list of masks to Documentation/acpi/debug.txt (these are
    copies of the authoritative values in acoutput.h and acpi_drivers.h).

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

    Bjorn Helgaas
     

07 Nov, 2008

2 commits

  • 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: Bjorn Helgaas
    Acked-by: Alexey Starikovskiy
    Signed-off-by: Len Brown

    Bjorn Helgaas
     
  • Remove CONFIG_ACPI_POWER. 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".

    The interfaces under CONFIG_ACPI_POWER (acpi_device_sleep_wake(),
    acpi_power_transition(), etc) are called unconditionally from the
    ACPI core, so we already depend on it always being present.

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

    Bjorn Helgaas
     

23 Oct, 2008

4 commits

  • To avoid dock driver is loaded after other drivers like libata, let's
    make dock driver not a module.

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

    Shaohua Li
     
  • Conflicts:
    MAINTAINERS
    arch/x86/kernel/acpi/boot.c
    arch/x86/kernel/acpi/sleep.c
    drivers/acpi/Kconfig
    drivers/pnp/Makefile
    drivers/pnp/quirks.c

    Signed-off-by: Len Brown

    Len Brown
     
  • Len Brown
     
  • Initially CONFIG_PM_SLEEP was defined as
    CONFIG_SUSPEND || CONFIG_HIBERNATION and some ACPI code, most
    importantly the code in drivers/acpi/main.c, was written with this
    assumption. Currently, however, CONFIG_PM_SLEEP is also set when
    CONFIG_XEN_SAVE_RESTORE is set.

    This causes some compilation warnings to appear in
    drivers/acpi/main.c if both CONFIG_SUSPEND and CONFIG_HIBERNATION
    are unset and CONFIG_PM_SLEEP is set (this was impossible before).
    To fix this problem, redefine CONFIG_ACPI_SLEEP do depend directly
    on CONFIG_SUSPEND || CONFIG_HIBERNATION, as originally intended, and
    use it instead of CONFIG_PM_SLEEP in drivers/acpi/main.c, wherever
    appropriate.

    Additionally, move the acpi_target_sleep_state definition from under
    the #ifdef to prevent compilation from failing in some cases.

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

    Rafael J. Wysocki
     

13 Oct, 2008

1 commit


11 Oct, 2008

1 commit

  • CONFIG_ACPI_TOSHIBA can =y when CONFIG_INPUT=m, so prevent that
    combination and its subsequent build errors:

    toshiba_acpi.c:(.text+0x3e877): undefined reference to `input_event'
    toshiba_acpi.c:(.text+0x3e98a): undefined reference to `input_unregister_polled_device'
    toshiba_acpi.c:(.text+0x3e994): undefined reference to `input_free_polled_device'
    toshiba_acpi.c:(.init.text+0x21b4): undefined reference to `input_allocate_polled_device'
    toshiba_acpi.c:(.init.text+0x2263): undefined reference to `input_register_polled_device'
    make[1]: *** [.tmp_vmlinux1] Error 1

    Signed-off-by: Randy Dunlap
    Signed-off-by: Len Brown

    Randy Dunlap
     

24 Sep, 2008

1 commit


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