Lines Matching refs:DEV
11 * Added flexible support for /dev/bus/usb /sys/bus/usb/devices in addition
83 #define USBDEVBUS_PATH "/dev/bus/usb"
122 USBDevice dev;
163 static void hostdev_link(USBHostDevice *dev)
165 dev->next = hostdev_list;
166 hostdev_list = dev;
169 static void hostdev_unlink(USBHostDevice *dev)
175 if (pdev == dev) {
176 *prev = dev->next;
255 usb_device_del_addr(0, s->dev.addr);
307 static int usb_host_claim_interfaces(USBHostDevice *dev, int configuration)
319 dev_descr_len = dev->descr[0];
320 if (dev_descr_len > dev->descr_len)
322 nb_configurations = dev->descr[17];
325 while (i < dev->descr_len) {
326 dprintf("husb: i is %d, descr_len is %d, dl %d, dt %d\n", i, dev->descr_len,
327 dev->descr[i], dev->descr[i+1]);
329 if (dev->descr[i+1] != USB_DT_CONFIG) {
330 i += dev->descr[i];
333 config_descr_len = dev->descr[i];
335 printf("husb: config #%d need %d\n", dev->descr[i + 5], configuration);
337 if (configuration < 0 || configuration == dev->descr[i + 5]) {
338 configuration = dev->descr[i + 5];
345 if (i >= dev->descr_len) {
349 nb_interfaces = dev->descr[i + 4];
359 ret = ioctl(dev->fd, USBDEVFS_IOCTL, &ctrl);
370 ret = ioctl(dev->fd, USBDEVFS_CLAIMINTERFACE, &interface);
385 dev->ninterfaces = nb_interfaces;
386 dev->configuration = configuration;
407 static void usb_host_handle_reset(USBDevice *dev)
409 USBHostDevice *s = (USBHostDevice *) dev;
418 static void usb_host_handle_destroy(USBDevice *dev)
420 USBHostDevice *s = (USBHostDevice *)dev;
513 s->dev.addr = addr;
625 static int do_token_setup(USBDevice *dev, USBPacket *p)
627 USBHostDevice *s = (USBHostDevice *) dev;
656 static int do_token_in(USBDevice *dev, USBPacket *p)
658 USBHostDevice *s = (USBHostDevice *) dev;
697 static int do_token_out(USBDevice *dev, USBPacket *p)
699 USBHostDevice *s = (USBHostDevice *) dev;
888 USBHostDevice *dev = NULL;
892 dev = qemu_mallocz(sizeof(USBHostDevice));
894 dev->bus_num = bus_num;
895 dev->addr = addr;
913 dev->descr_len = read(fd, dev->descr, sizeof(dev->descr));
914 if (dev->descr_len <= 0) {
923 for (x = 0; x < dev->descr_len; x++)
924 printf("%02x ", dev->descr[x]);
929 dev->fd = fd;
937 if (!usb_host_claim_interfaces(dev, -1))
948 ret = usb_linux_update_endp_table(dev);
953 dev->dev.speed = USB_SPEED_LOW;
955 dev->dev.speed = USB_SPEED_HIGH;
957 dev->dev.handle_packet = usb_host_handle_packet;
958 dev->dev.handle_reset = usb_host_handle_reset;
959 dev->dev.handle_destroy = usb_host_handle_destroy;
962 snprintf(dev->dev.devname, sizeof(dev->dev.devname),
965 pstrcpy(dev->dev.devname, sizeof(dev->dev.devname),
969 qemu_set_fd_handler(dev->fd, NULL, async_complete, dev);
971 hostdev_link(dev);
973 return (USBDevice *) dev;
976 if (dev)
977 qemu_free(dev);
1025 usb_device_del_addr(0, s->dev.addr);
1055 * Use /proc/bus/usb/devices or /dev/bus/usb/devices file to determine
1097 if (get_tag_value(buf, sizeof(buf), line, "Dev#=", " ") < 0)
1263 const char *fs_type[] = {"unknown", "proc", "dev", "sys"};
1280 /* devices found in /dev/bus/usb/ */
1289 /* devices found in /dev/bus/usb/ (yes - not a mistake!) */
1340 struct USBDevice *dev;
1367 dev = usb_host_device_open_addr(bus_num, addr, product_name);
1368 if (dev)
1369 usb_device_add_dev(dev);
1384 * auto:bus:dev[:vid:pid]
1385 * auto:bus.dev[:vid:pid]
1388 * dev - device number (dec, * means any)
1396 enum { BUS, DEV, VID, PID, DONE };
1415 case DEV: f->addr = strtol(p, NULL, 10); break;
1421 if (i < DEV) {