[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.