Re: [PATCH v2] irqdomain: protect macro variable in domain iterators

From: Dave Martin
Date: Fri Dec 02 2011 - 08:45:06 EST


On Fri, Dec 02, 2011 at 02:30:09PM +0100, Nicolas Ferre wrote:
> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>

Looks OK to me:

Acked-by: Dave Martin <dave.martin@xxxxxxxxxx>

> ---
> v2: add brackets to each macro variable.
>
> include/linux/irqdomain.h | 10 ++++++----
> 1 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
> index bd4272b..e535063 100644
> --- a/include/linux/irqdomain.h
> +++ b/include/linux/irqdomain.h
> @@ -82,12 +82,14 @@ static inline unsigned int irq_domain_to_irq(struct irq_domain *d,
> }
>
> #define irq_domain_for_each_hwirq(d, hw) \
> - for (hw = d->hwirq_base; hw < d->hwirq_base + d->nr_irq; hw++)
> + for ((hw) = (d)->hwirq_base; \
> + (hw) < (d)->hwirq_base + (d)->nr_irq; \
> + (hw)++)
>
> #define irq_domain_for_each_irq(d, hw, irq) \
> - for (hw = d->hwirq_base, irq = irq_domain_to_irq(d, hw); \
> - hw < d->hwirq_base + d->nr_irq; \
> - hw++, irq = irq_domain_to_irq(d, hw))
> + for ((hw) = (d)->hwirq_base, (irq) = irq_domain_to_irq((d), (hw)); \
> + (hw) < (d)->hwirq_base + (d)->nr_irq; \
> + (hw)++, (irq) = irq_domain_to_irq((d), (hw)))
>
> extern void irq_domain_add(struct irq_domain *domain);
> extern void irq_domain_del(struct irq_domain *domain);
> --
> 1.7.5.4
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/