xen: Move evtchn functions to xen_pvdev.c
The name of the functions moved: * xen_be_evtchn_event * xen_be_unbind_evtchn * xen_be_send_notify Signed-off-by: Emil Condrea <emilcondrea@gmail.com> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org> Signed-off-by: Quan Xu <xuquan8@huawei.com> Acked-by: Anthony PERARD <anthony.perard@citrix.com>
This commit is contained in:
		
				
					committed by
					
						 Stefano Stabellini
						Stefano Stabellini
					
				
			
			
				
	
			
			
			
						parent
						
							046db9bec5
						
					
				
				
					commit
					31c17aa5c3
				
			| @@ -607,25 +607,6 @@ void xenstore_update_fe(char *watch, struct XenDevice *xendev) | ||||
|     xen_be_frontend_changed(xendev, node); | ||||
|     xen_be_check_state(xendev); | ||||
| } | ||||
| static void xen_be_evtchn_event(void *opaque) | ||||
| { | ||||
|     struct XenDevice *xendev = opaque; | ||||
|     evtchn_port_t port; | ||||
|  | ||||
|     port = xenevtchn_pending(xendev->evtchndev); | ||||
|     if (port != xendev->local_port) { | ||||
|         xen_be_printf(xendev, 0, | ||||
|                       "xenevtchn_pending returned %d (expected %d)\n", | ||||
|                       port, xendev->local_port); | ||||
|         return; | ||||
|     } | ||||
|     xenevtchn_unmask(xendev->evtchndev, port); | ||||
|  | ||||
|     if (xendev->ops->event) { | ||||
|         xendev->ops->event(xendev); | ||||
|     } | ||||
| } | ||||
|  | ||||
| /* -------------------------------------------------------------------- */ | ||||
|  | ||||
| int xen_be_init(void) | ||||
| @@ -702,22 +683,6 @@ int xen_be_bind_evtchn(struct XenDevice *xendev) | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| void xen_be_unbind_evtchn(struct XenDevice *xendev) | ||||
| { | ||||
|     if (xendev->local_port == -1) { | ||||
|         return; | ||||
|     } | ||||
|     qemu_set_fd_handler(xenevtchn_fd(xendev->evtchndev), NULL, NULL, NULL); | ||||
|     xenevtchn_unbind(xendev->evtchndev, xendev->local_port); | ||||
|     xen_be_printf(xendev, 2, "unbind evtchn port %d\n", xendev->local_port); | ||||
|     xendev->local_port = -1; | ||||
| } | ||||
|  | ||||
| int xen_be_send_notify(struct XenDevice *xendev) | ||||
| { | ||||
|     return xenevtchn_notify(xendev->evtchndev, xendev->local_port); | ||||
| } | ||||
|  | ||||
|  | ||||
| static int xen_sysdev_init(SysBusDevice *dev) | ||||
| { | ||||
|   | ||||
| @@ -171,3 +171,38 @@ void xen_be_printf(struct XenDevice *xendev, int msg_level, | ||||
|     } | ||||
|     qemu_log_flush(); | ||||
| } | ||||
|  | ||||
| void xen_be_evtchn_event(void *opaque) | ||||
| { | ||||
|     struct XenDevice *xendev = opaque; | ||||
|     evtchn_port_t port; | ||||
|  | ||||
|     port = xenevtchn_pending(xendev->evtchndev); | ||||
|     if (port != xendev->local_port) { | ||||
|         xen_be_printf(xendev, 0, | ||||
|                       "xenevtchn_pending returned %d (expected %d)\n", | ||||
|                       port, xendev->local_port); | ||||
|         return; | ||||
|     } | ||||
|     xenevtchn_unmask(xendev->evtchndev, port); | ||||
|  | ||||
|     if (xendev->ops->event) { | ||||
|         xendev->ops->event(xendev); | ||||
|     } | ||||
| } | ||||
|  | ||||
| void xen_be_unbind_evtchn(struct XenDevice *xendev) | ||||
| { | ||||
|     if (xendev->local_port == -1) { | ||||
|         return; | ||||
|     } | ||||
|     qemu_set_fd_handler(xenevtchn_fd(xendev->evtchndev), NULL, NULL, NULL); | ||||
|     xenevtchn_unbind(xendev->evtchndev, xendev->local_port); | ||||
|     xen_be_printf(xendev, 2, "unbind evtchn port %d\n", xendev->local_port); | ||||
|     xendev->local_port = -1; | ||||
| } | ||||
|  | ||||
| int xen_be_send_notify(struct XenDevice *xendev) | ||||
| { | ||||
|     return xenevtchn_notify(xendev->evtchndev, xendev->local_port); | ||||
| } | ||||
|   | ||||
| @@ -36,8 +36,6 @@ void xen_be_register_common(void); | ||||
| int xen_be_register(const char *type, struct XenDevOps *ops); | ||||
| int xen_be_set_state(struct XenDevice *xendev, enum xenbus_state state); | ||||
| int xen_be_bind_evtchn(struct XenDevice *xendev); | ||||
| void xen_be_unbind_evtchn(struct XenDevice *xendev); | ||||
| int xen_be_send_notify(struct XenDevice *xendev); | ||||
|  | ||||
| /* actual backend drivers */ | ||||
| extern struct XenDevOps xen_console_ops;      /* xen_console.c     */ | ||||
|   | ||||
| @@ -64,6 +64,10 @@ void xenstore_update(void *unused); | ||||
|  | ||||
| const char *xenbus_strstate(enum xenbus_state state); | ||||
|  | ||||
| void xen_be_evtchn_event(void *opaque); | ||||
| void xen_be_unbind_evtchn(struct XenDevice *xendev); | ||||
| int xen_be_send_notify(struct XenDevice *xendev); | ||||
|  | ||||
| void xen_be_printf(struct XenDevice *xendev, int msg_level, | ||||
|                    const char *fmt, ...)  GCC_FMT_ATTR(3, 4); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user