Lines Matching defs:dev

25 static status_t pegasus_device_added(const usb_device dev, void **cookie);
164 pegasus_checkdeviceinfo(pegasus_dev *dev)
166 if (!dev || dev->cookieMagic != PEGASUS_COOKIE_MAGIC)
174 create_device(const usb_device dev, const usb_interface_info *ii, uint16 ifno)
179 ASSERT(usb != NULL && dev != 0);
237 device->dev = dev;
269 setup_endpoints(const usb_interface_info *uii, pegasus_dev *dev)
289 dev->pipe_in = uii->endpoint[epts[0]].handle;
290 dev->pipe_out = uii->endpoint[epts[1]].handle;
291 dev->pipe_intr = uii->endpoint[epts[2]].handle;
292 DPRINTF_INFO("endpoint:%lx %lx %lx\n", dev->pipe_in, dev->pipe_out, dev->pipe_intr);
301 pegasus_dev *dev = (pegasus_dev *)cookie;
311 dev->rx_actual_length = actual_len;
312 dev->rx_status = status; /* B_USB_STATUS_* */
313 release_sem(dev->rx_sem_cb);
314 DPRINTF_INFO("pegasus_rx_callback release sem %ld\n", dev->rx_sem_cb);
321 pegasus_dev *dev = (pegasus_dev *)cookie;
331 dev->tx_actual_length = actual_len;
332 dev->tx_status = status; /* B_USB_STATUS_* */
333 release_sem(dev->tx_sem_cb);
334 DPRINTF_INFO("pegasus_tx_callback release sem %ld\n", dev->tx_sem_cb);
342 pegasus_device_added(const usb_device dev, void **cookie)
352 ASSERT(dev != 0 && cookie != NULL);
355 dev_desc = usb->get_device_descriptor(dev);
360 if ((conf = usb->get_nth_configuration(dev, DEFAULT_CONFIGURATION))
371 if ((status = usb->set_configuration(dev, conf)) != B_OK) {
376 if ((device = create_device(dev, intf, ifno)) == NULL) {
478 pegasus_dev *dev;
485 if (pegasus_checkdeviceinfo(dev = cookie->device) != B_OK) {
495 if (dev->aue_dying)
498 blockFlag = dev->nonblocking ? B_TIMEOUT : 0;
501 if ((status = acquire_sem_etc(dev->rx_sem, 1, B_CAN_INTERRUPT | blockFlag, 0)) != B_NO_ERROR) {
510 status = usb->queue_bulk(dev->pipe_in, dev->rx_buffer, MAX_FRAME_SIZE, &pegasus_rx_callback, dev);
518 if ((status = acquire_sem_etc(dev->rx_sem_cb, 1, B_CAN_INTERRUPT | blockFlag, 0)) != B_NO_ERROR) {
526 if (dev->rx_status != B_OK) {
527 status = usb->clear_feature(dev->pipe_in, USB_FEATURE_ENDPOINT_HALT);
534 size = dev->rx_actual_length;
541 memcpy(buffer, dev->rx_buffer, size);
546 release_sem(dev->rx_sem);
554 pegasus_dev *dev;
560 if (pegasus_checkdeviceinfo(dev = cookie->device) != B_OK) {
565 if (dev->aue_dying)
569 if ((status = acquire_sem_etc(dev->tx_sem, 1, B_TIMEOUT, ETHER_TRANSMIT_TIMEOUT)) < B_NO_ERROR) {
581 memcpy(dev->tx_buffer+2, buffer, frameSize);
589 dev->tx_buffer[0] = (uint8)frameSize;
590 dev->tx_buffer[1] = (uint8)(frameSize >> 8);
593 status = usb->queue_bulk(dev->pipe_out, dev->tx_buffer, ((frameSize + 2) & 0x3f) ? frameSize + 2 : frameSize + 3,
594 &pegasus_tx_callback, dev);
602 if ((status = acquire_sem_etc(dev->tx_sem_cb, 1, B_CAN_INTERRUPT, 0)) != B_NO_ERROR) {
610 if (dev->tx_status != B_OK) {
611 status = usb->clear_feature(dev->pipe_out, USB_FEATURE_ENDPOINT_HALT);
620 release_sem(dev->tx_sem);