Dear all,
I've been going through Robert Love's LKD. Here is an excerpt from
it regarding registration of interrupt handlers:
"When request_irq() is called with IRQF_SHARED specified, the call
succeeds only if the interrupt line is currently not registered,
or if all registered handlers on the line also specified
IRQF_SHARED. Shared handlers, however, can mix usage of
IRQF_DISABLED."
As far as I understand, the first sentence tells that a line
currently having shared handlers *will only have* handlers
registered with IRQF_SHARED flag in the past. Correct ?
If a interrupt line has been registered by a handler specified as
non shared, then whats the point in allowing a new handler with a
"shared" flag registering to the same line ? So how does the
mixing of shared and unshared interrupt handlers for the same line
go together as mentioned by the 2nd sentence ?
Or does it mean that a shared handler which already succeeded the
registration can further register a non shared and shared
interrupt handlers? ( That doesnt make sense, but still... ) ?
Simply put, can someone please elaborate on the second sentence I
quoted from the book ?
Thanks and Regards,
Aurabindo J