diff options
Diffstat (limited to 'arch/powerpc/platforms/cell/celleb_scc_pciex.c')
| -rw-r--r-- | arch/powerpc/platforms/cell/celleb_scc_pciex.c | 10 | 
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/powerpc/platforms/cell/celleb_scc_pciex.c b/arch/powerpc/platforms/cell/celleb_scc_pciex.c index a881bbee8de..4278acfa2ed 100644 --- a/arch/powerpc/platforms/cell/celleb_scc_pciex.c +++ b/arch/powerpc/platforms/cell/celleb_scc_pciex.c @@ -486,7 +486,6 @@ static __init int celleb_setup_pciex(struct device_node *node,  				     struct pci_controller *phb)  {  	struct resource	r; -	struct of_irq oirq;  	int virq;  	/* SMMIO registers; used inside this file */ @@ -494,7 +493,7 @@ static __init int celleb_setup_pciex(struct device_node *node,  		pr_err("PCIEXC:Failed to get config resource.\n");  		return 1;  	} -	phb->cfg_addr = ioremap(r.start, r.end - r.start + 1); +	phb->cfg_addr = ioremap(r.start, resource_size(&r));  	if (!phb->cfg_addr) {  		pr_err("PCIEXC:Failed to remap SMMIO region.\n");  		return 1; @@ -507,14 +506,13 @@ static __init int celleb_setup_pciex(struct device_node *node,  	phb->ops = &scc_pciex_pci_ops;  	/* internal interrupt handler */ -	if (of_irq_map_one(node, 1, &oirq)) { +	virq = irq_of_parse_and_map(node, 1); +	if (!virq) {  		pr_err("PCIEXC:Failed to map irq\n");  		goto error;  	} -	virq = irq_create_of_mapping(oirq.controller, oirq.specifier, -				     oirq.size);  	if (request_irq(virq, pciex_handle_internal_irq, -			IRQF_DISABLED, "pciex", (void *)phb)) { +			0, "pciex", (void *)phb)) {  		pr_err("PCIEXC:Failed to request irq\n");  		goto error;  	}  | 
