27.10.2015 Views

Advanced Configuration and Power Interface Specification

ACPI_6.0

ACPI_6.0

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Device <strong>Configuration</strong><br />

Arguments:<br />

None<br />

Return Value:<br />

A variable-length Package containing a list of namespace references<br />

Before OSPM ejects a device via the device’s _EJx methods, all dependent devices listed in the<br />

package returned by _EDL are prepared for removal. Notice that _EJx methods under the dependent<br />

devices are not executed.<br />

When describing a platform that includes a docking station, an _EDL object is declared under the<br />

docking station device. For example, if a mobile system can attach to two different types of docking<br />

stations, _EDL is declared under both docking station devices <strong>and</strong> evaluates to the packaged list of<br />

devices that must be ejected when the system is ejected from the docking station.<br />

An ACPI-compliant OS evaluates the _EDL method just prior to ejecting the device.<br />

6.3.2 _EJD (Ejection Dependent Device)<br />

This object is used to specify the name of a device on which the device, under which this object is<br />

declared, is dependent. This object is primarily used to support docking stations. Before the device<br />

indicated by _EJD is ejected, OSPM will prepare the dependent device (in other words, the device<br />

under which this object is declared) for removal.<br />

Arguments:<br />

None<br />

Return Value:<br />

A String containing the device name<br />

_EJD is evaluated once when the ACPI table loads. The EJx methods of the device indicated by<br />

_EJD will be used to eject all the dependent devices. A device’s dependents will be ejected when the<br />

device itself is ejected.<br />

Note: OSPM will not execute a dependent device’s _EJx methods when the device indicated by _EJD is<br />

ejected.<br />

When describing a platform that includes a docking station, usually more than one _EJD object will<br />

be needed. For example, if a dock attaches both a PCI device <strong>and</strong> an ACPI-configured device to a<br />

mobile system, then both the PCI device description package <strong>and</strong> the ACPI-configured device<br />

description package must include an _EJD object that evaluates to the name of the docking station<br />

(the name specified in an _ADR or _HID object in the docking station’s description package). Thus,<br />

when the docking connector signals an eject request, OSPM first attempts to disable <strong>and</strong> unload the<br />

drivers for both the PCI <strong>and</strong> ACPI configured devices.<br />

Note: An ACPI 1.0 OS evaluates the _EJD methods only once during the table load process. This<br />

greatly restricts a table designer’s freedom to describe dynamic dependencies such as those<br />

created in scenarios with multiple docking stations. This restriction is illustrated in the example<br />

below; the _EJD information supplied via <strong>and</strong> ACPI 1.0-compatible namespace omits the IDE2<br />

Version 6.0 333

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!