aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 8405b956acaa..e280fef6f265 100644
--- a/Documentation/devicetree/bindings/resource-names.txt
+++ b/Documentation/devicetree/bindings/resource-names.txt
@@ -32,6 +32,8 @@ l4-abe {
32 <1 0x10 0x10>, <1 0x20 0x10>; 32 <1 0x10 0x10>, <1 0x20 0x10>;
33 reg-names = "mpu", "dat", 33 reg-names = "mpu", "dat",
34 "dma", "dma_dat"; 34 "dma", "dma_dat";
35 interrupts = <11>, <12>;
36 interrupt-names = "rx", "tx";
35 }; 37 };
36 38
37 timer { 39 timer {
@@ -47,4 +49,6 @@ usb {
47 reg = <0x4a064000 0x800>, <0x4a064800 0x200>, 49 reg = <0x4a064000 0x800>, <0x4a064800 0x200>,
48 <0x4a064c00 0x200>; 50 <0x4a064c00 0x200>;
49 reg-names = "config", "ohci", "ehci"; 51 reg-names = "config", "ohci", "ehci";
52 interrupts = <14>, <15>;
53 interrupt-names = "ohci", "ehci";
50}; 54};
diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index 0f0cfa3bca30..9cf00602f566 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)
341 /* Only dereference the resource if both the 341 /* Only dereference the resource if both the
342 * resource and the irq are valid. */ 342 * resource and the irq are valid. */
343 if (r && irq) { 343 if (r && irq) {
344 const char *name = NULL;
345
346 /*
347 * Get optional "interrupts-names" property to add a name
348 * to the resource.
349 */
350 of_property_read_string_index(dev, "interrupt-names", index,
351 &name);
352
344 r->start = r->end = irq; 353 r->start = r->end = irq;
345 r->flags = IORESOURCE_IRQ; 354 r->flags = IORESOURCE_IRQ;
346 r->name = dev->full_name; 355 r->name = name ? name : dev->full_name;
347 } 356 }
348 357
349 return irq; 358 return irq;