[PATCH 1/1] of/irq: store IRQ trigger/level in struct resource flags
Grant Likely
grant.likely at secretlab.ca
Thu Jun 6 09:34:22 EST 2013
On Fri, 5 Apr 2013 09:48:08 +0200, Javier Martinez Canillas <javier.martinez at collabora.co.uk> wrote:
[...]
> irq_of_parse_and_map() calls to irq_create_of_mapping() which calls to
> the correct xlate function handler according to "#interrupt-cells"
> (irq_domain_xlate_onecell or irq_domain_xlate_twocell) and to
> irq_set_irq_type() to set the IRQ type.
>
> But the type is never returned so it can't be saved on the IRQ struct
> resource flags member.
>
> This means that drivers that need the IRQ type/level flags defined in
> the DT won't be able to get it.
>
> Signed-off-by: Javier Martinez Canillas <javier.martinez at collabora.co.uk>
[...]
> diff --git a/include/linux/of_irq.h b/include/linux/of_irq.h
> index 535cecf..98aec57 100644
> --- a/include/linux/of_irq.h
> +++ b/include/linux/of_irq.h
> @@ -66,6 +66,10 @@ extern int of_irq_map_one(struct device_node *device, int index,
> extern unsigned int irq_create_of_mapping(struct device_node *controller,
> const u32 *intspec,
> unsigned int intsize);
> +extern unsigned int irq_create_of_mapping_type(struct device_node *controller,
> + const u32 *intspec,
> + unsigned int intsize,
> + unsigned int *otype);
I count 11 users of irq_create_of_mapping(). That's a managable number
to update. Instead of creating a new function, please modify the
existing one and split it off into a separate patch.
Otherwise the patch looks fine to me.
g.
More information about the devicetree-discuss
mailing list