summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpi_button.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge ACPICA 20101209.jkim2010-12-151-1/+1
|
* Merge ACPICA 20100702.jkim2010-07-061-0/+3
|
* Merge ACPICA 20100331 (and four additional upstream patches).jkim2010-04-021-1/+0
|
* Import ACPICA 20090521.jkim2009-06-051-1/+3
|
* Catch up with ACPI-CA 20070320 import.jkim2007-03-221-4/+2
|
* Canonize the include of acpi.h.obrien2005-09-111-1/+1
|
* Fix SCM ID's.obrien2005-03-021-2/+3
|
* Move flags into a private ivar so it can't collide with device flags.njl2004-06-301-5/+0
| | | | | | | Unify the code to disable GPEs with the enable code. Shutdown is handled the same way. ACPI now does all wake/sleep prep for child devices so now they no longer need to call external functions in the suspend/resume path. Add the flags to non-ACPI busses (i.e., pci).
* Use the acpi_id_probe() method instead of acpi_MatchHid(), which is nownjl2004-06-291-25/+27
| | | | static.
* Add support to ACPI to manage its own resources. Previously, resourcenjl2004-06-131-4/+6
| | | | | | | | | | | | | | | | | allocation was passed up to nexus. Now, we probe sysresource objects and manage the resources they describe in a local rman pool. This helps devices which attach/detach varying resources (like the _CST object) and module loads/unloads. The allocation/release routines now check to see if the resource is described in a child sysresource object and if so, allocate from the local rman. Sysresource objects add their resources to the pool and reserve them upon boot. This means sysresources need to be probed before other ACPI devices. Changes include: * Add ordering to the child device probe. The current order is: system resource objects, embedded controllers, then everything else. * Make acpi_MatchHid take a handle instead of a device_t arg. * Replace acpi_{get,set}_resource with the generic equivalents.
* Add missing <sys/module.h> includesphk2004-05-301-0/+1
|
* Update the new suspend/resume GPE methods to properly limit the GPEnjl2004-05-281-0/+1
| | | | | | | based on the destination sleep state. Add a method to restore the old state on resume. This is needed for the case of suspending to a very low state disabling a GPE (i.e. S4), resuming, and then suspending to a higher state (i.e. S3). This case should now keep the proper GPEs enabled.
* Restructure the wake GPE API. Now there are three functions:njl2004-05-271-6/+7
| | | | | | | | | | | | | | | | | | acpi_wake_init: Evaluate _PRW and set the GPE type acpi_wake_set_enable: Enable or disable a device's GPE. acpi_wake_sleep_prep: Perform any last-minute changes to the device to prepare it for entering the given sleep state. Also, walk the entire namespace when transitioning to a sleep state, disabling any GPEs which aren't appropriate for the given state. Transition acpi_lid and acpi_button to the new API. This clears the way for non-ACPI-aware devices to wake the system (i.e. modems) and fixes a problem where systems power up after shutdown when a GPE is triggered.
* Enable GPE at runtime rather than suspend time. This is to match thenjl2004-05-251-1/+3
| | | | | new behavior in ACPI-CA that defers GPE configuration. This is a temporary measure while reworking the GPE interface.
* Changes to implement 20040514:njl2004-05-251-2/+9
| | | | | | | | | | | | | | | * Add calls to AcpiSetGpeType. We use wake/run as the type for lid and button switches since wake-only causes Thinkpads to immediately wake on the second suspend. Note that with wake/run, some systems return both wake and device-specific notifies so we don't register for system notifies for lid and button switches. * Remove the hw.acpi.osi_method tunable since it is not needed. * Always print unknown notifies for all types. * Add more cleanup for the EC if it fails to attach. * Use the GPE handle now that we parse it. This allows GPEs to be defined in AML GPE blocks. * Always use ACPI_NOT_ISR since it's ok to acquire a mutex in our thread which processes queued requests.
* Add MODULE_DEPEND entries so some of these drivers can eventually benjl2004-04-091-0/+1
| | | | loaded separately from ACPI (i.e., embedded use).
* Do not remove the fixed handlers. Several systems (e.g., ASUS) onlynjl2004-02-191-11/+5
| | | | | | return events on the fixed handler even after defining a duplicate in the AML. While this violates the spec, hopefully we can get by with leaving both installed.
* Fix problem caused by previous commit where some users' buttonsnjl2004-02-191-9/+2
| | | | | | | stopped returning events. Don't disable the event when removing the handler because it still needs to be enabled for the other handler. Also, remove duplicate AcpiEnableEvent calls since the install function now does this for us.
* Prefer buttons defined in the AML over the ones in the FADT. Somenjl2004-02-111-12/+32
| | | | | | | | | | | | | | systems define power/sleep buttons in both places but only deliver notifies to the ones defined in the AML. Also, reduce length of various function handler names. PR: Submitted by: Reviewed by: Approved by: Obtained from: MFC after:
* Add devctl(4) notify support to ACPI. Various subsystems now notifynjl2003-10-251-0/+4
| | | | | userland whenever events occur. See the example in devd.conf below to see how to use it.
* Fix the ACPI_DEBUG case.njl2003-09-221-2/+2
| | | | | | | | | | Reported by: Larry Rosenman <ler@lerctr.org> PR: Submitted by: Reviewed by: Approved by: Obtained from: MFC after:
* Make this compile.phk2003-09-211-0/+2
|
* Add support for fixed event buttons defined in the DSDT (HID "ACPI_FSB"njl2003-09-211-17/+49
| | | | | | and "ACPI_FPB"). Pointed out by: Linux
* Style cleanups to match the rest of this directory. For acpi_battery.c,njl2003-08-111-32/+26
| | | | remove unused includes.
* Enable wake up GPE before shutdown, not only for sleeping.takawata2003-07-261-0/+1
|
* Add device(power/sleep button and lid) wake function from sleeping state.iwasaki2002-07-221-0/+22
| | | | | | | This is required for some Thinkpad (and maybe VAIO) machines to wake the system up from sleep. Currently partially implemented, more complete implementation will come later.
* Fixed printf format errors which apparently crept in while -Wformat wasbde2002-05-251-8/+4
| | | | disabled for gcc-3.
* Brutally deal with __func__ being 'const char *' on gcc-3.1.peter2002-05-191-4/+4
|
* Match namespace cleanup changes in ACPI CA 20020217 update.msmith2002-02-231-7/+7
| | | | Use ACPI_SUCCESS/ACPI_FAILURE consistently.
* Staticise devclasses and some unnecessarily global variables.msmith2002-01-081-1/+1
|
* Cleanups of verbose printing. All the messages for the debugging isiwasaki2001-11-181-4/+8
| | | | | | | disabled unless verbose flag is set. Also fix some messages in terms of English. The critical messages and error messages in probe/attach routine are unchanged by this commit.
* Convert from acpi_strerror() to AcpiFormatException()msmith2001-07-211-1/+1
| | | | Fix dangling include of the dear departed acpi_ecreg.h
* Don't call ourselves a "control method" anything, that's not useful.msmith2001-07-211-4/+6
| | | | | Move the "button pressed" diagnostics to the point where we can print out which button was actually pressed.
* - Updates for new constant naming in the ACPI CA 20010518 update.msmith2001-05-291-5/+5
| | | | | | | | | | | - Use __func__ instead of __FUNCTION. - Support power-off to S3 or S5 (takawata) - Enable ACPI debugging earlier (with a sysinit) - Fix a deadlock in the EC code (takawata) - Improve arithmetic and reduce the risk of spurious wakeup in AcpiOsSleep. - Add AcpiOsGetThreadId. - Simplify mutex code (still disabled).
* - Convert a lot of homebrew debugging output to use the ACPI CA debuggingmsmith2000-12-081-17/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | infrastructure. It's not perfect, but it's a lot better than what we've been using so far. The following rules apply to this: o BSD component names should be capitalised o Layer names should be taken from the non-CA set for now. We may elect to add some new BSD-specific layers later. - Make it possible to turn off selective debugging flags or layers by listing them in debug.acpi.layer or debug.acpi.level prefixed with !. - Fully implement support for avoiding nodes in the ACPI namespace. Nodes may be listed in the debug.acpi.avoid environment variable; these nodes and all their children will be ignored (although still scanned over) by ACPI functions which scan the namespace. Multiple nodes can be specified, separated by whitespace. - Implement support for selectively disabling ACPI subsystem components via the debug.acpi.disable environment variable. The following components can be disabled: o bus creation/scanning of the ACPI 'bus' o children attachment of children to the ACPI 'bus' o button the acpi_button control-method button driver o ec the acpi_ec embedded-controller driver o isa acpi replacement of PnP BIOS for ISA device discovery o lid the control-method lid switch driver o pci pci root-bus discovery o processor CPU power/speed management o thermal system temperature detection and control o timer ACPI timecounter Multiple components may be disabled by specifying their name(s) separated by whitespace. - Add support for ioctl registration. ACPI subsystem components may register ioctl handlers with the /dev/acpi generic ioctl handler, allowing us to avoid the need for a multitude of /dev/acpi* control devices, etc.
* Initial FreeBSD OSPM (operating system power management) modules formsmith2000-10-281-0/+182
ACPICA. Most of these are still works in progress. Support exists for: - Fixed feature and control method power, lid and sleep buttons. - Detection of ISA PnP devices using ACPI namespace. - Detection of PCI root busses using ACPI namespace. - CPU throttling and sleep states (incomplete) - Thermal monitoring and cooling control (incomplete) - Interface to platform embedded controllers (mostly complete) - ACPI timer (incomplete) - Simple userland control of sleep states. - Shutdown and poweroff.
OpenPOWER on IntegriCloud