[POWERPC] maple: improve CPC9x5 host bridge detection

Identify CPC9x5 PCI Express, AGP, and HT host bridges using
device_type and compatible properties, which is a more flexible method
than using the name property (which can differ between firmwares and
models).

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Nathan Lynch 2007-01-03 12:56:28 -06:00 committed by Paul Mackerras
parent 9a3d6458e9
commit f1f003330b

View File

@ -560,13 +560,16 @@ void __init maple_pci_init(void)
return;
}
for (np = NULL; (np = of_get_next_child(root, np)) != NULL;) {
if (np->name == NULL)
if (!np->type)
continue;
if (!strcmp(np->name, "pci") || !strcmp(np->name, "pcie")) {
if (add_bridge(np) == 0)
of_node_get(np);
}
if (strcmp(np->name, "ht") == 0) {
if (strcmp(np->type, "pci") && strcmp(np->type, "ht"))
continue;
if ((device_is_compatible(np, "u4-pcie") ||
device_is_compatible(np, "u3-agp")) &&
add_bridge(np) == 0)
of_node_get(np);
if (device_is_compatible(np, "u3-ht")) {
of_node_get(np);
ht = np;
}