|
@@ -1744,62 +1744,6 @@ static void set_fifo_mode (struct net2280 *dev, int mode)
|
|
|
list_add_tail (&dev->ep [6].ep.ep_list, &dev->gadget.ep_list);
|
|
|
}
|
|
|
|
|
|
-/* just declare this in any driver that really need it */
|
|
|
-extern int net2280_set_fifo_mode (struct usb_gadget *gadget, int mode);
|
|
|
-
|
|
|
-/**
|
|
|
- * net2280_set_fifo_mode - change allocation of fifo buffers
|
|
|
- * @gadget: access to the net2280 device that will be updated
|
|
|
- * @mode: 0 for default, four 1kB buffers (ep-a through ep-d);
|
|
|
- * 1 for two 2kB buffers (ep-a and ep-b only);
|
|
|
- * 2 for one 2kB buffer (ep-a) and two 1kB ones (ep-b, ep-c).
|
|
|
- *
|
|
|
- * returns zero on success, else negative errno. when this succeeds,
|
|
|
- * the contents of gadget->ep_list may have changed.
|
|
|
- *
|
|
|
- * you may only call this function when endpoints a-d are all disabled.
|
|
|
- * use it whenever extra hardware buffering can help performance, such
|
|
|
- * as before enabling "high bandwidth" interrupt endpoints that use
|
|
|
- * maxpacket bigger than 512 (when double buffering would otherwise
|
|
|
- * be unavailable).
|
|
|
- */
|
|
|
-int net2280_set_fifo_mode (struct usb_gadget *gadget, int mode)
|
|
|
-{
|
|
|
- int i;
|
|
|
- struct net2280 *dev;
|
|
|
- int status = 0;
|
|
|
- unsigned long flags;
|
|
|
-
|
|
|
- if (!gadget)
|
|
|
- return -ENODEV;
|
|
|
- dev = container_of (gadget, struct net2280, gadget);
|
|
|
-
|
|
|
- spin_lock_irqsave (&dev->lock, flags);
|
|
|
-
|
|
|
- for (i = 1; i <= 4; i++)
|
|
|
- if (dev->ep [i].desc) {
|
|
|
- status = -EINVAL;
|
|
|
- break;
|
|
|
- }
|
|
|
- if (mode < 0 || mode > 2)
|
|
|
- status = -EINVAL;
|
|
|
- if (status == 0)
|
|
|
- set_fifo_mode (dev, mode);
|
|
|
- spin_unlock_irqrestore (&dev->lock, flags);
|
|
|
-
|
|
|
- if (status == 0) {
|
|
|
- if (mode == 1)
|
|
|
- DEBUG (dev, "fifo: ep-a 2K, ep-b 2K\n");
|
|
|
- else if (mode == 2)
|
|
|
- DEBUG (dev, "fifo: ep-a 2K, ep-b 1K, ep-c 1K\n");
|
|
|
- /* else all are 1K */
|
|
|
- }
|
|
|
- return status;
|
|
|
-}
|
|
|
-EXPORT_SYMBOL (net2280_set_fifo_mode);
|
|
|
-
|
|
|
-/*-------------------------------------------------------------------------*/
|
|
|
-
|
|
|
/* keeping it simple:
|
|
|
* - one bus driver, initted first;
|
|
|
* - one function driver, initted second
|