Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: shmobile: irqpin: add a DT property to enable masking on parent

To disable spurious interrupts, that get triggered on certain hardware, the
irqpin driver masks them on the parent interrupt controller. To specify
such broken devices a .control_parent parameter can be provided in the
platform data. In the DT case we need a property, to do the same.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

authored by

Guennadi Liakhovetski and committed by
Simon Horman
c4fa4946 561a1a31

+7 -2
+2
Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
··· 12 12 properties 13 13 - sense-bitfield-width: width of a single sense bitfield in the SENSE register, 14 14 if different from the default 4 bits 15 + - control-parent: disable and enable interrupts on the parent interrupt 16 + controller, needed for some broken implementations
+5 -2
drivers/irqchip/irq-renesas-intc-irqpin.c
··· 348 348 } 349 349 350 350 /* deal with driver instance configuration */ 351 - if (pdata) 351 + if (pdata) { 352 352 memcpy(&p->config, pdata, sizeof(*pdata)); 353 - else 353 + } else { 354 354 of_property_read_u32(pdev->dev.of_node, "sense-bitfield-width", 355 355 &p->config.sense_bitfield_width); 356 + p->config.control_parent = of_property_read_bool(pdev->dev.of_node, 357 + "control-parent"); 358 + } 356 359 if (!p->config.sense_bitfield_width) 357 360 p->config.sense_bitfield_width = 4; /* default to 4 bits */ 358 361