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:
parent
35f3da32af
commit
661db794eb
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue