diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -156,7 +156,7 @@ void *context, void **retval); static ACPI_STATUS acpi_device_scan_children(device_t bus, device_t dev, int max_depth, acpi_scan_cb_t user_fn, void *arg); -static ACPI_STATUS acpi_find_dsd(device_t bus, device_t dev); +static ACPI_STATUS acpi_find_dsd(struct acpi_device *ad); static int acpi_isa_pnp_probe(device_t bus, device_t child, struct isa_pnp_id *ids); static void acpi_platform_osc(device_t dev); @@ -1864,7 +1864,7 @@ return (AE_BAD_PARAMETER); if (ad->dsd_pkg == NULL) { if (ad->dsd.Pointer == NULL) { - status = acpi_find_dsd(bus, dev); + status = acpi_find_dsd(ad); if (ACPI_FAILURE(status)) return (status); } else { @@ -1893,18 +1893,16 @@ } static ACPI_STATUS -acpi_find_dsd(device_t bus, device_t dev) +acpi_find_dsd(struct acpi_device *ad) { const ACPI_OBJECT *dsd, *guid, *pkg; - struct acpi_device *ad; ACPI_STATUS status; - ad = device_get_ivars(dev); ad->dsd.Length = ACPI_ALLOCATE_BUFFER; ad->dsd.Pointer = NULL; ad->dsd_pkg = NULL; - status = ACPI_EVALUATE_OBJECT(bus, dev, "_DSD", NULL, &ad->dsd); + status = AcpiEvaluateObject(ad->ad_handle, "_DSD", NULL, &ad->dsd); if (ACPI_FAILURE(status)) return (status);