Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 530210c7 authored by Grant Likely's avatar Grant Likely
Browse files

of/irq: Replace of_irq with of_phandle_args



struct of_irq and struct of_phandle_args are exactly the same structure.
This patch makes the kernel use of_phandle_args everywhere. This in
itself isn't a big deal, but it makes some follow-on patches simpler.

Signed-off-by: default avatarGrant Likely <grant.likely@linaro.org>
Acked-by: default avatarMichal Simek <monstr@monstr.eu>
Acked-by: default avatarTony Lindgren <tony@atomide.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
parent 0c02c800
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -837,7 +837,7 @@ static struct hw_pci pci_v3 __initdata = {

static int __init pci_v3_map_irq_dt(const struct pci_dev *dev, u8 slot, u8 pin)
{
	struct of_irq oirq;
	struct of_phandle_args oirq;
	int ret;

	ret = of_irq_parse_pci(dev, &oirq);
@@ -847,8 +847,7 @@ static int __init pci_v3_map_irq_dt(const struct pci_dev *dev, u8 slot, u8 pin)
		return 0;
	}

	return irq_create_of_mapping(oirq.controller, oirq.specifier,
				     oirq.size);
	return irq_create_of_mapping(oirq.np, oirq.args, oirq.args_count);
}

static int __init pci_v3_dtprobe(struct platform_device *pdev,
+4 −5
Original line number Diff line number Diff line
@@ -199,7 +199,7 @@ void pcibios_set_master(struct pci_dev *dev)
 */
int pci_read_irq_line(struct pci_dev *pci_dev)
{
	struct of_irq oirq;
	struct of_phandle_args oirq;
	unsigned int virq;

	/* The current device-tree that iSeries generates from the HV
@@ -243,11 +243,10 @@ int pci_read_irq_line(struct pci_dev *pci_dev)
			irq_set_irq_type(virq, IRQ_TYPE_LEVEL_LOW);
	} else {
		pr_debug(" Got one, spec %d cells (0x%08x 0x%08x...) on %s\n",
			 oirq.size, oirq.specifier[0], oirq.specifier[1],
			 of_node_full_name(oirq.controller));
			 oirq.args_count, oirq.args[0], oirq.args[1],
			 of_node_full_name(oirq.np));

		virq = irq_create_of_mapping(oirq.controller, oirq.specifier,
					     oirq.size);
		virq = irq_create_of_mapping(oirq.np, oirq.args, oirq.args_count);
	}
	if (!virq) {
		pr_debug(" Failed to map !\n");
+2 −3
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ int pcibios_plat_dev_init(struct pci_dev *dev)

int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{
	struct of_irq dev_irq;
	struct of_phandle_args dev_irq;
	int irq;

	if (of_irq_parse_pci(dev, &dev_irq)) {
@@ -33,8 +33,7 @@ int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
			slot, pin);
		return 0;
	}
	irq = irq_create_of_mapping(dev_irq.controller, dev_irq.specifier,
					dev_irq.size);
	irq = irq_create_of_mapping(dev_irq.np, dev_irq.args, dev_irq.args_count);
	dev_info(&dev->dev, "SLOT:%d PIN:%d IRQ:%d\n", slot, pin, irq);
	return irq;
}
+2 −4
Original line number Diff line number Diff line
@@ -583,7 +583,7 @@ static int rt3883_pci_probe(struct platform_device *pdev)

int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{
	struct of_irq dev_irq;
	struct of_phandle_args dev_irq;
	int err;
	int irq;

@@ -594,9 +594,7 @@ int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
		return 0;
	}

	irq = irq_create_of_mapping(dev_irq.controller,
				    dev_irq.specifier,
				    dev_irq.size);
	irq = irq_create_of_mapping(dev_irq.np, dev_irq.args, dev_irq.args_count);

	if (irq == 0)
		pr_crit("pci %s: no irq found for pin %u\n",
+4 −5
Original line number Diff line number Diff line
@@ -228,7 +228,7 @@ int pcibios_add_platform_entries(struct pci_dev *pdev)
 */
static int pci_read_irq_line(struct pci_dev *pci_dev)
{
	struct of_irq oirq;
	struct of_phandle_args oirq;
	unsigned int virq;

	pr_debug("PCI: Try to map irq for %s...\n", pci_name(pci_dev));
@@ -263,11 +263,10 @@ static int pci_read_irq_line(struct pci_dev *pci_dev)
			irq_set_irq_type(virq, IRQ_TYPE_LEVEL_LOW);
	} else {
		pr_debug(" Got one, spec %d cells (0x%08x 0x%08x...) on %s\n",
			 oirq.size, oirq.specifier[0], oirq.specifier[1],
			 of_node_full_name(oirq.controller));
			 oirq.args_count, oirq.args[0], oirq.args[1],
			 of_node_full_name(oirq.np));

		virq = irq_create_of_mapping(oirq.controller, oirq.specifier,
					     oirq.size);
		virq = irq_create_of_mapping(oirq.np, oirq.args, oirq.args_count);
	}
	if(virq == NO_IRQ) {
		pr_debug(" Failed to map !\n");
Loading