Merge branch 'fix/misc' into for-linus
[pandora-kernel.git] / drivers / usb / host / ehci-fsl.c
index 7370d61..9911749 100644 (file)
@@ -56,7 +56,7 @@ int usb_hcd_fsl_probe(const struct hc_driver *driver,
        pdata = (struct fsl_usb2_platform_data *)pdev->dev.platform_data;
        if (!pdata) {
                dev_err(&pdev->dev,
-                       "No platform data for %s.\n", pdev->dev.bus_id);
+                       "No platform data for %s.\n", dev_name(&pdev->dev));
                return -ENODEV;
        }
 
@@ -69,7 +69,7 @@ int usb_hcd_fsl_probe(const struct hc_driver *driver,
              (pdata->operating_mode == FSL_USB2_DR_OTG))) {
                dev_err(&pdev->dev,
                        "Non Host Mode configured for %s. Wrong driver linked.\n",
-                       pdev->dev.bus_id);
+                       dev_name(&pdev->dev));
                return -ENODEV;
        }
 
@@ -77,12 +77,12 @@ int usb_hcd_fsl_probe(const struct hc_driver *driver,
        if (!res) {
                dev_err(&pdev->dev,
                        "Found HC with no IRQ. Check %s setup!\n",
-                       pdev->dev.bus_id);
+                       dev_name(&pdev->dev));
                return -ENODEV;
        }
        irq = res->start;
 
-       hcd = usb_create_hcd(driver, &pdev->dev, pdev->dev.bus_id);
+       hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev));
        if (!hcd) {
                retval = -ENOMEM;
                goto err1;
@@ -92,7 +92,7 @@ int usb_hcd_fsl_probe(const struct hc_driver *driver,
        if (!res) {
                dev_err(&pdev->dev,
                        "Found HC with no register addr. Check %s setup!\n",
-                       pdev->dev.bus_id);
+                       dev_name(&pdev->dev));
                retval = -ENODEV;
                goto err2;
        }
@@ -132,7 +132,7 @@ int usb_hcd_fsl_probe(const struct hc_driver *driver,
       err2:
        usb_put_hcd(hcd);
       err1:
-       dev_err(&pdev->dev, "init %s fail, %d\n", pdev->dev.bus_id, retval);
+       dev_err(&pdev->dev, "init %s fail, %d\n", dev_name(&pdev->dev), retval);
        return retval;
 }
 
@@ -230,8 +230,13 @@ static void mpc83xx_usb_setup(struct usb_hcd *hcd)
 
        /* put controller in host mode. */
        ehci_writel(ehci, 0x00000003, non_ehci + FSL_SOC_USB_USBMODE);
+#ifdef CONFIG_PPC_85xx
+       out_be32(non_ehci + FSL_SOC_USB_PRICTRL, 0x00000008);
+       out_be32(non_ehci + FSL_SOC_USB_AGECNTTHRSH, 0x00000080);
+#else
        out_be32(non_ehci + FSL_SOC_USB_PRICTRL, 0x0000000c);
        out_be32(non_ehci + FSL_SOC_USB_AGECNTTHRSH, 0x00000040);
+#endif
        out_be32(non_ehci + FSL_SOC_USB_SICTRL, 0x00000001);
 }
 
@@ -304,6 +309,7 @@ static const struct hc_driver ehci_fsl_hc_driver = {
        .urb_enqueue = ehci_urb_enqueue,
        .urb_dequeue = ehci_urb_dequeue,
        .endpoint_disable = ehci_endpoint_disable,
+       .endpoint_reset = ehci_endpoint_reset,
 
        /*
         * scheduling support
@@ -319,6 +325,8 @@ static const struct hc_driver ehci_fsl_hc_driver = {
        .bus_resume = ehci_bus_resume,
        .relinquish_port = ehci_relinquish_port,
        .port_handed_over = ehci_port_handed_over,
+
+       .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete,
 };
 
 static int ehci_fsl_drv_probe(struct platform_device *pdev)