Loading drivers/usb/gadget/net2280.c +17 −53 Original line number Diff line number Diff line Loading @@ -1401,17 +1401,18 @@ static int net2280_pullup(struct usb_gadget *_gadget, int is_on) return 0; } static int net2280_start(struct usb_gadget_driver *driver, int (*bind)(struct usb_gadget *)); static int net2280_stop(struct usb_gadget_driver *driver); static int net2280_start(struct usb_gadget *_gadget, struct usb_gadget_driver *driver); static int net2280_stop(struct usb_gadget *_gadget, struct usb_gadget_driver *driver); static const struct usb_gadget_ops net2280_ops = { .get_frame = net2280_get_frame, .wakeup = net2280_wakeup, .set_selfpowered = net2280_set_selfpowered, .pullup = net2280_pullup, .start = net2280_start, .stop = net2280_stop, .udc_start = net2280_start, .udc_stop = net2280_stop, }; /*-------------------------------------------------------------------------*/ Loading Loading @@ -1744,8 +1745,6 @@ static void set_fifo_mode (struct net2280 *dev, int mode) * perhaps to bind specific drivers to specific devices. */ static struct net2280 *the_controller; static void usb_reset (struct net2280 *dev) { u32 tmp; Loading Loading @@ -1871,10 +1870,10 @@ static void ep0_start (struct net2280 *dev) * disconnect is reported. then a host may connect again, or * the driver might get unbound. */ static int net2280_start(struct usb_gadget_driver *driver, int (*bind)(struct usb_gadget *)) static int net2280_start(struct usb_gadget *_gadget, struct usb_gadget_driver *driver) { struct net2280 *dev = the_controller; struct net2280 *dev; int retval; unsigned i; Loading @@ -1882,14 +1881,11 @@ static int net2280_start(struct usb_gadget_driver *driver, * (dev->usb->xcvrdiag & FORCE_FULL_SPEED_MODE) * "must not be used in normal operation" */ if (!driver || driver->speed != USB_SPEED_HIGH || !bind || !driver->setup) if (!driver || driver->speed != USB_SPEED_HIGH || !driver->setup) return -EINVAL; if (!dev) return -ENODEV; if (dev->driver) return -EBUSY; dev = container_of (_gadget, struct net2280, gadget); for (i = 0; i < 7; i++) dev->ep [i].irqs = 0; Loading @@ -1899,14 +1895,6 @@ static int net2280_start(struct usb_gadget_driver *driver, driver->driver.bus = NULL; dev->driver = driver; dev->gadget.dev.driver = &driver->driver; retval = bind(&dev->gadget); if (retval) { DEBUG (dev, "bind to driver %s --> %d\n", driver->driver.name, retval); dev->driver = NULL; dev->gadget.dev.driver = NULL; return retval; } retval = device_create_file (&dev->pdev->dev, &dev_attr_function); if (retval) goto err_unbind; Loading Loading @@ -1952,33 +1940,21 @@ stop_activity (struct net2280 *dev, struct usb_gadget_driver *driver) for (i = 0; i < 7; i++) nuke (&dev->ep [i]); /* report disconnect; the driver is already quiesced */ if (driver) { spin_unlock (&dev->lock); driver->disconnect (&dev->gadget); spin_lock (&dev->lock); } usb_reinit (dev); } static int net2280_stop(struct usb_gadget_driver *driver) static int net2280_stop(struct usb_gadget *_gadget, struct usb_gadget_driver *driver) { struct net2280 *dev = the_controller; struct net2280 *dev; unsigned long flags; if (!dev) return -ENODEV; if (!driver || driver != dev->driver || !driver->unbind) return -EINVAL; dev = container_of (_gadget, struct net2280, gadget); spin_lock_irqsave (&dev->lock, flags); stop_activity (dev, driver); spin_unlock_irqrestore (&dev->lock, flags); net2280_pullup (&dev->gadget, 0); driver->unbind (&dev->gadget); dev->gadget.dev.driver = NULL; dev->driver = NULL; Loading Loading @@ -2698,8 +2674,6 @@ static void net2280_remove (struct pci_dev *pdev) pci_set_drvdata (pdev, NULL); INFO (dev, "unbind\n"); the_controller = NULL; } /* wrap this driver around the specified device, but Loading @@ -2713,14 +2687,6 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id) void __iomem *base = NULL; int retval, i; /* if you want to support more than one controller in a system, * usb_gadget_driver_{register,unregister}() must change. */ if (the_controller) { dev_warn (&pdev->dev, "ignoring\n"); return -EBUSY; } /* alloc, and start init */ dev = kzalloc (sizeof *dev, GFP_KERNEL); if (dev == NULL){ Loading Loading @@ -2847,8 +2813,6 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id) use_dma ? (use_dma_chaining ? "chaining" : "enabled") : "disabled"); the_controller = dev; retval = device_register (&dev->gadget.dev); if (retval) goto done; retval = device_create_file (&pdev->dev, &dev_attr_registers); Loading Loading
drivers/usb/gadget/net2280.c +17 −53 Original line number Diff line number Diff line Loading @@ -1401,17 +1401,18 @@ static int net2280_pullup(struct usb_gadget *_gadget, int is_on) return 0; } static int net2280_start(struct usb_gadget_driver *driver, int (*bind)(struct usb_gadget *)); static int net2280_stop(struct usb_gadget_driver *driver); static int net2280_start(struct usb_gadget *_gadget, struct usb_gadget_driver *driver); static int net2280_stop(struct usb_gadget *_gadget, struct usb_gadget_driver *driver); static const struct usb_gadget_ops net2280_ops = { .get_frame = net2280_get_frame, .wakeup = net2280_wakeup, .set_selfpowered = net2280_set_selfpowered, .pullup = net2280_pullup, .start = net2280_start, .stop = net2280_stop, .udc_start = net2280_start, .udc_stop = net2280_stop, }; /*-------------------------------------------------------------------------*/ Loading Loading @@ -1744,8 +1745,6 @@ static void set_fifo_mode (struct net2280 *dev, int mode) * perhaps to bind specific drivers to specific devices. */ static struct net2280 *the_controller; static void usb_reset (struct net2280 *dev) { u32 tmp; Loading Loading @@ -1871,10 +1870,10 @@ static void ep0_start (struct net2280 *dev) * disconnect is reported. then a host may connect again, or * the driver might get unbound. */ static int net2280_start(struct usb_gadget_driver *driver, int (*bind)(struct usb_gadget *)) static int net2280_start(struct usb_gadget *_gadget, struct usb_gadget_driver *driver) { struct net2280 *dev = the_controller; struct net2280 *dev; int retval; unsigned i; Loading @@ -1882,14 +1881,11 @@ static int net2280_start(struct usb_gadget_driver *driver, * (dev->usb->xcvrdiag & FORCE_FULL_SPEED_MODE) * "must not be used in normal operation" */ if (!driver || driver->speed != USB_SPEED_HIGH || !bind || !driver->setup) if (!driver || driver->speed != USB_SPEED_HIGH || !driver->setup) return -EINVAL; if (!dev) return -ENODEV; if (dev->driver) return -EBUSY; dev = container_of (_gadget, struct net2280, gadget); for (i = 0; i < 7; i++) dev->ep [i].irqs = 0; Loading @@ -1899,14 +1895,6 @@ static int net2280_start(struct usb_gadget_driver *driver, driver->driver.bus = NULL; dev->driver = driver; dev->gadget.dev.driver = &driver->driver; retval = bind(&dev->gadget); if (retval) { DEBUG (dev, "bind to driver %s --> %d\n", driver->driver.name, retval); dev->driver = NULL; dev->gadget.dev.driver = NULL; return retval; } retval = device_create_file (&dev->pdev->dev, &dev_attr_function); if (retval) goto err_unbind; Loading Loading @@ -1952,33 +1940,21 @@ stop_activity (struct net2280 *dev, struct usb_gadget_driver *driver) for (i = 0; i < 7; i++) nuke (&dev->ep [i]); /* report disconnect; the driver is already quiesced */ if (driver) { spin_unlock (&dev->lock); driver->disconnect (&dev->gadget); spin_lock (&dev->lock); } usb_reinit (dev); } static int net2280_stop(struct usb_gadget_driver *driver) static int net2280_stop(struct usb_gadget *_gadget, struct usb_gadget_driver *driver) { struct net2280 *dev = the_controller; struct net2280 *dev; unsigned long flags; if (!dev) return -ENODEV; if (!driver || driver != dev->driver || !driver->unbind) return -EINVAL; dev = container_of (_gadget, struct net2280, gadget); spin_lock_irqsave (&dev->lock, flags); stop_activity (dev, driver); spin_unlock_irqrestore (&dev->lock, flags); net2280_pullup (&dev->gadget, 0); driver->unbind (&dev->gadget); dev->gadget.dev.driver = NULL; dev->driver = NULL; Loading Loading @@ -2698,8 +2674,6 @@ static void net2280_remove (struct pci_dev *pdev) pci_set_drvdata (pdev, NULL); INFO (dev, "unbind\n"); the_controller = NULL; } /* wrap this driver around the specified device, but Loading @@ -2713,14 +2687,6 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id) void __iomem *base = NULL; int retval, i; /* if you want to support more than one controller in a system, * usb_gadget_driver_{register,unregister}() must change. */ if (the_controller) { dev_warn (&pdev->dev, "ignoring\n"); return -EBUSY; } /* alloc, and start init */ dev = kzalloc (sizeof *dev, GFP_KERNEL); if (dev == NULL){ Loading Loading @@ -2847,8 +2813,6 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id) use_dma ? (use_dma_chaining ? "chaining" : "enabled") : "disabled"); the_controller = dev; retval = device_register (&dev->gadget.dev); if (retval) goto done; retval = device_create_file (&pdev->dev, &dev_attr_registers); Loading