Lines Matching refs:watch

71 		} watch;  member
699 int register_xenbus_watch(struct xenbus_watch *watch) in register_xenbus_watch() argument
702 char token[sizeof(watch) * 2 + 1]; in register_xenbus_watch()
705 sprintf(token, "%lX", (long)watch); in register_xenbus_watch()
711 list_add(&watch->list, &watches); in register_xenbus_watch()
714 err = xs_watch(watch->node, token); in register_xenbus_watch()
718 list_del(&watch->list); in register_xenbus_watch()
728 void unregister_xenbus_watch(struct xenbus_watch *watch) in unregister_xenbus_watch() argument
731 char token[sizeof(watch) * 2 + 1]; in unregister_xenbus_watch()
734 sprintf(token, "%lX", (long)watch); in unregister_xenbus_watch()
740 list_del(&watch->list); in unregister_xenbus_watch()
743 err = xs_unwatch(watch->node, token); in unregister_xenbus_watch()
745 pr_warn("Failed to release watch %s: %i\n", watch->node, err); in unregister_xenbus_watch()
757 if (msg->u.watch.handle != watch) in unregister_xenbus_watch()
760 kfree(msg->u.watch.vec); in unregister_xenbus_watch()
780 struct xenbus_watch *watch; in xs_resume() local
781 char token[sizeof(watch) * 2 + 1]; in xs_resume()
790 list_for_each_entry(watch, &watches, list) { in xs_resume()
791 sprintf(token, "%lX", (long)watch); in xs_resume()
792 xs_watch(watch->node, token); in xs_resume()
828 msg->u.watch.handle->callback( in xenwatch_thread()
829 msg->u.watch.handle, in xenwatch_thread()
830 (const char **)msg->u.watch.vec, in xenwatch_thread()
831 msg->u.watch.vec_size); in xenwatch_thread()
832 kfree(msg->u.watch.vec); in xenwatch_thread()
898 msg->u.watch.vec = split(body, msg->hdr.len, in process_msg()
899 &msg->u.watch.vec_size); in process_msg()
900 if (IS_ERR(msg->u.watch.vec)) { in process_msg()
901 err = PTR_ERR(msg->u.watch.vec); in process_msg()
907 msg->u.watch.handle = find_watch( in process_msg()
908 msg->u.watch.vec[XS_WATCH_TOKEN]); in process_msg()
909 if (msg->u.watch.handle != NULL) { in process_msg()
915 kfree(msg->u.watch.vec); in process_msg()