Lines Matching defs:dev
105 free_otherend_details(struct xenbus_device *dev)
107 if (dev->otherend != NULL) {
108 kmem_free((void *)dev->otherend, strlen(dev->otherend) + 1);
109 dev->otherend = NULL;
115 free_otherend_watch(struct xenbus_device *dev)
117 if (dev->otherend_watch.node) {
118 unregister_xenbus_watch(&dev->otherend_watch);
119 kmem_free((void *)dev->otherend_watch.node,
120 strlen(dev->otherend_watch.node) + 1);
121 dev->otherend_watch.node = NULL;
130 struct xenbus_device *dev = watch->dev;
137 if (!dev->otherend ||
138 strncmp(dev->otherend, vec[XS_WATCH_PATH], strlen(dev->otherend))) {
145 state = xenbus_read_driver_state(dev->otherend);
149 state, dev->otherend_watch.node, vec[XS_WATCH_PATH]);
151 if (dev->otherend_changed)
152 dev->otherend_changed(dev, state);
157 talk_to_otherend(struct xenbus_device *dev)
161 free_otherend_watch(dev);
162 free_otherend_details(dev);
164 if (dev->frontend)
165 err = read_backend_details(dev);
167 err = read_frontend_details(dev);
171 dev->otherend_watch.dev = dev;
172 return (xenbus_watch_path2(dev, dev->otherend, "state",
173 &dev->otherend_watch, otherend_changed));