Re: [PATCH 1/2] irqchip: add Broadcom BCM7120-style Level 2 interrupt controller

From: Thomas Gleixner
Date: Wed Sep 03 2014 - 08:18:58 EST


On Thu, 28 Aug 2014, Florian Fainelli wrote:
> +static void bcm7120_l2_intc_irq_handle(unsigned int irq, struct irq_desc *desc)
> +{
> + struct bcm7120_l2_intc_data *b = irq_desc_get_handler_data(desc);
> + struct irq_chip *chip = irq_desc_get_chip(desc);
> + struct irq_chip_generic *gc = irq_get_domain_generic_chip(b->domain, 0);
> + u32 status;
> +
> + chained_irq_enter(chip, desc);
> +
> + irq_gc_lock(gc);
> + status = __raw_readl(b->base + IRQSTAT);
> + irq_gc_unlock(gc);

Why do you need locking around the status read out?

> + for (irq = 0; irq < num_parent_irqs; irq++) {
> + ret = bcm7120_l2_intc_init_one(dn, data, irq, map_mask);
> + if (ret)
> + continue;

What's the exact purpose of this "if (ret)" construct?

Thanks,

tglx
--
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/