diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2013-06-13 05:23:38 -0400 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-06-18 03:15:18 -0400 |
commit | 894db164260c39870ea79e473e1307b4aa5e4257 (patch) | |
tree | 108e8b9252f79fcdf4e1a58507300f255cedce5f | |
parent | 24603f3caf07f5f65aa17ed7851ad4741595cf6a (diff) |
irqchip: renesas-intc-irqpin: DT binding for sense bitfield width
Most Renesas irqpin controllers have 4-bit sense fields, however, some
have different widths. This patch adds a DT binding to optionally
specify such non-standard values.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r-- | Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt | 14 | ||||
-rw-r--r-- | drivers/irqchip/irq-renesas-intc-irqpin.c | 4 |
2 files changed, 18 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt new file mode 100644 index 000000000000..66fcaf5b09ff --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | DT bindings for the R-/SH-Mobile irqpin controller | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: has to be "renesas,intc-irqpin" | ||
6 | - #interrupt-cells: has to be <2>: an interrupt index and flags, as defined in | ||
7 | interrupts.txt in this directory | ||
8 | |||
9 | Optional properties: | ||
10 | |||
11 | - any properties, listed in interrupts.txt, and any standard resource allocation | ||
12 | properties | ||
13 | - sense-bitfield-width: width of a single sense bitfield in the SENSE register, | ||
14 | if different from the default 4 bits | ||
diff --git a/drivers/irqchip/irq-renesas-intc-irqpin.c b/drivers/irqchip/irq-renesas-intc-irqpin.c index 5a68e5accec1..4aca1b2bcc48 100644 --- a/drivers/irqchip/irq-renesas-intc-irqpin.c +++ b/drivers/irqchip/irq-renesas-intc-irqpin.c | |||
@@ -18,6 +18,7 @@ | |||
18 | */ | 18 | */ |
19 | 19 | ||
20 | #include <linux/init.h> | 20 | #include <linux/init.h> |
21 | #include <linux/of.h> | ||
21 | #include <linux/platform_device.h> | 22 | #include <linux/platform_device.h> |
22 | #include <linux/spinlock.h> | 23 | #include <linux/spinlock.h> |
23 | #include <linux/interrupt.h> | 24 | #include <linux/interrupt.h> |
@@ -349,6 +350,9 @@ static int intc_irqpin_probe(struct platform_device *pdev) | |||
349 | /* deal with driver instance configuration */ | 350 | /* deal with driver instance configuration */ |
350 | if (pdata) | 351 | if (pdata) |
351 | memcpy(&p->config, pdata, sizeof(*pdata)); | 352 | memcpy(&p->config, pdata, sizeof(*pdata)); |
353 | else | ||
354 | of_property_read_u32(pdev->dev.of_node, "sense-bitfield-width", | ||
355 | &p->config.sense_bitfield_width); | ||
352 | if (!p->config.sense_bitfield_width) | 356 | if (!p->config.sense_bitfield_width) |
353 | p->config.sense_bitfield_width = 4; /* default to 4 bits */ | 357 | p->config.sense_bitfield_width = 4; /* default to 4 bits */ |
354 | 358 | ||