Re: [PATCH-WIP 07/13] xen/arm: receive xen events on arm

From: David Vrabel
Date: Fri Feb 24 2012 - 06:12:45 EST


On 23/02/12 17:48, Stefano Stabellini wrote:
> Compile events.c and use IRQ 32 to receive events notifications.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>

> +#ifdef CONFIG_ARM
> +#define IRQ_EVTCHN_CALLBACK 63
> +irqreturn_t xen_arm_callback(int irq, void *arg)
> +{
> + __xen_evtchn_do_upcall();
> + return 0;
> +}
> +
> +int __init xen_init_IRQ_arm(void)
> +{
> + int rc;
> + xen_init_IRQ();
> + rc = request_irq(IRQ_EVTCHN_CALLBACK, xen_arm_callback,
> + IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TRIGGER_RISING,
> + "events", "events");
> + if (rc) {
> + printk(KERN_ERR "Error requesting IRQ %d\n", IRQ_EVTCHN_CALLBACK);
> + }
> + return rc;
> +}
> +core_initcall(xen_init_IRQ_arm);
> +#endif

You should (eventually) have a device tree binding for the event channel
and use a OF (device tree) device driver instead of this core_initcall()
to register the handler etc.

David

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/