Lines Matching refs:xendev
145 int xenbus_read_otherend_details(struct xenbus_device *xendev,
148 int err = xenbus_gather(XBT_NIL, xendev->nodename,
149 id_node, "%i", &xendev->otherend_id,
150 path_node, NULL, &xendev->otherend,
153 xenbus_dev_fatal(xendev, err,
155 xendev->nodename);
158 if (strlen(xendev->otherend) == 0 ||
159 !xenbus_exists(XBT_NIL, xendev->otherend, "")) {
160 xenbus_dev_fatal(xendev, -ENOENT,
163 xendev->nodename);
164 free_otherend_details(xendev);
324 struct xenbus_device *xendev = to_xenbus_device(dev);
327 if (!strcmp(xendev->nodename, info->nodename)) {
328 info->dev = xendev;
346 struct xenbus_device *xendev = to_xenbus_device(dev);
353 if (strncmp(xendev->nodename, info->nodename, len))
357 if ((strlen(xendev->nodename) > len) && (xendev->nodename[len] != '/'))
360 info->dev = xendev;
439 struct xenbus_device *xendev;
452 xendev = kzalloc(sizeof(*xendev) + stringlen, GFP_KERNEL);
453 if (!xendev)
456 xendev->state = XenbusStateInitialising;
460 tmpstring = (char *)(xendev + 1);
462 xendev->nodename = tmpstring;
466 xendev->devicetype = tmpstring;
467 init_completion(&xendev->down);
469 xendev->dev.bus = &bus->bus;
470 xendev->dev.release = xenbus_dev_release;
472 err = bus->get_bus_id(devname, xendev->nodename);
476 dev_set_name(&xendev->dev, "%s", devname);
477 sema_init(&xendev->reclaim_sem, 1);
480 err = device_register(&xendev->dev);
482 put_device(&xendev->dev);
483 xendev = NULL;
489 kfree(xendev);