[PATCH 1/2] ARM: shmobile: irqpin: add a DT property to enable masking on parent
Simon Horman
horms at verge.net.au
Fri May 24 20:39:50 EDT 2013
On Fri, May 24, 2013 at 11:13:03AM +0200, Guennadi Liakhovetski wrote:
> 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 at gmx.de>
> ---
>
> These two patches simply split the earlier "ARM: shmobile: irqpin: fix
> handling of spurious interrupts in DT case" patch into two parts.
> Otherwise no change.
Magnus,
could you please review this series?
>
> .../interrupt-controller/renesas,intc-irqpin.txt | 2 ++
> drivers/irqchip/irq-renesas-intc-irqpin.c | 7 +++++--
> 2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
> index c6f09b7..152b10a 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
> +++ b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
> @@ -11,3 +11,5 @@ Optional properties:
> resource allocation properties
> - sense-bitfield-width: width of a single sense bitfield in the SENSE register,
> if different from the default 4 bits
> +- control-parent: disable and enable interrupts on the parent interrupt
> + controller, needed for some broken implementations
> diff --git a/drivers/irqchip/irq-renesas-intc-irqpin.c b/drivers/irqchip/irq-renesas-intc-irqpin.c
> index 4aca1b2..82cec63 100644
> --- a/drivers/irqchip/irq-renesas-intc-irqpin.c
> +++ b/drivers/irqchip/irq-renesas-intc-irqpin.c
> @@ -348,11 +348,14 @@ static int intc_irqpin_probe(struct platform_device *pdev)
> }
>
> /* deal with driver instance configuration */
> - if (pdata)
> + if (pdata) {
> memcpy(&p->config, pdata, sizeof(*pdata));
> - else
> + } else {
> of_property_read_u32(pdev->dev.of_node, "sense-bitfield-width",
> &p->config.sense_bitfield_width);
> + p->config.control_parent = of_property_read_bool(pdev->dev.of_node,
> + "control-parent");
> + }
> if (!p->config.sense_bitfield_width)
> p->config.sense_bitfield_width = 4; /* default to 4 bits */
>
> --
> 1.7.2.5
>
More information about the linux-arm-kernel
mailing list