diff options
author | jkim <jkim@FreeBSD.org> | 2009-09-11 22:49:34 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2009-09-11 22:49:34 +0000 |
commit | 90f12dc1bbbf12997d0f29e9c7b545e88b5d02a7 (patch) | |
tree | bcc1bcaf1b69df0bde742f7df920d31577d014aa /sys/dev/acpica/acpi_pcib_acpi.c | |
parent | 1d3fa3e25bb3cb6b5c8fbbe069086f14d8af5fe5 (diff) | |
download | FreeBSD-src-90f12dc1bbbf12997d0f29e9c7b545e88b5d02a7.zip FreeBSD-src-90f12dc1bbbf12997d0f29e9c7b545e88b5d02a7.tar.gz |
Catch up with ACPICA 20090903.
Diffstat (limited to 'sys/dev/acpica/acpi_pcib_acpi.c')
-rw-r--r-- | sys/dev/acpica/acpi_pcib_acpi.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sys/dev/acpica/acpi_pcib_acpi.c b/sys/dev/acpica/acpi_pcib_acpi.c index 4714125..b20fc74 100644 --- a/sys/dev/acpica/acpi_pcib_acpi.c +++ b/sys/dev/acpica/acpi_pcib_acpi.c @@ -131,14 +131,18 @@ MODULE_DEPEND(acpi_pcib, acpi, 1, 1, 1); static int acpi_pcib_acpi_probe(device_t dev) { - static char *pcib_ids[] = { "PNP0A03", "PNP0A08", NULL }; + ACPI_DEVICE_INFO *devinfo; + ACPI_HANDLE h; + int root; - if (acpi_disabled("pcib") || - ACPI_ID_PROBE(device_get_parent(dev), dev, pcib_ids) == NULL) + if (acpi_disabled("pcib") || (h = acpi_get_handle(dev)) == NULL || + ACPI_FAILURE(AcpiGetObjectInfo(h, &devinfo))) return (ENXIO); - - if (pci_cfgregopen() == 0) + root = (devinfo->Flags & ACPI_PCI_ROOT_BRIDGE) != 0; + AcpiOsFree(devinfo); + if (!root || pci_cfgregopen() == 0) return (ENXIO); + device_set_desc(dev, "ACPI Host-PCI bridge"); return (0); } |