Lines Matching refs:dev

139 	struct usb_device_descriptor	*dev;  member
168 struct dev_data *dev; in dev_new() local
170 dev = kzalloc(sizeof(*dev), GFP_KERNEL); in dev_new()
171 if (!dev) in dev_new()
173 dev->state = STATE_DEV_DISABLED; in dev_new()
174 refcount_set (&dev->count, 1); in dev_new()
175 spin_lock_init (&dev->lock); in dev_new()
176 INIT_LIST_HEAD (&dev->epfiles); in dev_new()
177 init_waitqueue_head (&dev->wait); in dev_new()
178 return dev; in dev_new()
195 struct dev_data *dev; member
216 put_dev (data->dev); in put_ep()
245 #define DBG(dev,fmt,args...) \ argument
246 xprintk(dev , KERN_DEBUG , fmt , ## args)
248 #define DBG(dev,fmt,args...) \ argument
255 #define VDEBUG(dev,fmt,args...) \ argument
259 #define ERROR(dev,fmt,args...) \ argument
260 xprintk(dev , KERN_ERR , fmt , ## args)
261 #define INFO(dev,fmt,args...) \ argument
262 xprintk(dev , KERN_INFO , fmt , ## args)
336 spin_lock_irq (&epdata->dev->lock); in ep_io()
347 spin_unlock_irq (&epdata->dev->lock); in ep_io()
352 spin_lock_irq (&epdata->dev->lock); in ep_io()
354 DBG (epdata->dev, "%s i/o interrupted\n", in ep_io()
357 spin_unlock_irq (&epdata->dev->lock); in ep_io()
363 spin_unlock_irq (&epdata->dev->lock); in ep_io()
365 DBG (epdata->dev, "endpoint gone\n"); in ep_io()
405 spin_lock_irq (&data->dev->lock); in ep_ioctl()
422 spin_unlock_irq (&data->dev->lock); in ep_ioctl()
490 spin_lock(&epdata->dev->lock); in ep_aio_complete()
508 DBG(epdata->dev, "%s fault %d len %d\n", in ep_aio_complete()
518 spin_unlock(&epdata->dev->lock); in ep_aio_complete()
543 spin_lock_irq(&epdata->dev->lock); in ep_aio()
563 spin_unlock_irq(&epdata->dev->lock); in ep_aio()
567 spin_unlock_irq(&epdata->dev->lock); in ep_aio()
593 DBG (epdata->dev, "%s halt\n", epdata->name); in ep_read_iter()
594 spin_lock_irq(&epdata->dev->lock); in ep_read_iter()
597 spin_unlock_irq(&epdata->dev->lock); in ep_read_iter()
655 DBG (epdata->dev, "%s halt\n", epdata->name); in ep_write_iter()
656 spin_lock_irq(&epdata->dev->lock); in ep_write_iter()
659 spin_unlock_irq(&epdata->dev->lock); in ep_write_iter()
740 DBG(data->dev, "config %s, bad tag %d\n", data->name, tag); in ep_config()
763 DBG(data->dev, "config %s, bad hs length or type\n", in ep_config()
769 spin_lock_irq (&data->dev->lock); in ep_config()
770 if (data->dev->state == STATE_DEV_UNBOUND) { in ep_config()
780 switch (data->dev->gadget->speed) { in ep_config()
790 DBG(data->dev, "unconnected, %s init abandoned\n", in ep_config()
801 spin_unlock_irq (&data->dev->lock); in ep_config()
821 spin_lock_irq (&data->dev->lock); in ep_open()
822 if (data->dev->state == STATE_DEV_UNBOUND) in ep_open()
829 VDEBUG (data->dev, "%s ready\n", data->name); in ep_open()
831 DBG (data->dev, "%s state %d\n", in ep_open()
833 spin_unlock_irq (&data->dev->lock); in ep_open()
847 static inline void ep0_readable (struct dev_data *dev) in ep0_readable() argument
849 wake_up (&dev->wait); in ep0_readable()
850 kill_fasync (&dev->fasync, SIGIO, POLL_IN); in ep0_readable()
855 struct dev_data *dev = ep->driver_data; in clean_req() local
857 if (req->buf != dev->rbuf) { in clean_req()
859 req->buf = dev->rbuf; in clean_req()
862 dev->setup_out_ready = 0; in clean_req()
867 struct dev_data *dev = ep->driver_data; in ep0_complete() local
872 spin_lock_irqsave(&dev->lock, flags); in ep0_complete()
873 if (!dev->setup_in) { in ep0_complete()
874 dev->setup_out_error = (req->status != 0); in ep0_complete()
875 if (!dev->setup_out_error) in ep0_complete()
877 dev->setup_out_ready = 1; in ep0_complete()
878 ep0_readable (dev); in ep0_complete()
882 if (free && req->buf != &dev->rbuf) in ep0_complete()
885 spin_unlock_irqrestore(&dev->lock, flags); in ep0_complete()
890 struct dev_data *dev = ep->driver_data; in setup_req() local
892 if (dev->setup_out_ready) { in setup_req()
893 DBG (dev, "ep0 request busy!\n"); in setup_req()
896 if (len > sizeof (dev->rbuf)) in setup_req()
899 req->buf = dev->rbuf; in setup_req()
911 struct dev_data *dev = fd->private_data; in ep0_read() local
915 spin_lock_irq (&dev->lock); in ep0_read()
916 if (dev->state <= STATE_DEV_OPENED) { in ep0_read()
922 if (dev->setup_abort) { in ep0_read()
923 dev->setup_abort = 0; in ep0_read()
929 if ((state = dev->state) == STATE_DEV_SETUP) { in ep0_read()
931 if (dev->setup_in) { /* stall IN */ in ep0_read()
932 VDEBUG(dev, "ep0in stall\n"); in ep0_read()
933 (void) usb_ep_set_halt (dev->gadget->ep0); in ep0_read()
935 dev->state = STATE_DEV_CONNECTED; in ep0_read()
938 struct usb_ep *ep = dev->gadget->ep0; in ep0_read()
939 struct usb_request *req = dev->req; in ep0_read()
942 ++dev->udc_usage; in ep0_read()
943 spin_unlock_irq (&dev->lock); in ep0_read()
945 spin_lock_irq (&dev->lock); in ep0_read()
946 --dev->udc_usage; in ep0_read()
948 dev->state = STATE_DEV_CONNECTED; in ep0_read()
951 if (dev->current_config) { in ep0_read()
954 if (gadget_is_dualspeed(dev->gadget) in ep0_read()
955 && (dev->gadget->speed in ep0_read()
957 power = dev->hs_config->bMaxPower; in ep0_read()
959 power = dev->config->bMaxPower; in ep0_read()
960 usb_gadget_vbus_draw(dev->gadget, 2 * power); in ep0_read()
965 && !dev->setup_out_ready) { in ep0_read()
969 spin_unlock_irq (&dev->lock); in ep0_read()
970 retval = wait_event_interruptible (dev->wait, in ep0_read()
971 dev->setup_out_ready != 0); in ep0_read()
974 spin_lock_irq (&dev->lock); in ep0_read()
978 if (dev->state != STATE_DEV_SETUP) { in ep0_read()
982 dev->state = STATE_DEV_CONNECTED; in ep0_read()
984 if (dev->setup_out_error) in ep0_read()
987 len = min (len, (size_t)dev->req->actual); in ep0_read()
988 ++dev->udc_usage; in ep0_read()
989 spin_unlock_irq(&dev->lock); in ep0_read()
990 if (copy_to_user (buf, dev->req->buf, len)) in ep0_read()
994 spin_lock_irq(&dev->lock); in ep0_read()
995 --dev->udc_usage; in ep0_read()
996 clean_req (dev->gadget->ep0, dev->req); in ep0_read()
1004 if (len < sizeof dev->event [0]) { in ep0_read()
1009 dev->usermode_setup = 1; in ep0_read()
1013 if (dev->ev_next != 0) { in ep0_read()
1017 if (dev->ev_next < n) in ep0_read()
1018 n = dev->ev_next; in ep0_read()
1022 if (dev->event [i].type == GADGETFS_SETUP) { in ep0_read()
1023 dev->state = STATE_DEV_SETUP; in ep0_read()
1028 spin_unlock_irq (&dev->lock); in ep0_read()
1030 if (copy_to_user (buf, &dev->event, len)) in ep0_read()
1038 spin_lock_irq (&dev->lock); in ep0_read()
1039 if (dev->ev_next > n) { in ep0_read()
1040 memmove(&dev->event[0], &dev->event[n], in ep0_read()
1042 * (dev->ev_next - n)); in ep0_read()
1044 dev->ev_next -= n; in ep0_read()
1045 spin_unlock_irq (&dev->lock); in ep0_read()
1056 DBG (dev, "fail %s, state %d\n", __func__, state); in ep0_read()
1061 spin_unlock_irq (&dev->lock); in ep0_read()
1062 DBG (dev, "%s wait\n", __func__); in ep0_read()
1065 retval = wait_event_interruptible (dev->wait, in ep0_read()
1066 dev->ev_next != 0); in ep0_read()
1069 spin_lock_irq (&dev->lock); in ep0_read()
1074 spin_unlock_irq (&dev->lock); in ep0_read()
1079 next_event (struct dev_data *dev, enum usb_gadgetfs_event_type type) in next_event() argument
1087 if (dev->state == STATE_DEV_SETUP) in next_event()
1088 dev->setup_abort = 1; in next_event()
1091 dev->ev_next = 0; in next_event()
1096 for (i = 0; i != dev->ev_next; i++) { in next_event()
1097 if (dev->event [i].type != type) in next_event()
1099 DBG(dev, "discard old event[%d] %d\n", i, type); in next_event()
1100 dev->ev_next--; in next_event()
1101 if (i == dev->ev_next) in next_event()
1104 memmove (&dev->event [i], &dev->event [i + 1], in next_event()
1106 * (dev->ev_next - i)); in next_event()
1112 VDEBUG(dev, "event[%d] = %d\n", dev->ev_next, type); in next_event()
1113 event = &dev->event [dev->ev_next++]; in next_event()
1114 BUG_ON (dev->ev_next > N_EVENT); in next_event()
1123 struct dev_data *dev = fd->private_data; in ep0_write() local
1127 if (dev->setup_abort) { in ep0_write()
1128 dev->setup_abort = 0; in ep0_write()
1132 } else if (dev->state == STATE_DEV_SETUP) { in ep0_write()
1134 len = min_t(size_t, len, dev->setup_wLength); in ep0_write()
1135 if (dev->setup_in) { in ep0_write()
1136 retval = setup_req (dev->gadget->ep0, dev->req, len); in ep0_write()
1138 dev->state = STATE_DEV_CONNECTED; in ep0_write()
1139 ++dev->udc_usage; in ep0_write()
1140 spin_unlock_irq (&dev->lock); in ep0_write()
1141 if (copy_from_user (dev->req->buf, buf, len)) in ep0_write()
1144 if (len < dev->setup_wLength) in ep0_write()
1145 dev->req->zero = 1; in ep0_write()
1147 dev->gadget->ep0, dev->req, in ep0_write()
1150 spin_lock_irq(&dev->lock); in ep0_write()
1151 --dev->udc_usage; in ep0_write()
1153 clean_req (dev->gadget->ep0, dev->req); in ep0_write()
1161 } else if (dev->setup_can_stall) { in ep0_write()
1162 VDEBUG(dev, "ep0out stall\n"); in ep0_write()
1163 (void) usb_ep_set_halt (dev->gadget->ep0); in ep0_write()
1165 dev->state = STATE_DEV_CONNECTED; in ep0_write()
1167 DBG(dev, "bogus ep0out stall!\n"); in ep0_write()
1170 DBG (dev, "fail %s, state %d\n", __func__, dev->state); in ep0_write()
1178 struct dev_data *dev = fd->private_data; in ep0_fasync() local
1180 VDEBUG (dev, "%s %s\n", __func__, on ? "on" : "off"); in ep0_fasync()
1181 return fasync_helper (f, fd, on, &dev->fasync); in ep0_fasync()
1189 struct dev_data *dev = fd->private_data; in dev_release() local
1193 if (dev->gadget_registered) { in dev_release()
1195 dev->gadget_registered = false; in dev_release()
1203 kfree (dev->buf); in dev_release()
1204 dev->buf = NULL; in dev_release()
1207 spin_lock_irq(&dev->lock); in dev_release()
1208 dev->state = STATE_DEV_DISABLED; in dev_release()
1209 spin_unlock_irq(&dev->lock); in dev_release()
1211 put_dev (dev); in dev_release()
1218 struct dev_data *dev = fd->private_data; in ep0_poll() local
1221 if (dev->state <= STATE_DEV_OPENED) in ep0_poll()
1224 poll_wait(fd, &dev->wait, wait); in ep0_poll()
1226 spin_lock_irq(&dev->lock); in ep0_poll()
1229 if (dev->setup_abort) { in ep0_poll()
1230 dev->setup_abort = 0; in ep0_poll()
1235 if (dev->state == STATE_DEV_SETUP) { in ep0_poll()
1236 if (dev->setup_in || dev->setup_can_stall) in ep0_poll()
1239 if (dev->ev_next != 0) in ep0_poll()
1243 spin_unlock_irq(&dev->lock); in ep0_poll()
1249 struct dev_data *dev = fd->private_data; in gadget_dev_ioctl() local
1250 struct usb_gadget *gadget = dev->gadget; in gadget_dev_ioctl()
1253 spin_lock_irq(&dev->lock); in gadget_dev_ioctl()
1254 if (dev->state == STATE_DEV_OPENED || in gadget_dev_ioctl()
1255 dev->state == STATE_DEV_UNBOUND) { in gadget_dev_ioctl()
1258 ++dev->udc_usage; in gadget_dev_ioctl()
1259 spin_unlock_irq(&dev->lock); in gadget_dev_ioctl()
1263 spin_lock_irq(&dev->lock); in gadget_dev_ioctl()
1264 --dev->udc_usage; in gadget_dev_ioctl()
1266 spin_unlock_irq(&dev->lock); in gadget_dev_ioctl()
1279 static void make_qualifier (struct dev_data *dev) in make_qualifier() argument
1288 desc = dev->dev; in make_qualifier()
1294 qual.bMaxPacketSize0 = dev->gadget->ep0->maxpacket; in make_qualifier()
1299 memcpy (dev->rbuf, &qual, sizeof qual); in make_qualifier()
1303 config_buf (struct dev_data *dev, u8 type, unsigned index) in config_buf() argument
1312 if (gadget_is_dualspeed(dev->gadget)) { in config_buf()
1313 hs = (dev->gadget->speed == USB_SPEED_HIGH); in config_buf()
1318 dev->req->buf = dev->hs_config; in config_buf()
1319 len = le16_to_cpu(dev->hs_config->wTotalLength); in config_buf()
1321 dev->req->buf = dev->config; in config_buf()
1322 len = le16_to_cpu(dev->config->wTotalLength); in config_buf()
1324 ((u8 *)dev->req->buf) [1] = type; in config_buf()
1331 struct dev_data *dev = get_gadget_data (gadget); in gadgetfs_setup() local
1332 struct usb_request *req = dev->req; in gadgetfs_setup()
1350 spin_lock (&dev->lock); in gadgetfs_setup()
1351 dev->setup_abort = 0; in gadgetfs_setup()
1352 if (dev->state == STATE_DEV_UNCONNECTED) { in gadgetfs_setup()
1355 && dev->hs_config == NULL) { in gadgetfs_setup()
1356 spin_unlock(&dev->lock); in gadgetfs_setup()
1357 ERROR (dev, "no high speed config??\n"); in gadgetfs_setup()
1361 dev->state = STATE_DEV_CONNECTED; in gadgetfs_setup()
1363 INFO (dev, "connected\n"); in gadgetfs_setup()
1364 event = next_event (dev, GADGETFS_CONNECT); in gadgetfs_setup()
1366 ep0_readable (dev); in gadgetfs_setup()
1373 } else if (dev->state == STATE_DEV_SETUP) in gadgetfs_setup()
1374 dev->setup_abort = 1; in gadgetfs_setup()
1376 req->buf = dev->rbuf; in gadgetfs_setup()
1386 value = min (w_length, (u16) sizeof *dev->dev); in gadgetfs_setup()
1387 dev->dev->bMaxPacketSize0 = dev->gadget->ep0->maxpacket; in gadgetfs_setup()
1388 req->buf = dev->dev; in gadgetfs_setup()
1391 if (!dev->hs_config) in gadgetfs_setup()
1395 make_qualifier (dev); in gadgetfs_setup()
1399 value = config_buf (dev, in gadgetfs_setup()
1419 dev->current_config = 0; in gadgetfs_setup()
1427 config = dev->hs_config->bConfigurationValue; in gadgetfs_setup()
1428 power = dev->hs_config->bMaxPower; in gadgetfs_setup()
1430 config = dev->config->bConfigurationValue; in gadgetfs_setup()
1431 power = dev->config->bMaxPower; in gadgetfs_setup()
1436 dev->current_config = config; in gadgetfs_setup()
1451 INFO (dev, "configuration #%d\n", dev->current_config); in gadgetfs_setup()
1453 if (dev->usermode_setup) { in gadgetfs_setup()
1454 dev->setup_can_stall = 0; in gadgetfs_setup()
1465 *(u8 *)req->buf = dev->current_config; in gadgetfs_setup()
1472 VDEBUG (dev, "%s req%02x.%02x v%04x i%04x l%d\n", in gadgetfs_setup()
1473 dev->usermode_setup ? "delegate" : "fail", in gadgetfs_setup()
1478 if (dev->usermode_setup) { in gadgetfs_setup()
1479 dev->setup_can_stall = 1; in gadgetfs_setup()
1481 dev->setup_in = (ctrl->bRequestType & USB_DIR_IN) in gadgetfs_setup()
1483 dev->setup_wLength = w_length; in gadgetfs_setup()
1484 dev->setup_out_ready = 0; in gadgetfs_setup()
1485 dev->setup_out_error = 0; in gadgetfs_setup()
1488 if (unlikely (!dev->setup_in && w_length)) { in gadgetfs_setup()
1489 value = setup_req (gadget->ep0, dev->req, in gadgetfs_setup()
1494 ++dev->udc_usage; in gadgetfs_setup()
1495 spin_unlock (&dev->lock); in gadgetfs_setup()
1496 value = usb_ep_queue (gadget->ep0, dev->req, in gadgetfs_setup()
1498 spin_lock (&dev->lock); in gadgetfs_setup()
1499 --dev->udc_usage; in gadgetfs_setup()
1501 clean_req (gadget->ep0, dev->req); in gadgetfs_setup()
1506 dev->setup_can_stall = 0; in gadgetfs_setup()
1510 event = next_event (dev, GADGETFS_SETUP); in gadgetfs_setup()
1512 ep0_readable (dev); in gadgetfs_setup()
1513 spin_unlock (&dev->lock); in gadgetfs_setup()
1519 if (value >= 0 && dev->state != STATE_DEV_SETUP) { in gadgetfs_setup()
1523 ++dev->udc_usage; in gadgetfs_setup()
1524 spin_unlock (&dev->lock); in gadgetfs_setup()
1526 spin_lock(&dev->lock); in gadgetfs_setup()
1527 --dev->udc_usage; in gadgetfs_setup()
1528 spin_unlock(&dev->lock); in gadgetfs_setup()
1530 DBG (dev, "ep_queue --> %d\n", value); in gadgetfs_setup()
1537 spin_unlock (&dev->lock); in gadgetfs_setup()
1541 static void destroy_ep_files (struct dev_data *dev) in destroy_ep_files() argument
1543 DBG (dev, "%s %d\n", __func__, dev->state); in destroy_ep_files()
1546 spin_lock_irq (&dev->lock); in destroy_ep_files()
1547 while (!list_empty(&dev->epfiles)) { in destroy_ep_files()
1553 ep = list_first_entry (&dev->epfiles, struct ep_data, epfiles); in destroy_ep_files()
1555 spin_unlock_irq (&dev->lock); in destroy_ep_files()
1579 spin_lock_irq (&dev->lock); in destroy_ep_files()
1581 spin_unlock_irq (&dev->lock); in destroy_ep_files()
1589 static int activate_ep_files (struct dev_data *dev) in activate_ep_files() argument
1594 gadget_for_each_ep (ep, dev->gadget) { in activate_ep_files()
1605 data->dev = dev; in activate_ep_files()
1606 get_dev (dev); in activate_ep_files()
1615 data->dentry = gadgetfs_create_file (dev->sb, data->name, in activate_ep_files()
1619 list_add_tail (&data->epfiles, &dev->epfiles); in activate_ep_files()
1626 put_dev (dev); in activate_ep_files()
1629 DBG (dev, "%s enomem\n", __func__); in activate_ep_files()
1630 destroy_ep_files (dev); in activate_ep_files()
1637 struct dev_data *dev = get_gadget_data (gadget); in gadgetfs_unbind() local
1639 DBG (dev, "%s\n", __func__); in gadgetfs_unbind()
1641 spin_lock_irq (&dev->lock); in gadgetfs_unbind()
1642 dev->state = STATE_DEV_UNBOUND; in gadgetfs_unbind()
1643 while (dev->udc_usage > 0) { in gadgetfs_unbind()
1644 spin_unlock_irq(&dev->lock); in gadgetfs_unbind()
1646 spin_lock_irq(&dev->lock); in gadgetfs_unbind()
1648 spin_unlock_irq (&dev->lock); in gadgetfs_unbind()
1650 destroy_ep_files (dev); in gadgetfs_unbind()
1655 if (dev->req) in gadgetfs_unbind()
1656 usb_ep_free_request (gadget->ep0, dev->req); in gadgetfs_unbind()
1657 DBG (dev, "%s done\n", __func__); in gadgetfs_unbind()
1658 put_dev (dev); in gadgetfs_unbind()
1666 struct dev_data *dev = the_device; in gadgetfs_bind() local
1668 if (!dev) in gadgetfs_bind()
1676 set_gadget_data (gadget, dev); in gadgetfs_bind()
1677 dev->gadget = gadget; in gadgetfs_bind()
1678 gadget->ep0->driver_data = dev; in gadgetfs_bind()
1681 dev->req = usb_ep_alloc_request (gadget->ep0, GFP_KERNEL); in gadgetfs_bind()
1682 if (!dev->req) in gadgetfs_bind()
1684 dev->req->context = NULL; in gadgetfs_bind()
1685 dev->req->complete = epio_complete; in gadgetfs_bind()
1687 if (activate_ep_files (dev) < 0) in gadgetfs_bind()
1690 INFO (dev, "bound to %s driver\n", gadget->name); in gadgetfs_bind()
1691 spin_lock_irq(&dev->lock); in gadgetfs_bind()
1692 dev->state = STATE_DEV_UNCONNECTED; in gadgetfs_bind()
1693 spin_unlock_irq(&dev->lock); in gadgetfs_bind()
1694 get_dev (dev); in gadgetfs_bind()
1705 struct dev_data *dev = get_gadget_data (gadget); in gadgetfs_disconnect() local
1708 spin_lock_irqsave (&dev->lock, flags); in gadgetfs_disconnect()
1709 if (dev->state == STATE_DEV_UNCONNECTED) in gadgetfs_disconnect()
1711 dev->state = STATE_DEV_UNCONNECTED; in gadgetfs_disconnect()
1713 INFO (dev, "disconnected\n"); in gadgetfs_disconnect()
1714 next_event (dev, GADGETFS_DISCONNECT); in gadgetfs_disconnect()
1715 ep0_readable (dev); in gadgetfs_disconnect()
1717 spin_unlock_irqrestore (&dev->lock, flags); in gadgetfs_disconnect()
1723 struct dev_data *dev = get_gadget_data (gadget); in gadgetfs_suspend() local
1726 INFO (dev, "suspended from state %d\n", dev->state); in gadgetfs_suspend()
1727 spin_lock_irqsave(&dev->lock, flags); in gadgetfs_suspend()
1728 switch (dev->state) { in gadgetfs_suspend()
1732 next_event (dev, GADGETFS_SUSPEND); in gadgetfs_suspend()
1733 ep0_readable (dev); in gadgetfs_suspend()
1738 spin_unlock_irqrestore(&dev->lock, flags); in gadgetfs_suspend()
1798 struct dev_data *dev = fd->private_data; in dev_config() local
1804 spin_lock_irq(&dev->lock); in dev_config()
1805 if (dev->state > STATE_DEV_OPENED) { in dev_config()
1807 spin_unlock_irq(&dev->lock); in dev_config()
1810 spin_unlock_irq(&dev->lock); in dev_config()
1828 spin_lock_irq (&dev->lock); in dev_config()
1830 if (dev->buf) { in dev_config()
1831 spin_unlock_irq(&dev->lock); in dev_config()
1835 dev->buf = kbuf; in dev_config()
1838 dev->config = (void *) kbuf; in dev_config()
1839 total = le16_to_cpu(dev->config->wTotalLength); in dev_config()
1840 if (!is_valid_config(dev->config, total) || in dev_config()
1848 dev->hs_config = (void *) kbuf; in dev_config()
1849 total = le16_to_cpu(dev->hs_config->wTotalLength); in dev_config()
1850 if (!is_valid_config(dev->hs_config, total) || in dev_config()
1856 dev->hs_config = NULL; in dev_config()
1864 dev->dev = (void *)kbuf; in dev_config()
1865 if (dev->dev->bLength != USB_DT_DEVICE_SIZE in dev_config()
1866 || dev->dev->bDescriptorType != USB_DT_DEVICE in dev_config()
1867 || dev->dev->bNumConfigurations != 1) in dev_config()
1869 dev->dev->bcdUSB = cpu_to_le16 (0x0200); in dev_config()
1872 spin_unlock_irq (&dev->lock); in dev_config()
1873 if (dev->hs_config) in dev_config()
1880 spin_lock_irq(&dev->lock); in dev_config()
1893 dev->gadget_registered = true; in dev_config()
1898 dev->config = NULL; in dev_config()
1899 dev->hs_config = NULL; in dev_config()
1900 dev->dev = NULL; in dev_config()
1901 spin_unlock_irq (&dev->lock); in dev_config()
1902 pr_debug ("%s: %s fail %zd, %p\n", shortname, __func__, value, dev); in dev_config()
1903 kfree (dev->buf); in dev_config()
1904 dev->buf = NULL; in dev_config()
1911 struct dev_data *dev = inode->i_private; in gadget_dev_open() local
1914 spin_lock_irq(&dev->lock); in gadget_dev_open()
1915 if (dev->state == STATE_DEV_DISABLED) { in gadget_dev_open()
1916 dev->ev_next = 0; in gadget_dev_open()
1917 dev->state = STATE_DEV_OPENED; in gadget_dev_open()
1918 fd->private_data = dev; in gadget_dev_open()
1919 get_dev (dev); in gadget_dev_open()
1922 spin_unlock_irq(&dev->lock); in gadget_dev_open()
2012 struct dev_data *dev; in gadgetfs_fill_super() local
2048 dev = dev_new (); in gadgetfs_fill_super()
2049 if (!dev) in gadgetfs_fill_super()
2052 dev->sb = sb; in gadgetfs_fill_super()
2053 dev->dentry = gadgetfs_create_file(sb, CHIP, dev, &ep0_operations); in gadgetfs_fill_super()
2054 if (!dev->dentry) { in gadgetfs_fill_super()
2055 put_dev(dev); in gadgetfs_fill_super()
2062 the_device = dev; in gadgetfs_fill_super()