Re: interrupts

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

 



On 9/20/05, Manu Anand <manu.anand@xxxxxxxxx> wrote:
> 
>  
> > If we also see the function implementation of request_irq(), we do not
> > do any handling for ~SA_SHIRQ flag in that function, so this is also
> > not the function which can restrict us to register our handler for non
> > shared interrupt line. 
> 
> 
> request_irq() calls setup_irq(). setup_irq()  checks the old flags of the
> interrupt line and don't let u share the interrupt line if the old flags
> don't allow it. Here is the relevant code from
> http://lxr.linux.no/source/kernel/irq/manage.c#L153
> 
> 
>     if ((old = *p) != NULL) {
>         /* Can't share interrupts unless both agree to */
>         if (!(old->flags & new->flags & SA_SHIRQ)) { 
>             spin_unlock_irqrestore(&desc->lock,flags);
>             return -EBUSY;
>         }
> 
>         /* add new interrupt at end of irq queue */
>         do {
>             p = &old->next; 
>             old = *p;
>         } while (old);
>         shared = 1;
>     }
> 

You are right !!!

> Manu
>  PS: Don't post complete functions. Give a ref from lxr.linux.no
>  
>  

You are mentioning to give ref from lxr.linux.no and don't post
complete functions, but you are posting the complete functions posted
by Gaurav and raja in the quoted text, so plzz consider this tooo to
rip the quoted text out if they are not being referenced in the
current mail .... ;)


-- 
Fawad Lateef

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[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