You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
11 years ago
|
From 4bd60065fb935a5d390c9a442be3a18d2ea18eee Mon Sep 17 00:00:00 2001
|
||
|
From: Tomasz Figa <tomasz.figa@gmail.com>
|
||
|
Date: Thu, 19 Dec 2013 09:30:53 -0300
|
||
|
Subject: [PATCH 182/203] of/irq: Pass trigger type in IRQ resource flags
|
||
|
|
||
|
Some drivers might rely on availability of trigger flags in IRQ
|
||
|
resource, for example to configure the hardware for particular interrupt
|
||
|
type. However current code creating IRQ resources from data in device
|
||
|
tree does not configure trigger flags in resulting resources.
|
||
|
|
||
|
This patch tries to solve the problem, based on the fact that
|
||
|
irq_of_parse_and_map() configures the trigger based on DT interrupt
|
||
|
specifier and IRQD_TRIGGER_* flags are consistent with IORESOURCE_IRQ_*,
|
||
|
and we can get correct trigger flags by calling irqd_get_trigger_type()
|
||
|
after mapping the interrupt.
|
||
|
|
||
|
Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
|
||
|
[grant.likely: Merged the two assignments to r->flags]
|
||
|
Signed-off-by: Grant Likely <grant.likely@linaro.org>
|
||
|
---
|
||
|
drivers/of/irq.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
--- a/drivers/of/irq.c
|
||
|
+++ b/drivers/of/irq.c
|
||
|
@@ -360,7 +360,7 @@ int of_irq_to_resource(struct device_nod
|
||
|
&name);
|
||
|
|
||
|
r->start = r->end = irq;
|
||
|
- r->flags = IORESOURCE_IRQ;
|
||
|
+ r->flags = IORESOURCE_IRQ | irqd_get_trigger_type(irq_get_irq_data(irq));
|
||
|
r->name = name ? name : of_node_full_name(dev);
|
||
|
}
|
||
|
|