Lines Matching refs:crd

190     struct usb_cdev_refdata *crd, int need_uref)  in usb_ref_device()  argument
198 memset(crd, 0, sizeof(*crd)); in usb_ref_device()
231 crd->do_unlock = usbd_enum_lock_sig(cpd->udev); in usb_ref_device()
238 crd->is_uref = 1; in usb_ref_device()
241 if (crd->do_unlock > 1) { in usb_ref_device()
242 crd->do_unlock = 0; in usb_ref_device()
255 crd->txfifo = f; in usb_ref_device()
256 crd->is_write = 1; /* ref */ in usb_ref_device()
263 crd->is_usbfs = 1; in usb_ref_device()
271 crd->rxfifo = f; in usb_ref_device()
272 crd->is_read = 1; /* ref */ in usb_ref_device()
279 crd->is_usbfs = 1; in usb_ref_device()
285 if (crd->is_write) { in usb_ref_device()
287 crd->txfifo->refcount++; in usb_ref_device()
289 if (crd->is_read) { in usb_ref_device()
291 crd->rxfifo->refcount++; in usb_ref_device()
298 if (crd->do_unlock) in usb_ref_device()
301 if (crd->is_uref) { in usb_ref_device()
309 memset(crd, 0, sizeof(*crd)); in usb_ref_device()
326 struct usb_cdev_refdata *crd) in usb_usb_ref_device() argument
331 if (crd->is_uref) in usb_usb_ref_device()
338 usb_unref_device(cpd, crd); in usb_usb_ref_device()
340 return (usb_ref_device(cpd, crd, 1 /* need uref */)); in usb_usb_ref_device()
351 struct usb_cdev_refdata *crd) in usb_unref_device() argument
354 DPRINTFN(2, "cpd=%p is_uref=%d\n", cpd, crd->is_uref); in usb_unref_device()
356 if (crd->do_unlock) in usb_unref_device()
360 if (crd->is_read) { in usb_unref_device()
361 if (--(crd->rxfifo->refcount) == 0) { in usb_unref_device()
362 cv_signal(&crd->rxfifo->cv_drain); in usb_unref_device()
364 crd->is_read = 0; in usb_unref_device()
366 if (crd->is_write) { in usb_unref_device()
367 if (--(crd->txfifo->refcount) == 0) { in usb_unref_device()
368 cv_signal(&crd->txfifo->cv_drain); in usb_unref_device()
370 crd->is_write = 0; in usb_unref_device()
372 if (crd->is_uref) { in usb_unref_device()
373 crd->is_uref = 0; in usb_unref_device()
400 struct usb_cdev_refdata *crd) in usb_fifo_create() argument
424 crd->txfifo = f; in usb_fifo_create()
430 crd->rxfifo = f; in usb_fifo_create()
555 crd->txfifo = udev->fifo[n + USB_FIFO_TX]; in usb_fifo_create()
558 crd->rxfifo = udev->fifo[n + USB_FIFO_RX]; in usb_fifo_create()