diff options
author | Tuomas Tynkkynen <ttynkkynen@nvidia.com> | 2013-07-25 22:38:05 +0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-07-29 14:58:24 +0400 |
commit | 0ee5b4ab79b6be1400f3fa47142e927ddc33a5bd (patch) | |
tree | 431a67377d911fd6017a5dbc3b0834bc529c2f7a /drivers/usb | |
parent | 5fed6828318119656e243c4f0a11955cefc8eebd (diff) | |
download | linux-0ee5b4ab79b6be1400f3fa47142e927ddc33a5bd.tar.xz |
usb: phy: tegra: Register as an USB PHY.
Register the Tegra PHY device instances with the PHY subsystem so that
the Tegra EHCI driver can locate a PHY via the standard APIs.
Signed-off-by: Tuomas Tynkkynen <ttynkkynen@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/phy/phy-tegra-usb.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/usb/phy/phy-tegra-usb.c b/drivers/usb/phy/phy-tegra-usb.c index 311fe03f16e1..441c306c050f 100644 --- a/drivers/usb/phy/phy-tegra-usb.c +++ b/drivers/usb/phy/phy-tegra-usb.c @@ -932,6 +932,22 @@ static int tegra_usb_phy_probe(struct platform_device *pdev) tegra_phy->u_phy.set_suspend = tegra_usb_phy_suspend; dev_set_drvdata(&pdev->dev, tegra_phy); + + err = usb_add_phy_dev(&tegra_phy->u_phy); + if (err < 0) { + tegra_usb_phy_close(&tegra_phy->u_phy); + return err; + } + + return 0; +} + +static int tegra_usb_phy_remove(struct platform_device *pdev) +{ + struct tegra_usb_phy *tegra_phy = platform_get_drvdata(pdev); + + usb_remove_phy(&tegra_phy->u_phy); + return 0; } @@ -943,6 +959,7 @@ MODULE_DEVICE_TABLE(of, tegra_usb_phy_id_table); static struct platform_driver tegra_usb_phy_driver = { .probe = tegra_usb_phy_probe, + .remove = tegra_usb_phy_remove, .driver = { .name = "tegra-phy", .owner = THIS_MODULE, |