Commit dbf8471f authored by Kumar Gala's avatar Kumar Gala

[POWERPC] Merge ppc32 and ppc64 pcibios_alloc_controller() prototypes

Make the ppc32 pcibios_alloc_controller take a device node to match
the ppc64 prototypes and have it set arch_data.
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 5516b540
...@@ -610,7 +610,7 @@ pcibios_enable_resources(struct pci_dev *dev, int mask) ...@@ -610,7 +610,7 @@ pcibios_enable_resources(struct pci_dev *dev, int mask)
static int next_controller_index; static int next_controller_index;
struct pci_controller * __init struct pci_controller * __init
pcibios_alloc_controller(void) pcibios_alloc_controller(struct device_node *dev)
{ {
struct pci_controller *hose; struct pci_controller *hose;
...@@ -621,6 +621,7 @@ pcibios_alloc_controller(void) ...@@ -621,6 +621,7 @@ pcibios_alloc_controller(void)
hose_tail = &hose->next; hose_tail = &hose->next;
hose->global_number = next_controller_index++; hose->global_number = next_controller_index++;
hose->arch_data = dev;
return hose; return hose;
} }
......
...@@ -128,7 +128,7 @@ void __init efika_pcisetup(void) ...@@ -128,7 +128,7 @@ void __init efika_pcisetup(void)
printk(" controlled by %s\n", pcictrl->full_name); printk(" controlled by %s\n", pcictrl->full_name);
printk("\n"); printk("\n");
hose = pcibios_alloc_controller(); hose = pcibios_alloc_controller(of_node_get(pcictrl));
if (!hose) { if (!hose) {
printk(KERN_WARNING EFIKA_PLATFORM_NAME printk(KERN_WARNING EFIKA_PLATFORM_NAME
": Can't allocate PCI controller structure for %s\n", ": Can't allocate PCI controller structure for %s\n",
...@@ -136,7 +136,6 @@ void __init efika_pcisetup(void) ...@@ -136,7 +136,6 @@ void __init efika_pcisetup(void)
return; return;
} }
hose->arch_data = of_node_get(pcictrl);
hose->first_busno = bus_range[0]; hose->first_busno = bus_range[0];
hose->last_busno = bus_range[1]; hose->last_busno = bus_range[1];
hose->ops = &rtas_pci_ops; hose->ops = &rtas_pci_ops;
......
...@@ -385,12 +385,10 @@ mpc52xx_add_bridge(struct device_node *node) ...@@ -385,12 +385,10 @@ mpc52xx_add_bridge(struct device_node *node)
* tree are needed to configure the 52xx PCI controller. Rather * tree are needed to configure the 52xx PCI controller. Rather
* than parse the tree here, let pci_process_bridge_OF_ranges() * than parse the tree here, let pci_process_bridge_OF_ranges()
* do it for us and extract the values after the fact */ * do it for us and extract the values after the fact */
hose = pcibios_alloc_controller(); hose = pcibios_alloc_controller(node);
if (!hose) if (!hose)
return -ENOMEM; return -ENOMEM;
hose->arch_data = node;
hose->first_busno = bus_range ? bus_range[0] : 0; hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff; hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
...@@ -543,13 +543,11 @@ static void __init mpc82xx_add_bridge(struct device_node *np) ...@@ -543,13 +543,11 @@ static void __init mpc82xx_add_bridge(struct device_node *np)
pci_assign_all_buses = 1; pci_assign_all_buses = 1;
hose = pcibios_alloc_controller(); hose = pcibios_alloc_controller(np);
if (!hose) if (!hose)
return; return;
hose->arch_data = np;
hose->first_busno = bus_range ? bus_range[0] : 0; hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff; hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
...@@ -62,10 +62,9 @@ int __init mpc83xx_add_bridge(struct device_node *dev) ...@@ -62,10 +62,9 @@ int __init mpc83xx_add_bridge(struct device_node *dev)
} }
pci_assign_all_buses = 1; pci_assign_all_buses = 1;
hose = pcibios_alloc_controller(); hose = pcibios_alloc_controller(dev);
if (!hose) if (!hose)
return -ENOMEM; return -ENOMEM;
hose->arch_data = dev;
hose->first_busno = bus_range ? bus_range[0] : 0; hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff; hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
...@@ -56,10 +56,9 @@ int __init mpc85xx_add_bridge(struct device_node *dev) ...@@ -56,10 +56,9 @@ int __init mpc85xx_add_bridge(struct device_node *dev)
} }
pci_assign_all_buses = 1; pci_assign_all_buses = 1;
hose = pcibios_alloc_controller(); hose = pcibios_alloc_controller(dev);
if (!hose) if (!hose)
return -ENOMEM; return -ENOMEM;
hose->arch_data = dev;
hose->first_busno = bus_range ? bus_range[0] : 0; hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff; hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
...@@ -196,10 +196,10 @@ int __init mpc86xx_add_bridge(struct device_node *dev) ...@@ -196,10 +196,10 @@ int __init mpc86xx_add_bridge(struct device_node *dev)
" bus 0\n", dev->full_name); " bus 0\n", dev->full_name);
pci_assign_all_buses = 1; pci_assign_all_buses = 1;
hose = pcibios_alloc_controller(); hose = pcibios_alloc_controller(dev);
if (!hose) if (!hose)
return -ENOMEM; return -ENOMEM;
hose->arch_data = dev;
hose->indirect_type = PPC_INDIRECT_TYPE_EXT_REG | hose->indirect_type = PPC_INDIRECT_TYPE_EXT_REG |
PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS; PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS;
......
...@@ -254,13 +254,12 @@ chrp_find_bridges(void) ...@@ -254,13 +254,12 @@ chrp_find_bridges(void)
printk(" at %llx", (unsigned long long)r.start); printk(" at %llx", (unsigned long long)r.start);
printk("\n"); printk("\n");
hose = pcibios_alloc_controller(); hose = pcibios_alloc_controller(dev);
if (!hose) { if (!hose) {
printk("Can't allocate PCI controller structure for %s\n", printk("Can't allocate PCI controller structure for %s\n",
dev->full_name); dev->full_name);
continue; continue;
} }
hose->arch_data = dev;
hose->first_busno = bus_range[0]; hose->first_busno = bus_range[0];
hose->last_busno = bus_range[1]; hose->last_busno = bus_range[1];
......
...@@ -68,12 +68,11 @@ static int __init linkstation_add_bridge(struct device_node *dev) ...@@ -68,12 +68,11 @@ static int __init linkstation_add_bridge(struct device_node *dev)
printk(KERN_WARNING "Can't get bus-range for %s, assume" printk(KERN_WARNING "Can't get bus-range for %s, assume"
" bus 0\n", dev->full_name); " bus 0\n", dev->full_name);
hose = pcibios_alloc_controller(); hose = pcibios_alloc_controller(dev);
if (hose == NULL) if (hose == NULL)
return -ENOMEM; return -ENOMEM;
hose->first_busno = bus_range ? bus_range[0] : 0; hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff; hose->last_busno = bus_range ? bus_range[1] : 0xff;
hose->arch_data = dev;
setup_indirect_pci(hose, 0xfec00000, 0xfee00000); setup_indirect_pci(hose, 0xfec00000, 0xfee00000);
/* Interpret the "ranges" property */ /* Interpret the "ranges" property */
......
...@@ -916,15 +916,9 @@ static int __init pmac_add_bridge(struct device_node *dev) ...@@ -916,15 +916,9 @@ static int __init pmac_add_bridge(struct device_node *dev)
" bus 0\n", dev->full_name); " bus 0\n", dev->full_name);
} }
/* XXX Different prototypes, to be merged */
#ifdef CONFIG_PPC64
hose = pcibios_alloc_controller(dev); hose = pcibios_alloc_controller(dev);
#else
hose = pcibios_alloc_controller();
#endif
if (!hose) if (!hose)
return -ENOMEM; return -ENOMEM;
hose->arch_data = dev;
hose->first_busno = bus_range ? bus_range[0] : 0; hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff; hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
...@@ -137,12 +137,10 @@ static int __init mv64x60_add_bridge(struct device_node *dev) ...@@ -137,12 +137,10 @@ static int __init mv64x60_add_bridge(struct device_node *dev)
printk(KERN_WARNING "Can't get bus-range for %s, assume" printk(KERN_WARNING "Can't get bus-range for %s, assume"
" bus 0\n", dev->full_name); " bus 0\n", dev->full_name);
hose = pcibios_alloc_controller(); hose = pcibios_alloc_controller(dev);
if (!hose) if (!hose)
return -ENOMEM; return -ENOMEM;
hose->arch_data = dev;
hose->first_busno = bus_range ? bus_range[0] : 0; hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff; hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
...@@ -221,13 +221,12 @@ int __init tsi108_setup_pci(struct device_node *dev, u32 cfg_phys, int primary) ...@@ -221,13 +221,12 @@ int __init tsi108_setup_pci(struct device_node *dev, u32 cfg_phys, int primary)
" bus 0\n", dev->full_name); " bus 0\n", dev->full_name);
} }
hose = pcibios_alloc_controller(); hose = pcibios_alloc_controller(dev);
if (!hose) { if (!hose) {
printk("PCI Host bridge init failed\n"); printk("PCI Host bridge init failed\n");
return -ENOMEM; return -ENOMEM;
} }
hose->arch_data = dev;
hose->first_busno = bus_range ? bus_range[0] : 0; hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff; hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
...@@ -9,9 +9,6 @@ ...@@ -9,9 +9,6 @@
struct device_node; struct device_node;
struct pci_controller; struct pci_controller;
/* Allocate a new PCI host bridge structure */
extern struct pci_controller* pcibios_alloc_controller(void);
/* Get the PCI host controller for a bus */ /* Get the PCI host controller for a bus */
extern struct pci_controller* pci_bus_to_hose(int bus); extern struct pci_controller* pci_bus_to_hose(int bus);
...@@ -232,8 +229,6 @@ static inline struct pci_controller *pci_bus_to_host(struct pci_bus *bus) ...@@ -232,8 +229,6 @@ static inline struct pci_controller *pci_bus_to_host(struct pci_bus *bus)
return PCI_DN(busdn)->phb; return PCI_DN(busdn)->phb;
} }
extern struct pci_controller *
pcibios_alloc_controller(struct device_node *dev);
extern void pcibios_free_controller(struct pci_controller *phb); extern void pcibios_free_controller(struct pci_controller *phb);
extern void isa_bridge_find_early(struct pci_controller *hose); extern void isa_bridge_find_early(struct pci_controller *hose);
...@@ -263,6 +258,9 @@ extern void ...@@ -263,6 +258,9 @@ extern void
pci_process_bridge_OF_ranges(struct pci_controller *hose, pci_process_bridge_OF_ranges(struct pci_controller *hose,
struct device_node *dev, int primary); struct device_node *dev, int primary);
/* Allocate a new PCI host bridge structure */
extern struct pci_controller *
pcibios_alloc_controller(struct device_node *dev);
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
extern unsigned long pci_address_to_pio(phys_addr_t address); extern unsigned long pci_address_to_pio(phys_addr_t address);
#else #else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment