diff options
Diffstat (limited to 'target/linux/mvebu/patches-3.10/0182-of-irq-Pass-trigger-type-in-IRQ-resource-flags.patch')
-rw-r--r-- | target/linux/mvebu/patches-3.10/0182-of-irq-Pass-trigger-type-in-IRQ-resource-flags.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/target/linux/mvebu/patches-3.10/0182-of-irq-Pass-trigger-type-in-IRQ-resource-flags.patch b/target/linux/mvebu/patches-3.10/0182-of-irq-Pass-trigger-type-in-IRQ-resource-flags.patch new file mode 100644 index 0000000000..5363b2e008 --- /dev/null +++ b/target/linux/mvebu/patches-3.10/0182-of-irq-Pass-trigger-type-in-IRQ-resource-flags.patch @@ -0,0 +1,34 @@ +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); + } + |