Re: Registering shared & unshared interrupt handlers

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

 



On Sun, Feb 16, 2014 at 10:36 PM, Jay Aurabind <jay.aurabind@xxxxxxxxx> wrote:
> 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 ?

Yes.
>
> 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
It doesn't allow as your statement in above indicates.

> 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 ?

Where is the confusion ? Just to be clear, kernel doesn't allow shared
and unshared
interrupt handler on the same interrupt line. Read the code in irq
core subsystem.
kernel/kernel/irq
>
>
> Thanks and Regards,
> Aurabindo J
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies@xxxxxxxxxxxxxxxxx
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux