|
@@ -560,9 +560,14 @@ long sys_pciconfig_iobase(long which, unsigned long in_bus,
|
|
* G5 machines... So when something asks for bus 0 io base
|
|
* G5 machines... So when something asks for bus 0 io base
|
|
* (bus 0 is HT root), we return the AGP one instead.
|
|
* (bus 0 is HT root), we return the AGP one instead.
|
|
*/
|
|
*/
|
|
- if (machine_is_compatible("MacRISC4"))
|
|
|
|
- if (in_bus == 0)
|
|
|
|
|
|
+ if (in_bus == 0 && machine_is_compatible("MacRISC4")) {
|
|
|
|
+ struct device_node *agp;
|
|
|
|
+
|
|
|
|
+ agp = of_find_compatible_node(NULL, NULL, "u3-agp");
|
|
|
|
+ if (agp)
|
|
in_bus = 0xf0;
|
|
in_bus = 0xf0;
|
|
|
|
+ of_node_put(agp);
|
|
|
|
+ }
|
|
|
|
|
|
/* That syscall isn't quite compatible with PCI domains, but it's
|
|
/* That syscall isn't quite compatible with PCI domains, but it's
|
|
* used on pre-domains setup. We return the first match
|
|
* used on pre-domains setup. We return the first match
|