[PATCH] ARM: OMAP2+: fix gpmc request_irq

Ming Lei ming.lei at canonical.com
Fri May 18 07:47:59 EDT 2012


Hi,

On Fri, May 18, 2012 at 6:13 PM, Shilimkar, Santosh
<santosh.shilimkar at ti.com> wrote:
> Generally IRQF_SHARED means, the interrupt line is only one but
> multiple devices can generate the interrupts. If you connect
> different devices on GMPC using chip selects like Ethernet controller,
> Nand, NOR contoller, all of they can generate events which can be
> reported by the GPMC. That's the reason I shared the line
> is shared.

IMO, it depends on if the event handlers of other chips(ethernet, nand, nor..)
share the same irq number(GPMC_IRQ). If so, it should be IRQF_SHARED.
If they are handled in its own irq number(it may convert to irq dispatching),
that shouldn't be IRQF_SHARED.

On Fri, May 18, 2012 at 6:51 PM, Mohammed, Afzal <afzal at ti.com> wrote:
> Hi Ming,
>
> Requesting irq is called by driver of IP, while whether it is shared or
> not depends on SoC where IP lives, so ideally it seems platform should
> inform the driver whether it is shared & driver should do what platform
> tells. Or else to be safe, it should be made shared always ?

Shared or not(IRQF_SHARED) may be determined by hardware and
software handling.

If the same interrupt line is shared by several peripherals and all interrupt
handlers are requested to same interrupt number for handling IRQs from
these peripherals, it should be IRQF_SHARED.

>
> This may not make much sense now w.r.t gpmc, but would be applicable
> once gpmc becomes a driver (undergoing conversion), but may not be that
> important as there are no SoCs presently sharing gpmc interrupt (afaik)

Looks the fix isn't needed if so.

Anyway, thanks your guys for exposing much info about GPMC irq handling.

Thanks,
--
Ming Lei



More information about the linux-arm-kernel mailing list