IRQ code inconsistencies across platforms

linux at prisktech.co.nz linux at prisktech.co.nz
Tue Oct 9 19:26:20 EDT 2012


In arch/arm/common.gic.c:

static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
urq_hw_number_t hw)
{
...
  irq_set_chip_and_handler(irq, &gic_chip, handle_fasteoi_irq);
  set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
}

but in arch/arm/mach-pxa/irq.c:

static int pxa_irq_map(struct irq_domain *d, unsigned int virq, urq_hw_number_t hw)
{
...
  irq_set_chip_and_handler(hw, &pxa_internal_irq_chip, handle_level_irq);
  set_irq_flags(hw, IRQF_VALID);
}

Is it correct to use irq/virq or hw for irq_set_chip_and_handler/set_irq_flags?

Both platforms are adding legacy domains, so while they both presumably work,
one is slightly incorrect.

Regards
Tony P




More information about the linux-arm-kernel mailing list