• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/xen/xenbus/

Lines Matching refs:xbs

276  * \param xbs  XenBus Bus device softc of the owner of the bus to enumerate.
282 xenbusb_enumerate_bus(struct xenbusb_softc *xbs)
289 error = xs_directory(XST_NIL, xbs->xbs_node, "", &type_count, &types);
294 XENBUSB_ENUMERATE_TYPE(xbs->xbs_dev, types[type_idx]);
411 * \param xbs XenBus Bus device softc of the owner of the bus to enumerate.
414 xenbusb_release_confighook(struct xenbusb_softc *xbs)
416 mtx_lock(&xbs->xbs_lock);
417 KASSERT(xbs->xbs_connecting_children > 0,
419 xbs->xbs_connecting_children--;
420 if (xbs->xbs_connecting_children == 0
421 && (xbs->xbs_flags & XBS_ATTACH_CH_ACTIVE) != 0) {
422 xbs->xbs_flags &= ~XBS_ATTACH_CH_ACTIVE;
423 mtx_unlock(&xbs->xbs_lock);
424 config_intrhook_disestablish(&xbs->xbs_attach_ch);
426 mtx_unlock(&xbs->xbs_lock);
459 struct xenbusb_softc *xbs;
476 xbs = device_get_softc(dev);
477 xenbusb_release_confighook(xbs);
560 struct xenbusb_softc *xbs;
568 xbs = (struct xenbusb_softc *)watch->callback_data;
569 dev = xbs->xbs_dev;
596 for (component = 0; component < xbs->xbs_id_components; component++) {
605 if (*id != 0 && component >= xbs->xbs_id_components - 1) {
606 xenbusb_add_device(xbs->xbs_dev, type, id);
607 taskqueue_enqueue(taskqueue_thread, &xbs->xbs_probe_children);
642 struct xenbusb_softc *xbs;
648 xbs = device_get_softc(dev);
650 sbuf_printf(devpath_sbuf, "%s/%s/%s", xbs->xbs_node, type, id);
720 mtx_lock(&xbs->xbs_lock);
721 xbs->xbs_connecting_children++;
722 mtx_unlock(&xbs->xbs_lock);
740 struct xenbusb_softc *xbs;
742 xbs = device_get_softc(dev);
743 mtx_init(&xbs->xbs_lock, "xenbusb softc lock", NULL, MTX_DEF);
744 xbs->xbs_node = bus_node;
745 xbs->xbs_id_components = id_components;
746 xbs->xbs_dev = dev;
757 xbs->xbs_attach_ch.ich_func = xenbusb_nop_confighook_cb;
758 xbs->xbs_attach_ch.ich_arg = dev;
759 config_intrhook_establish(&xbs->xbs_attach_ch);
760 xbs->xbs_flags |= XBS_ATTACH_CH_ACTIVE;
761 xbs->xbs_connecting_children = 1;
771 (void)xenbusb_enumerate_bus(xbs);
774 xbs->xbs_device_watch.node = bus_node;
775 xbs->xbs_device_watch.callback = xenbusb_devices_changed;
776 xbs->xbs_device_watch.callback_data = (uintptr_t)xbs;
782 xbs->xbs_device_watch.max_pending = 0;
784 TASK_INIT(&xbs->xbs_probe_children, 0, xenbusb_probe_children_cb, dev);
786 xs_register_watch(&xbs->xbs_device_watch);
788 xenbusb_release_confighook(xbs);
946 struct xenbusb_softc *xbs;
949 xbs = device_get_softc(dev);
950 xenbusb_release_confighook(xbs);