05 Apr, 2009
3 commits
-
Conflicts:
drivers/acpi/MakefileSigned-off-by: Len Brown
-
Conflicts:
drivers/acpi/MakefileSigned-off-by: Len Brown
-
The battery driver tends to take quite some time to initialize
(100ms-300ms is quite typical).
This patch initializes the batter driver asynchronously, so that other
things in the kernel can initialize in parallel to this 300 msec.As part of this, the battery driver had to move to the back
of the ACPI init order (hence the Makefile change).
Without this move, the next ACPI driver would just block
on the ACPI/devicee layer semaphores until the battery driver was
done anyway, not gaining any boot time.Signed-off-by: Arjan van de Ven
Signed-off-by: Len Brown
03 Apr, 2009
2 commits
-
Suggested-by: Sam Ravnborg
Signed-off-by: Len Brown -
Impact: cleanup
Rather than overriding MODULE_PARAM_PREFIX, build via acpi.o so
KBUILD_MODNAME is set to "acpi".This is the logical way to do it, even though acpi cannot be a module
due to these config options being bool. Those parts of ACPI which can
be modular are not built into the acpi "module".Signed-off-by: Rusty Russell
Signed-off-by: Len Brown
28 Mar, 2009
1 commit
-
This patch removes the suggestion that ec.o link order is important,
because it doesn't matter since acpi_ec_init() is no longer an initcall.
And it puts together most of the core modules that are not configurable.Signed-off-by: Bjorn Helgaas
Signed-off-by: Len Brown
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
17 Jan, 2009
1 commit
-
Signed-off-by: Len Brown
09 Jan, 2009
2 commits
-
Conflicts:
drivers/misc/KconfigSigned-off-by: Len Brown
-
also, delete sleep/ and delete ACPI_CFLAGS from Makefile
Signed-off-by: Len Brown
19 Dec, 2008
1 commit
-
These are platform specific drivers that happen to use ACPI,
while drivers/acpi/ is for code that implements ACPI itself.Signed-off-by: Len Brown
12 Nov, 2008
1 commit
-
Conflicts:
Documentation/kernel-parameters.txtSigned-off-by: Len Brown
08 Nov, 2008
1 commit
-
If an ACPI graphics device supports backlight brightness functions (cmp. with
latest ACPI spec Appendix B), let the ACPI video driver control backlight and
switch backlight control off in vendor specific ACPI drivers (asus_acpi,
thinkpad_acpi, eeepc, fujitsu_laptop, msi_laptop, sony_laptop, acer-wmi).Currently it is possible to load above drivers and let both poke on the
brightness HW registers, the video and vendor specific ACPI drivers -> bad.This patch provides the basic support to check for BIOS capabilities before
driver loading time. Driver specific modifications are in separate follow up
patches."acpi_backlight=vendor"
Prever vendor driver over ACPI driver for backlight.
"acpi_backlight=video" (default)
Prever ACPI driver over vendor driver for backlight.Signed-off-by: Thomas Renninger
Acked-by: Zhang Rui
Signed-off-by: Andi Kleen
Signed-off-by: Len Brown
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 -
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
23 Oct, 2008
1 commit
-
There exists the following warning message will appear after the
following commit is merged.
>commit f2e969acd6d5981e6b1272810002558650d0736e
>Author: Zhao Yakui
>Date: Mon Aug 11 14:57:50 2008 +0800
>ACPI: Add "acpi.power_nocheck=1" to disable power state check in
power transition:>WARNING: at linux-2.6/fs/sysfs/dir.c:463 sysfs_add_one+0x33/0x39()
>sysfs: duplicate filename 'acpi' can not be created
>kobject_add_internal failed for acpi with -EEXIST, don't try to register
things with the same name in the same directoryIn the above commit the "acpi.power_nocheck" module parameter is defined
in drivers/acpi/power.c file. As several module parameters using the same ACPI
prefix are defined in the different files(for example: power_nocheck is
defined in drivers/acpi/power.c,debug_layer/debug_level are defined in
drivers/acpi/debug.c) and there exists another module between them, the
warning message will be printed when using the current generic param code.
(In the function of param_sysfs_init).In fact when ACPI is selected, the drivers/acpi/power will also be compiled
as built-in kernel.So this issue can be fixed by the following approach.
workaround it by adjusting the module link order in drivers/acpi/Makefile.
In such case the module parameter using the same prefix(ACPI) are put together
in the param data section.Of course the better solution is to fix it in generic param code related
with sysfs.Signed-off-by: Zhao Yakui
Signed-off-by: Len Brown
24 Sep, 2008
1 commit
-
Signed-off-by: Shaohua Li
Signed-off-by: Len Brown
17 Jul, 2008
2 commits
-
* '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. -
Signed-off-by: Aaron Durbin
Signed-off-by: Andi Kleen
Cc: Len Brown
Cc: Andi Kleen
Signed-off-by: Andrew Morton
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
09 Feb, 2008
1 commit
-
In static case sbshc must be compiled ahead of sbs, so that
hc is configured first.http://bugzilla.kernel.org/show_bug.cgi?id=9910
Signed-off-by: Alexey Starikovskiy
Signed-off-by: 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 codev3 (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 handlingv5 (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 addressv8 (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 fixesv10 (2007-12-12)
* Workaround broken GUIDs declared expensive without a WCxx method.
* Minor cleanupsv11 (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 KconfigSigned-off-by: Carlos Corbacho
CC: Matthew Garrett
CC: Alexey Starikovskiy
Signed-off-by: Len Brown
20 Nov, 2007
1 commit
-
Introduce new ACPI_PROCFS_POWER (default Yes) config option and move
procfs code in battery, ac, and sbs drivers under it.
This is done to allow ACPI_PROCFS to be default No.Signed-off-by: Alexey Starikovskiy
Signed-off-by: Len Brown
28 Sep, 2007
1 commit
-
Replace poll-based host controller driver with the notify-based one.
Split it out of sbs.c.
Signed-off-by: Alexey Starikovskiy
Signed-off-by: Len Brown
29 Apr, 2007
2 commits
26 Mar, 2007
1 commit
-
ibm-acpi is not an ACPICA driver, so move it to drivers/misc as per Len
Brown's request.Signed-off-by: Henrique de Moraes Holschuh
Signed-off-by: Len Brown
22 Mar, 2007
1 commit
-
SBS does not depend on I2C.
i2c_ec.h and i2c_ec.c are not neededSigned-off-by: Vladimir Lebedev
Signed-off-by: Len Brown
10 Mar, 2007
1 commit
-
Signed-off-by: Alexey Starikovskiy
Signed-off-by: Len Brown
17 Feb, 2007
1 commit
-
Signed-off-by: Len Brown
03 Feb, 2007
3 commits
-
Conflicts:
drivers/acpi/motherboard.c
Signed-off-by: Len Brown
-
Conflicts:
Documentation/feature-removal-schedule.txt
include/acpi/acpi_drivers.hSigned-off-by: Len Brown
-
Signed-off-by: Kristen Carlson Accardi
Signed-off-by: Andrew Morton
Signed-off-by: Len Brown
26 Jan, 2007
1 commit
-
The PNP system board driver (drivers/pnp/system.c) contains all the
same functionality, so we don't need the ACPI version.Previously, a motherboard device would be claimed by *both* the ACPI and
PNP drivers, resulting in stuff like this in /proc/ioports:1200-121f : motherboard
Signed-off-by: Len Brown
16 Dec, 2006
1 commit
-
Adjust link order to add ACPI devices to global list before PCI devices.
In addition, acpi_bus type must be initialized before any driver loads.Signed-off-by: Zhang Rui
Signed-off-by: Len Brown
10 Jul, 2006
1 commit
-
This reverts 953969ddf5b049361ed1e8471cc43dc4134d2a6f commit.
09 Jul, 2006
1 commit
-
This reverts commit a5e1b94008f2a96abf4a0c0371a55a56b320c13e.
Adrian Bunk points out that it has build errors, and apparently no
maintenance. Throw it out.Signed-off-by: Linus Torvalds
02 Jul, 2006
1 commit
-
Most batteries today are ACPI "Control Method" batteries,
but some models ship with the older "Smart Battery"
that requires this code.Rich Townsend and Bruno Ducrot were the original authors.
Vladimir Lebedev updated to run on latest kernel.http://bugzilla.kernel.org/show_bug.cgi?id=3734
Signed-off-by: Len Brown
28 Jun, 2006
1 commit
-
Create a driver which lives in the acpi subsystem to handle dock events.
This driver is not an "ACPI" driver, because acpi drivers require that the
object be present when the driver is loaded.Signed-off-by: Kristen Carlson Accardi
Cc: Dave Hansen
Signed-off-by: Andrew Morton
Signed-off-by: Len Brown
01 Dec, 2005
1 commit
-
Signed-off-by: Al Viro
Signed-off-by: Len Brown
(cherry picked from ef4611613657dfb8af8d336f2f61f08cfcdc9d8a commit)