]> Pileus Git - ~andy/linux/commitdiff
of/irq: Add interrupts-names property to name an irq resource
authorBenoit Cousson <b-cousson@ti.com>
Mon, 5 Dec 2011 14:23:56 +0000 (15:23 +0100)
committerGrant Likely <grant.likely@secretlab.ca>
Wed, 4 Jan 2012 07:33:15 +0000 (00:33 -0700)
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>
Documentation/devicetree/bindings/resource-names.txt
drivers/of/irq.c

index 8405b956acaa43d8bbcded3723c74420ad924885..e280fef6f2654f5b363ca346da54eedd07a85769 100644 (file)
@@ -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";
 };
index 0f0cfa3bca301e2d824ad64ebdaba23d6c617825..9cf00602f5665b289d1279666504af0010a3fa0f 100644 (file)
@@ -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;