Re: [Xen-devel] [PATCH] Make bind_interdomain_evtchn_to_irq() public

From: David Vrabel
Date: Wed Aug 13 2014 - 05:30:03 EST


On 12/08/14 14:43, jgross@xxxxxxxx wrote:
> From: Juergen Gross <jgross@xxxxxxxx>
>
> bind_interdomain_evtchn_to_irq() is currently a private function. It is used
> only by bind_interdomain_evtchn_to_irqhandler() to register an irq-handler for
> an event channel.
>
> By making it public it is possible to use e.g. threaded interrupts with
> interdomain event channels.

Can you give an example of using this? Maybe we want a
bind_interdomain_evtchn_to_threaded_irqhandler() instead? Or add a flags
field to the existing function.

David

> --- a/drivers/xen/events/events_base.c
> +++ b/drivers/xen/events/events_base.c
> @@ -900,8 +900,8 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
> return irq;
> }
>
> -static int bind_interdomain_evtchn_to_irq(unsigned int remote_domain,
> - unsigned int remote_port)
> +int bind_interdomain_evtchn_to_irq(unsigned int remote_domain,
> + unsigned int remote_port)
> {
> struct evtchn_bind_interdomain bind_interdomain;
> int err;
> @@ -914,6 +914,7 @@ static int bind_interdomain_evtchn_to_irq(unsigned int remote_domain,
>
> return err ? : bind_evtchn_to_irq(bind_interdomain.local_port);
> }
> +EXPORT_SYMBOL_GPL(bind_interdomain_evtchn_to_irq);
>
> static int find_virq(unsigned int virq, unsigned int cpu)
> {
> diff --git a/include/xen/events.h b/include/xen/events.h
> index 8bee7a7..5321cd9 100644
> --- a/include/xen/events.h
> +++ b/include/xen/events.h
> @@ -28,6 +28,8 @@ int bind_ipi_to_irqhandler(enum ipi_vector ipi,
> unsigned long irqflags,
> const char *devname,
> void *dev_id);
> +int bind_interdomain_evtchn_to_irq(unsigned int remote_domain,
> + unsigned int remote_port);
> int bind_interdomain_evtchn_to_irqhandler(unsigned int remote_domain,
> unsigned int remote_port,
> irq_handler_t handler,
>

--
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/