ack() and end() in hw_irq_controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




I am trying to adopt the new irq.c under arch/i386/kernel to a MIPS board and
hopefully to MIPS common code in general.  This is in the anticipation that
the irq.c file will be moved to common kernel directory in 2.5.

While the rest look pretty self-explanatory, I do have a couple of questions
about ack() and end().

1. It seems to me that in ack() we need to clear any latched, edge triggerred
interrupt AND disable the irq.  True?

2. Similarly end() should re-enable the irq.

3. I don't quite understand the comment about end().  Any explanation?  Does
that imply we should check if it is disable before we re-enable the irq? 
However, it seems such complication can only happen on a SMP, right?

	/*
	 * The ->end() handler has to deal with interrupts which got
	 * disabled while the handler was running.
	 */

Thanks in advance.

Jun


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux