irq_find_mapping
Gilles Chanteperdrix
gilles.chanteperdrix at xenomai.org
Mon Jul 23 03:55:39 EDT 2012
Hi,
I have just downloaded linux 3.5, and looked a bit at the IRQ DOMAINS
implementation on ARM. There is something I do not understand.
The irq_find_mapping documentation states:
/**
* irq_find_mapping() - Find a linux irq from an hw irq number.
* @domain: domain owning this hardware interrupt
* @hwirq: hardware irq number in that domain space
*
* This is a slow path, for use by generic code. It's expected that an
* irq controller implementation directly calls the appropriate low level
* mapping function.
*/
The code of the function obviously shows why irq_find_mapping should
not be called for anything but "legacy" domains.
However, in the Linux kernel on ARM, we find this function called in
the following files:
arch/arm/plat-versatile/fpga-irq.c
arch/arm/common/vic.c
arch/arm/common/gic.c
arch/arm/mach-omap2/irq.c
arch/arm/mach-at91/gpio.c
arch/arm/mach-exynos/common.c
Since most irq domains are "legacy" domains, I guess it does not matter.
Except for at91 gpios using a linear domains.
Should not this calls to irq_find_mapping be replaced with calls to
the "approprate low level mapping function"?
--
Gilles.
More information about the linux-arm-kernel
mailing list