Commit 8c8933eb authored by Rob Herring's avatar Rob Herring Committed by Michael Ellerman
Browse files

powerpc/cell: Use irq_of_parse_and_map() helper



Instead of calling both of_irq_parse_one() and
irq_create_of_mapping(), call of_irq_parse_and_map() instead which
does the same thing. This gets us closer to making the former 2
functions static.

Signed-off-by: default avatarRob Herring <robh@kernel.org>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent a0820ff3
Loading
Loading
Loading
Loading
+4 −17
Original line number Diff line number Diff line
@@ -180,35 +180,22 @@ out:

static int __init spu_map_interrupts(struct spu *spu, struct device_node *np)
{
	struct of_phandle_args oirq;
	int ret;
	int i;

	for (i=0; i < 3; i++) {
		ret = of_irq_parse_one(np, i, &oirq);
		if (ret) {
			pr_debug("spu_new: failed to get irq %d\n", i);
			goto err;
		}
		ret = -EINVAL;
		pr_debug("  irq %d no 0x%x on %pOF\n", i, oirq.args[0],
			 oirq.np);
		spu->irqs[i] = irq_create_of_mapping(&oirq);
		if (!spu->irqs[i]) {
			pr_debug("spu_new: failed to map it !\n");
		spu->irqs[i] = irq_of_parse_and_map(np, i);
		if (!spu->irqs[i])
			goto err;
	}
	}
	return 0;

err:
	pr_debug("failed to map irq %x for spu %s\n", *oirq.args,
		spu->name);
	pr_debug("failed to map irq %x for spu %s\n", i, spu->name);
	for (; i >= 0; i--) {
		if (spu->irqs[i])
			irq_dispose_mapping(spu->irqs[i]);
	}
	return ret;
	return -EINVAL;
}

static int spu_map_resource(struct spu *spu, int nr,