[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] [Xen-ia64-devel[PATCH] request_irq is needed by VTD
On Wed, Sep 24, 2008 at 03:51:55PM +0800, Xu, Anthony wrote: > request_irq is needed by VTD > > Signed-off-by; Anthony Xu < anthony.xu@xxxxxxxxx > > > > diff -r 64d6ad484229 xen/arch/ia64/linux-xen/irq_ia64.c > --- a/xen/arch/ia64/linux-xen/irq_ia64.c Wed Sep 24 14:58:31 2008 +0800 > +++ b/xen/arch/ia64/linux-xen/irq_ia64.c Wed Sep 24 15:20:48 2008 +0800 > @@ -266,6 +266,42 @@ > } > } > > +int request_irq(unsigned int irq, > + void (*handler)(int, void *, struct cpu_user_regs *), > + unsigned long irqflags, const char * devname, void *dev_id) > +{ > + struct irqaction * action; > + int retval=0; > + > + /* > + * Sanity-check: shared interrupts must pass in a real dev-ID, > + * otherwise we'll have trouble later trying to figure out > + * which interrupt is which (messes up the interrupt freeing logic etc). > + * */ > + if (irq >= NR_IRQS) > + return -EINVAL; > + if (!handler) > + return -EINVAL; > + > + action = xmalloc(struct irqaction); > + if (!action) > + return -ENOMEM; > + > + action->handler = handler; > + action->name = devname; > + action->dev_id = dev_id; > +#ifdef XEN > + setup_vector(irq, action); > +#else > + retval = setup_irq(irq, action); > +#endif > + if (retval) > + xfree(action); > + > + return retval; > +} > + > + > void __init > init_IRQ (void) > { request_irq() isn't defined in Linux 2.6.13 irq_ia64.c, but in kernel/irq/manage.c. And the above code doesn't match the one in manage.c (except ifdef XEN). Probably it would be better to surround whole request_irq() with #ifdef XEN. thanks, -- yamahata _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |