Commit 6872fcac authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

Merge tag 'irqchip-fixes-5.19-1' of...

Merge tag 'irqchip-fixes-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/urgent

Pull irqchip/genirq fixes from Marc Zyngier:

 - Invoke runtime PM for chained interrupts, aligning the behaviour
   with that of 'normal' interrupts

 - A flurry of of_node refcounting fixes

 - A fix for the recently merged loongarch that broke UP MIPS

 - A configuration fix for the Xilinx interrupt controller

 - Yet another new compat string for the Uniphier interrupt controller

Link: https://lore.kernel.org/lkml/20220610083628.1205136-1-maz@kernel.org
parents f2906aa8 6fac824f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ properties:
      - socionext,uniphier-ld11-aidet
      - socionext,uniphier-ld20-aidet
      - socionext,uniphier-pxs3-aidet
      - socionext,uniphier-nx1-aidet

  reg:
    maxItems: 1
+1 −1
Original line number Diff line number Diff line
@@ -298,7 +298,7 @@ config XTENSA_MX

config XILINX_INTC
	bool "Xilinx Interrupt Controller IP"
	depends on MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP
	depends on OF
	select IRQ_DOMAIN
	help
	  Support for the Xilinx Interrupt Controller IP core.
+2 −0
Original line number Diff line number Diff line
@@ -1035,6 +1035,7 @@ static void build_fiq_affinity(struct aic_irq_chip *ic, struct device_node *aff)
			continue;

		cpu = of_cpu_node_to_id(cpu_node);
		of_node_put(cpu_node);
		if (WARN_ON(cpu < 0))
			continue;

@@ -1143,6 +1144,7 @@ static int __init aic_of_ic_init(struct device_node *node, struct device_node *p
		for_each_child_of_node(affs, chld)
			build_fiq_affinity(irqc, chld);
	}
	of_node_put(affs);

	set_handle_irq(aic_handle_irq);
	set_handle_fiq(aic_handle_fiq);
+1 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ realview_gic_of_init(struct device_node *node, struct device_node *parent)

	/* The PB11MPCore GIC needs to be configured in the syscon */
	map = syscon_node_to_regmap(np);
	of_node_put(np);
	if (!IS_ERR(map)) {
		/* new irq mode with no DCC */
		regmap_write(map, REALVIEW_SYS_LOCK_OFFSET,
+5 −2
Original line number Diff line number Diff line
@@ -1932,7 +1932,7 @@ static void __init gic_populate_ppi_partitions(struct device_node *gic_node)

	gic_data.ppi_descs = kcalloc(gic_data.ppi_nr, sizeof(*gic_data.ppi_descs), GFP_KERNEL);
	if (!gic_data.ppi_descs)
		return;
		goto out_put_node;

	nr_parts = of_get_child_count(parts_node);

@@ -1973,12 +1973,15 @@ static void __init gic_populate_ppi_partitions(struct device_node *gic_node)
				continue;

			cpu = of_cpu_node_to_id(cpu_node);
			if (WARN_ON(cpu < 0))
			if (WARN_ON(cpu < 0)) {
				of_node_put(cpu_node);
				continue;
			}

			pr_cont("%pOF[%d] ", cpu_node, cpu);

			cpumask_set_cpu(cpu, &part->mask);
			of_node_put(cpu_node);
		}

		pr_cont("}\n");
Loading