]> err.no Git - linux-2.6/blobdiff - drivers/usb/gadget/fsl_usb2_udc.c
Merge git://git.infradead.org/~dwmw2/random-2.6
[linux-2.6] / drivers / usb / gadget / fsl_usb2_udc.c
index 9bb7f64a85cdb9b0e5041f00162b3f89d0b957dd..1cfccf102a2dc9fdc9948daf4aadaf5a32c793cf 100644 (file)
@@ -773,11 +773,11 @@ fsl_ep_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
        /* catch various bogus parameters */
        if (!_req || !req->req.complete || !req->req.buf
                        || !list_empty(&req->queue)) {
-               VDBG("%s, bad params\n", __FUNCTION__);
+               VDBG("%s, bad params\n", __func__);
                return -EINVAL;
        }
-       if (!_ep || (!ep->desc && ep_index(ep))) {
-               VDBG("%s, bad ep\n", __FUNCTION__);
+       if (unlikely(!_ep || !ep->desc)) {
+               VDBG("%s, bad ep\n", __func__);
                return -EINVAL;
        }
        if (ep->desc->bmAttributes == USB_ENDPOINT_XFER_ISOC) {
@@ -1318,7 +1318,7 @@ static void setup_received_irq(struct fsl_udc *udc,
                                | USB_TYPE_STANDARD)) {
                        /* Note: The driver has not include OTG support yet.
                         * This will be set when OTG support is added */
-                       if (!gadget_is_otg(udc->gadget))
+                       if (!gadget_is_otg(&udc->gadget))
                                break;
                        else if (setup->bRequest == USB_DEVICE_B_HNP_ENABLE)
                                udc->gadget.b_hnp_enable = 1;
@@ -1538,7 +1538,7 @@ static void dtd_complete_irq(struct fsl_udc *udc)
 
                /* If the ep is configured */
                if (curr_ep->name == NULL) {
-                       WARN("Invalid EP?");
+                       WARNING("Invalid EP?");
                        continue;
                }
 
@@ -1627,7 +1627,9 @@ static int reset_queues(struct fsl_udc *udc)
                udc_reset_ep_queue(udc, pipe);
 
        /* report disconnect; the driver is already quiesced */
+       spin_unlock(&udc->lock);
        udc->driver->disconnect(&udc->gadget);
+       spin_lock(&udc->lock);
 
        return 0;
 }
@@ -1896,7 +1898,7 @@ static int fsl_proc_read(char *page, char **start, off_t off, int count,
 
        spin_lock_irqsave(&udc->lock, flags);
 
-       /* ------basic driver infomation ---- */
+       /* ------basic driver information ---- */
        t = scnprintf(next, size,
                        DRIVER_DESC "\n"
                        "%s version: %s\n"
@@ -2329,7 +2331,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev)
        udc_controller->gadget.name = driver_name;
 
        /* Setup gadget.dev and register with kernel */
-       strcpy(udc_controller->gadget.dev.bus_id, "gadget");
+       dev_set_name(&udc_controller->gadget.dev, "gadget");
        udc_controller->gadget.dev.release = fsl_udc_release;
        udc_controller->gadget.dev.parent = &pdev->dev;
        ret = device_register(&udc_controller->gadget.dev);
@@ -2475,3 +2477,4 @@ module_exit(udc_exit);
 MODULE_DESCRIPTION(DRIVER_DESC);
 MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:fsl-usb2-udc");