summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpi.c
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2003-07-13 22:57:16 +0000
committernjl <njl@FreeBSD.org>2003-07-13 22:57:16 +0000
commitbce9717b4643784c8c7781798956e458c2a831ea (patch)
treea1485388131287815461bcf2de309d011715dbd0 /sys/dev/acpica/acpi.c
parent17dd0864eb9c81bb222c6fa5670d3666dbbe2068 (diff)
downloadFreeBSD-src-bce9717b4643784c8c7781798956e458c2a831ea.zip
FreeBSD-src-bce9717b4643784c8c7781798956e458c2a831ea.tar.gz
Update code to work with 0619 dist
* Use ACPI_BUFFER as the type for AcpiGetObjectInfo * Remove AcpiEnableEvent/AcpiClearEvent for ACPI_EVENT_FIXED (power/sleep buttons) as they are no longer needed * Change calls to use the new GPE functions * Add AcpiOs*Lock functions
Diffstat (limited to 'sys/dev/acpica/acpi.c')
-rw-r--r--sys/dev/acpica/acpi.c42
1 files changed, 22 insertions, 20 deletions
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
index 4d4b221..2b890d9 100644
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -700,6 +700,7 @@ acpi_isa_get_logicalid(device_t dev)
{
ACPI_HANDLE h;
ACPI_DEVICE_INFO devinfo;
+ ACPI_BUFFER buf = {sizeof(devinfo), &devinfo};
ACPI_STATUS error;
u_int32_t pnpid;
ACPI_LOCK_DECL;
@@ -709,15 +710,16 @@ acpi_isa_get_logicalid(device_t dev)
pnpid = 0;
ACPI_LOCK;
- /* fetch and validate the HID */
+ /* Fetch and validate the HID. */
if ((h = acpi_get_handle(dev)) == NULL)
goto out;
- if (ACPI_FAILURE(error = AcpiGetObjectInfo(h, &devinfo)))
+ error = AcpiGetObjectInfo(h, &buf);
+ if (ACPI_FAILURE(error))
goto out;
- if (!(devinfo.Valid & ACPI_VALID_HID))
+ if ((devinfo.Valid & ACPI_VALID_HID) == 0)
goto out;
- pnpid = PNP_EISAID(devinfo.HardwareId);
+ pnpid = PNP_EISAID(devinfo.HardwareId.Value);
out:
ACPI_UNLOCK;
return_VALUE(pnpid);
@@ -727,7 +729,6 @@ static u_int32_t
acpi_isa_get_compatid(device_t dev)
{
ACPI_HANDLE h;
- ACPI_DEVICE_INFO devinfo;
ACPI_STATUS error;
u_int32_t pnpid;
ACPI_LOCK_DECL;
@@ -740,8 +741,6 @@ acpi_isa_get_compatid(device_t dev)
/* fetch and validate the HID */
if ((h = acpi_get_handle(dev)) == NULL)
goto out;
- if (ACPI_FAILURE(error = AcpiGetObjectInfo(h, &devinfo)))
- goto out;
if (ACPI_FAILURE(error = acpi_EvaluateInteger(h, "_CID", &pnpid)))
goto out;
@@ -952,8 +951,6 @@ acpi_enable_fixed_events(struct acpi_softc *sc)
/* Enable and clear fixed events and install handlers. */
if ((AcpiGbl_FADT != NULL) && (AcpiGbl_FADT->PwrButton == 0)) {
- AcpiEnableEvent(ACPI_EVENT_POWER_BUTTON, ACPI_EVENT_FIXED, 0);
- AcpiClearEvent(ACPI_EVENT_POWER_BUTTON, ACPI_EVENT_FIXED);
AcpiInstallFixedEventHandler(ACPI_EVENT_POWER_BUTTON,
acpi_eventhandler_power_button_for_sleep, sc);
if (first_time) {
@@ -961,8 +958,6 @@ acpi_enable_fixed_events(struct acpi_softc *sc)
}
}
if ((AcpiGbl_FADT != NULL) && (AcpiGbl_FADT->SleepButton == 0)) {
- AcpiEnableEvent(ACPI_EVENT_SLEEP_BUTTON, ACPI_EVENT_FIXED, 0);
- AcpiClearEvent(ACPI_EVENT_SLEEP_BUTTON, ACPI_EVENT_FIXED);
AcpiInstallFixedEventHandler(ACPI_EVENT_SLEEP_BUTTON,
acpi_eventhandler_sleep_button_for_sleep, sc);
if (first_time) {
@@ -983,16 +978,18 @@ acpi_DeviceIsPresent(device_t dev)
{
ACPI_HANDLE h;
ACPI_DEVICE_INFO devinfo;
+ ACPI_BUFFER buf = {sizeof(devinfo), &devinfo};
ACPI_STATUS error;
ACPI_ASSERTLOCK;
if ((h = acpi_get_handle(dev)) == NULL)
return(FALSE);
- if (ACPI_FAILURE(error = AcpiGetObjectInfo(h, &devinfo)))
+ error = AcpiGetObjectInfo(h, &buf);
+ if (ACPI_FAILURE(error))
return(FALSE);
/* if no _STA method, must be present */
- if (!(devinfo.Valid & ACPI_VALID_STA))
+ if ((devinfo.Valid & ACPI_VALID_STA) == 0)
return(TRUE);
/* return true for 'present' and 'functioning' */
if ((devinfo.CurrentStatus & 0x9) == 0x9)
@@ -1008,16 +1005,18 @@ acpi_BatteryIsPresent(device_t dev)
{
ACPI_HANDLE h;
ACPI_DEVICE_INFO devinfo;
+ ACPI_BUFFER buf = {sizeof(devinfo), &devinfo};
ACPI_STATUS error;
ACPI_ASSERTLOCK;
if ((h = acpi_get_handle(dev)) == NULL)
return(FALSE);
- if (ACPI_FAILURE(error = AcpiGetObjectInfo(h, &devinfo)))
+ error = AcpiGetObjectInfo(h, &buf);
+ if (ACPI_FAILURE(error))
return(FALSE);
/* if no _STA method, must be present */
- if (!(devinfo.Valid & ACPI_VALID_STA))
+ if ((devinfo.Valid & ACPI_VALID_STA) == 0)
return(TRUE);
/* return true for 'present' and 'functioning' */
if ((devinfo.CurrentStatus & 0x19) == 0x19)
@@ -1033,6 +1032,7 @@ acpi_MatchHid(device_t dev, char *hid)
{
ACPI_HANDLE h;
ACPI_DEVICE_INFO devinfo;
+ ACPI_BUFFER buf = {sizeof(devinfo), &devinfo};
ACPI_STATUS error;
int cid;
@@ -1042,9 +1042,11 @@ acpi_MatchHid(device_t dev, char *hid)
return(FALSE);
if ((h = acpi_get_handle(dev)) == NULL)
return(FALSE);
- if (ACPI_FAILURE(error = AcpiGetObjectInfo(h, &devinfo)))
+ error = AcpiGetObjectInfo(h, &buf);
+ if (ACPI_FAILURE(error))
return(FALSE);
- if ((devinfo.Valid & ACPI_VALID_HID) && !strcmp(hid, devinfo.HardwareId))
+ if ((devinfo.Valid & ACPI_VALID_HID) != 0 &&
+ strcmp(hid, devinfo.HardwareId.Value) == 0)
return(TRUE);
if (ACPI_FAILURE(error = acpi_EvaluateInteger(h, "_CID", &cid)))
return(FALSE);
@@ -1392,7 +1394,7 @@ acpi_SetSleepState(struct acpi_softc *sc, int state)
acpi_sleep_machdep(sc, state);
/* AcpiEnterSleepState() maybe incompleted, unlock here if locked. */
- if (AcpiGbl_AcpiMutexInfo[ACPI_MTX_HARDWARE].OwnerId != ACPI_MUTEX_NOT_ACQUIRED) {
+ if (1/*AcpiGbl_AcpiMutexInfo[ACPI_MTX_HARDWARE].OwnerId != ACPI_MUTEX_NOT_ACQUIRED*/) {
AcpiUtReleaseMutex(ACPI_MTX_HARDWARE);
}
@@ -1739,8 +1741,8 @@ acpi_device_enable_wake_event(ACPI_HANDLE h)
* enabled for the wake event.
*/
- status = AcpiEnableEvent(res->Package.Elements[0].Integer.Value,
- ACPI_EVENT_GPE, ACPI_EVENT_WAKE_ENABLE);
+ status = AcpiEnableGpe(NULL, res->Package.Elements[0].Integer.Value,
+ ACPI_EVENT_WAKE_ENABLE);
if (ACPI_FAILURE(status))
printf("%s: EnableEvent Failed\n", __func__);
break;
OpenPOWER on IntegriCloud