of/irq: Add interrupts-names property to name an irq resource

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>
This commit is contained in:
Benoit Cousson 2011-12-05 15:23:56 +01:00 committed by Grant Likely
parent 35f3da32af
commit 661db794eb
2 changed files with 14 additions and 1 deletions

View File

@ -32,6 +32,8 @@ l4-abe {
<1 0x10 0x10>, <1 0x20 0x10>; <1 0x10 0x10>, <1 0x20 0x10>;
reg-names = "mpu", "dat", reg-names = "mpu", "dat",
"dma", "dma_dat"; "dma", "dma_dat";
interrupts = <11>, <12>;
interrupt-names = "rx", "tx";
}; };
timer { timer {
@ -47,4 +49,6 @@ usb {
reg = <0x4a064000 0x800>, <0x4a064800 0x200>, reg = <0x4a064000 0x800>, <0x4a064800 0x200>,
<0x4a064c00 0x200>; <0x4a064c00 0x200>;
reg-names = "config", "ohci", "ehci"; reg-names = "config", "ohci", "ehci";
interrupts = <14>, <15>;
interrupt-names = "ohci", "ehci";
}; };

View 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 /* Only dereference the resource if both the
* resource and the irq are valid. */ * resource and the irq are valid. */
if (r && irq) { 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->start = r->end = irq;
r->flags = IORESOURCE_IRQ; r->flags = IORESOURCE_IRQ;
r->name = dev->full_name; r->name = name ? name : dev->full_name;
} }
return irq; return irq;