提交 dbf8471f 编写于 作者: K 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: NKumar Gala <galak@kernel.crashing.org>
上级 5516b540
......@@ -610,7 +610,7 @@ pcibios_enable_resources(struct pci_dev *dev, int mask)
static int next_controller_index;
struct pci_controller * __init
pcibios_alloc_controller(void)
pcibios_alloc_controller(struct device_node *dev)
{
struct pci_controller *hose;
......@@ -621,6 +621,7 @@ pcibios_alloc_controller(void)
hose_tail = &hose->next;
hose->global_number = next_controller_index++;
hose->arch_data = dev;
return hose;
}
......
......@@ -128,7 +128,7 @@ void __init efika_pcisetup(void)
printk(" controlled by %s\n", pcictrl->full_name);
printk("\n");
hose = pcibios_alloc_controller();
hose = pcibios_alloc_controller(of_node_get(pcictrl));
if (!hose) {
printk(KERN_WARNING EFIKA_PLATFORM_NAME
": Can't allocate PCI controller structure for %s\n",
......@@ -136,7 +136,6 @@ void __init efika_pcisetup(void)
return;
}
hose->arch_data = of_node_get(pcictrl);
hose->first_busno = bus_range[0];
hose->last_busno = bus_range[1];
hose->ops = &rtas_pci_ops;
......
......@@ -385,12 +385,10 @@ mpc52xx_add_bridge(struct device_node *node)
* tree are needed to configure the 52xx PCI controller. Rather
* than parse the tree here, let pci_process_bridge_OF_ranges()
* do it for us and extract the values after the fact */
hose = pcibios_alloc_controller();
hose = pcibios_alloc_controller(node);
if (!hose)
return -ENOMEM;
hose->arch_data = node;
hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
......@@ -543,13 +543,11 @@ static void __init mpc82xx_add_bridge(struct device_node *np)
pci_assign_all_buses = 1;
hose = pcibios_alloc_controller();
hose = pcibios_alloc_controller(np);
if (!hose)
return;
hose->arch_data = np;
hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
......@@ -62,10 +62,9 @@ int __init mpc83xx_add_bridge(struct device_node *dev)
}
pci_assign_all_buses = 1;
hose = pcibios_alloc_controller();
hose = pcibios_alloc_controller(dev);
if (!hose)
return -ENOMEM;
hose->arch_data = dev;
hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
......@@ -56,10 +56,9 @@ int __init mpc85xx_add_bridge(struct device_node *dev)
}
pci_assign_all_buses = 1;
hose = pcibios_alloc_controller();
hose = pcibios_alloc_controller(dev);
if (!hose)
return -ENOMEM;
hose->arch_data = dev;
hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
......@@ -196,10 +196,10 @@ int __init mpc86xx_add_bridge(struct device_node *dev)
" bus 0\n", dev->full_name);
pci_assign_all_buses = 1;
hose = pcibios_alloc_controller();
hose = pcibios_alloc_controller(dev);
if (!hose)
return -ENOMEM;
hose->arch_data = dev;
hose->indirect_type = PPC_INDIRECT_TYPE_EXT_REG |
PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS;
......
......@@ -254,13 +254,12 @@ chrp_find_bridges(void)
printk(" at %llx", (unsigned long long)r.start);
printk("\n");
hose = pcibios_alloc_controller();
hose = pcibios_alloc_controller(dev);
if (!hose) {
printk("Can't allocate PCI controller structure for %s\n",
dev->full_name);
continue;
}
hose->arch_data = dev;
hose->first_busno = bus_range[0];
hose->last_busno = bus_range[1];
......
......@@ -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"
" bus 0\n", dev->full_name);
hose = pcibios_alloc_controller();
hose = pcibios_alloc_controller(dev);
if (hose == NULL)
return -ENOMEM;
hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff;
hose->arch_data = dev;
setup_indirect_pci(hose, 0xfec00000, 0xfee00000);
/* Interpret the "ranges" property */
......
......@@ -916,15 +916,9 @@ static int __init pmac_add_bridge(struct device_node *dev)
" bus 0\n", dev->full_name);
}
/* XXX Different prototypes, to be merged */
#ifdef CONFIG_PPC64
hose = pcibios_alloc_controller(dev);
#else
hose = pcibios_alloc_controller();
#endif
if (!hose)
return -ENOMEM;
hose->arch_data = dev;
hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
......@@ -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"
" bus 0\n", dev->full_name);
hose = pcibios_alloc_controller();
hose = pcibios_alloc_controller(dev);
if (!hose)
return -ENOMEM;
hose->arch_data = dev;
hose->first_busno = bus_range ? bus_range[0] : 0;
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)
" bus 0\n", dev->full_name);
}
hose = pcibios_alloc_controller();
hose = pcibios_alloc_controller(dev);
if (!hose) {
printk("PCI Host bridge init failed\n");
return -ENOMEM;
}
hose->arch_data = dev;
hose->first_busno = bus_range ? bus_range[0] : 0;
hose->last_busno = bus_range ? bus_range[1] : 0xff;
......
......@@ -9,9 +9,6 @@
struct device_node;
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 */
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)
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 isa_bridge_find_early(struct pci_controller *hose);
......@@ -263,6 +258,9 @@ extern void
pci_process_bridge_OF_ranges(struct pci_controller *hose,
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
extern unsigned long pci_address_to_pio(phys_addr_t address);
#else
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册