CONFIG_HOTPLUG, 2.4.x and ppc

From: Marty Leisner
Date: Tue May 24 2005 - 21:45:30 EST



I'm dealing with a custom BRIDGE_OTHER chip, which has PCI devices
on the other side...the configuration cycles don't follow a standard, and
I'm trying to establish the bus behind the bridge when I install a module...
essentially I'm doing things similar to hotplug drivers...

I have no experience with hotplug drivers, but it appears to be incompatible
with the ppc architure...

Calling pci_do_scan_bus, it calls pcibios_fixup_bus.

In the 2.4 ppc kernels, pcibios_fixup_bus is defined to be:
void __init pcibios_fixup_bus(struct pci_bus *bus)

On intel, its defined to be:
void __devinit pcibios_fixup_bus(struct pci_bus *bus)


Since pci_do_scan_bus needs CONFIG_HOTPLUG, this path is exercised,
and pcibios_fixup_bus isn't present on ppc after bootup...

This patch is necessary if we CONFIG_HOTPLUG on ppc...there seems
to be no reason why not -- others changes like this might be necessary...


:1 mleisner@santa 04:28:16; rcsdiff -r1.1 -u arch/ppc/kernel/pci.c
===================================================================
RCS file: arch/ppc/kernel/pci.c,v
retrieving revision 1.1
diff -u -r1.1 arch/ppc/kernel/pci.c
--- arch/ppc/kernel/pci.c 2005/05/18 19:08:09 1.1
+++ arch/ppc/kernel/pci.c 2005/05/24 19:23:33
@@ -1384,7 +1384,7 @@
return start;
}

-void __init pcibios_fixup_bus(struct pci_bus *bus)
+void __devinit pcibios_fixup_bus(struct pci_bus *bus)
{
struct pci_controller *hose = (struct pci_controller *) bus->sysdata;
unsigned long io_offset;


The patch is wrt to 2.4.20, but 2.4.30 appears to have the same problem...




Marty Leisner
leisner@xxxxxxxxxxxxxxxx


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/