|
@@ -322,33 +322,6 @@ static void tegra_ehci_unmap_urb_for_dma(struct usb_hcd *hcd, struct urb *urb)
|
|
|
free_dma_aligned_buffer(urb);
|
|
|
}
|
|
|
|
|
|
-static int setup_vbus_gpio(struct platform_device *pdev,
|
|
|
- struct tegra_ehci_platform_data *pdata)
|
|
|
-{
|
|
|
- int err = 0;
|
|
|
- int gpio;
|
|
|
-
|
|
|
- gpio = pdata->vbus_gpio;
|
|
|
- if (!gpio_is_valid(gpio))
|
|
|
- gpio = of_get_named_gpio(pdev->dev.of_node,
|
|
|
- "nvidia,vbus-gpio", 0);
|
|
|
- if (!gpio_is_valid(gpio))
|
|
|
- return 0;
|
|
|
-
|
|
|
- err = gpio_request(gpio, "vbus_gpio");
|
|
|
- if (err) {
|
|
|
- dev_err(&pdev->dev, "can't request vbus gpio %d", gpio);
|
|
|
- return err;
|
|
|
- }
|
|
|
- err = gpio_direction_output(gpio, 1);
|
|
|
- if (err) {
|
|
|
- dev_err(&pdev->dev, "can't enable vbus\n");
|
|
|
- return err;
|
|
|
- }
|
|
|
-
|
|
|
- return err;
|
|
|
-}
|
|
|
-
|
|
|
static int tegra_ehci_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
struct resource *res;
|
|
@@ -376,14 +349,11 @@ static int tegra_ehci_probe(struct platform_device *pdev)
|
|
|
if (!pdev->dev.coherent_dma_mask)
|
|
|
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
|
|
|
|
|
- setup_vbus_gpio(pdev, pdata);
|
|
|
-
|
|
|
hcd = usb_create_hcd(&tegra_ehci_hc_driver, &pdev->dev,
|
|
|
dev_name(&pdev->dev));
|
|
|
if (!hcd) {
|
|
|
dev_err(&pdev->dev, "Unable to create HCD\n");
|
|
|
- err = -ENOMEM;
|
|
|
- goto cleanup_vbus_gpio;
|
|
|
+ return -ENOMEM;
|
|
|
}
|
|
|
platform_set_drvdata(pdev, hcd);
|
|
|
ehci = hcd_to_ehci(hcd);
|
|
@@ -494,8 +464,6 @@ cleanup_clk_get:
|
|
|
clk_put(tegra->clk);
|
|
|
cleanup_hcd_create:
|
|
|
usb_put_hcd(hcd);
|
|
|
-cleanup_vbus_gpio:
|
|
|
- /* FIXME: Undo setup_vbus_gpio() here */
|
|
|
return err;
|
|
|
}
|
|
|
|