powerpc/pci: Make both ppc32 and ppc64 use sysdata for pci_controller
Currently, ppc32 uses sysdata for the pci_controller pointer, and ppc64 uses it to hold the device_node pointer. This patch moves the of_node pointer into (struct pci_bus*)->dev.of_node and (struct pci_dev*)->dev.of_node so that sysdata can be converted to always use the pci_controller pointer instead. It also fixes up the allocating of pci devices so that the of_node pointer gets assigned consistently and increments the ref count. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
@@ -64,7 +64,7 @@ static int __init pcibios_init(void)
|
||||
|
||||
/* Scan all of the recorded PCI controllers. */
|
||||
list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
|
||||
pcibios_scan_phb(hose, hose->dn);
|
||||
pcibios_scan_phb(hose);
|
||||
pci_bus_add_devices(hose->bus);
|
||||
}
|
||||
|
||||
@@ -242,10 +242,10 @@ long sys_pciconfig_iobase(long which, unsigned long in_bus,
|
||||
break;
|
||||
bus = NULL;
|
||||
}
|
||||
if (bus == NULL || bus->sysdata == NULL)
|
||||
if (bus == NULL || bus->dev.of_node == NULL)
|
||||
return -ENODEV;
|
||||
|
||||
hose_node = (struct device_node *)bus->sysdata;
|
||||
hose_node = bus->dev.of_node;
|
||||
hose = PCI_DN(hose_node)->phb;
|
||||
|
||||
switch (which) {
|
||||
|
Reference in New Issue
Block a user