Lines Matching refs:xendev
150 int xenbus_read_otherend_details(struct xenbus_device *xendev,
153 int err = xenbus_gather(XBT_NIL, xendev->nodename,
154 id_node, "%i", &xendev->otherend_id,
155 path_node, NULL, &xendev->otherend,
158 xenbus_dev_fatal(xendev, err,
160 xendev->nodename);
163 if (strlen(xendev->otherend) == 0 ||
164 !xenbus_exists(XBT_NIL, xendev->otherend, "")) {
165 xenbus_dev_fatal(xendev, -ENOENT,
168 xendev->nodename);
169 free_otherend_details(xendev);
392 struct xenbus_device *xendev = to_xenbus_device(dev);
395 if (!strcmp(xendev->nodename, info->nodename)) {
396 info->dev = xendev;
414 struct xenbus_device *xendev = to_xenbus_device(dev);
421 if (strncmp(xendev->nodename, info->nodename, len))
425 if ((strlen(xendev->nodename) > len) && (xendev->nodename[len] != '/'))
428 info->dev = xendev;
507 struct xenbus_device *xendev;
520 xendev = kzalloc(sizeof(*xendev) + stringlen, GFP_KERNEL);
521 if (!xendev)
524 xendev->state = XenbusStateInitialising;
528 tmpstring = (char *)(xendev + 1);
530 xendev->nodename = tmpstring;
534 xendev->devicetype = tmpstring;
535 init_completion(&xendev->down);
537 xendev->dev.bus = &bus->bus;
538 xendev->dev.release = xenbus_dev_release;
540 err = bus->get_bus_id(devname, xendev->nodename);
544 dev_set_name(&xendev->dev, "%s", devname);
545 sema_init(&xendev->reclaim_sem, 1);
548 err = device_register(&xendev->dev);
550 put_device(&xendev->dev);
551 xendev = NULL;
557 kfree(xendev);