aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Cousson <b-cousson@ti.com>2011-12-05 15:23:56 +0100
committerGrant Likely <grant.likely@secretlab.ca>2012-01-04 00:33:15 -0700
commit661db794eb8179c7bea02f159bb691a2fff4a8e0 (patch)
tree810f4b85c9089c3fd51dcb1d1f9b872c62972f6c
parent35f3da32af0e8970cc41288d4a7e3bd32399900e (diff)
downloadlinaro-lsk-devicetree-for-linus.tar.gz
of/irq: Add interrupts-names property to name an irq resourcedevicetree-for-linus
Add a interrupts-names property to allow the possibility to provide a name to any interrupts entries. If the name is available, use it to name the resource, otherwise keep the device full name. Signed-off-by: Benoit Cousson <b-cousson@ti.com> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Rob Herring <rob.herring@calxeda.com> [grant.likely: use "interrupt-names" and tidy documentation] Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
-rw-r--r--Documentation/devicetree/bindings/resource-names.txt4
-rw-r--r--drivers/of/irq.c11
2 files changed, 14 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/resource-names.txt b/Documentation/devicetree/bindings/resource-names.txt
index 8405b956aca..e280fef6f26 100644
--- a/Documentation/devicetree/bindings/resource-names.txt
+++ b/Documentation/devicetree/bindings/resource-names.txt
@@ -32,6 +32,8 @@ l4-abe {
<1 0x10 0x10>, <1 0x20 0x10>;
reg-names = "mpu", "dat",
"dma", "dma_dat";
+ interrupts = <11>, <12>;
+ interrupt-names = "rx", "tx";
};
timer {
@@ -47,4 +49,6 @@ usb {
reg = <0x4a064000 0x800>, <0x4a064800 0x200>,
<0x4a064c00 0x200>;
reg-names = "config", "ohci", "ehci";
+ interrupts = <14>, <15>;
+ interrupt-names = "ohci", "ehci";
};
diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index 0f0cfa3bca3..9cf00602f56 100644
--- a/drivers/of/irq.c
+++ b/drivers/of/irq.c
@@ -341,9 +341,18 @@ int of_irq_to_resource(struct device_node *dev, int index, struct resource *r)
/* Only dereference the resource if both the
* resource and the irq are valid. */
if (r && irq) {
+ const char *name = NULL;
+
+ /*
+ * Get optional "interrupts-names" property to add a name
+ * to the resource.
+ */
+ of_property_read_string_index(dev, "interrupt-names", index,
+ &name);
+
r->start = r->end = irq;
r->flags = IORESOURCE_IRQ;
- r->name = dev->full_name;
+ r->name = name ? name : dev->full_name;
}
return irq;