diff options
author | Kishon Vijay Abraham I <kishon@ti.com> | 2012-06-22 17:02:46 +0530 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2012-06-25 14:05:35 +0300 |
commit | 662dca54ca67c92b7aa14b9a2ec54acacf33ce45 (patch) | |
tree | 80c77434b1c4d33ce4e7db56f284c9ae65e16a8d /drivers/usb/otg/mv_otg.c | |
parent | 721002ec1dd55a52425455826af49cf8853b2d4f (diff) | |
download | op-kernel-dev-662dca54ca67c92b7aa14b9a2ec54acacf33ce45.zip op-kernel-dev-662dca54ca67c92b7aa14b9a2ec54acacf33ce45.tar.gz |
usb: otg: support for multiple transceivers by a single controller
Add a linked list for keeping multiple PHY instances with different
types so that we can have separate USB2 and USB3 PHYs on one single
board. _get_phy_ has been changed so that the controller gets
the transceiver by type. _remove_phy_ has been added to let the phy
be removed from the phy list.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/otg/mv_otg.c')
-rw-r--r-- | drivers/usb/otg/mv_otg.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/usb/otg/mv_otg.c b/drivers/usb/otg/mv_otg.c index 18e90fe..3f124e8 100644 --- a/drivers/usb/otg/mv_otg.c +++ b/drivers/usb/otg/mv_otg.c @@ -690,7 +690,7 @@ int mv_otg_remove(struct platform_device *pdev) for (clk_i = 0; clk_i <= mvotg->clknum; clk_i++) clk_put(mvotg->clk[clk_i]); - usb_add_phy(NULL); + usb_remove_phy(&mvotg->phy); platform_set_drvdata(pdev, NULL); kfree(mvotg->phy.otg); @@ -853,7 +853,7 @@ static int mv_otg_probe(struct platform_device *pdev) goto err_disable_clk; } - retval = usb_add_phy(&mvotg->phy); + retval = usb_add_phy(&mvotg->phy, USB_PHY_TYPE_USB2); if (retval < 0) { dev_err(&pdev->dev, "can't register transceiver, %d\n", retval); @@ -880,7 +880,7 @@ static int mv_otg_probe(struct platform_device *pdev) return 0; err_set_transceiver: - usb_add_phy(NULL); + usb_remove_phy(&mvotg->phy); err_free_irq: free_irq(mvotg->irq, mvotg); err_disable_clk: |