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/