On Sat, Jul 21, 2018 at 9:38 AM Liu Xiang <liu.xiang6@xxxxxxxxxx> wrote: > > Implement a resource managed irq_of_parse_and_map function. That is obvious from the diff. Why do you need this? Anything that is a platform device should use platform_get_irq. The mapping is created by the core Also, of_irq_get() is preferred over irq_of_parse_and_map() for new users as it has better error return handling. > > Signed-off-by: Liu Xiang <liu.xiang6@xxxxxxxxxx> > --- > drivers/of/irq.c | 38 ++++++++++++++++++++++++++++++++++++++ > include/linux/of_irq.h | 7 +++++++ > 2 files changed, 45 insertions(+) > > diff --git a/drivers/of/irq.c b/drivers/of/irq.c > index 02ad93a..947fe41 100644 > --- a/drivers/of/irq.c > +++ b/drivers/of/irq.c > @@ -45,6 +45,44 @@ unsigned int irq_of_parse_and_map(struct device_node *dev, int index) > } > EXPORT_SYMBOL_GPL(irq_of_parse_and_map); > > +static void devm_irq_dispose_mapping(struct device *dev, void *res) > +{ > + irq_dispose_mapping(*(unsigned int *)res); We don't ref count creating mappings, so this would break for any shared irq. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html