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:
@@ -135,7 +135,7 @@ struct pci_dev *of_create_pci_dev(struct device_node *node,
|
||||
pr_debug(" create device, devfn: %x, type: %s\n", devfn, type);
|
||||
|
||||
dev->bus = bus;
|
||||
dev->sysdata = node;
|
||||
dev->dev.of_node = of_node_get(node);
|
||||
dev->dev.parent = bus->bridge;
|
||||
dev->dev.bus = &pci_bus_type;
|
||||
dev->devfn = devfn;
|
||||
@@ -238,7 +238,7 @@ void __devinit of_scan_pci_bridge(struct device_node *node,
|
||||
bus->primary = dev->bus->number;
|
||||
bus->subordinate = busrange[1];
|
||||
bus->bridge_ctl = 0;
|
||||
bus->sysdata = node;
|
||||
bus->dev.of_node = of_node_get(node);
|
||||
|
||||
/* parse ranges property */
|
||||
/* PCI #address-cells == 3 and #size-cells == 2 always */
|
||||
|
Reference in New Issue
Block a user