diff options
Diffstat (limited to 'drivers/usb/phy/phy-tegra-usb.c')
-rw-r--r-- | drivers/usb/phy/phy-tegra-usb.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/drivers/usb/phy/phy-tegra-usb.c b/drivers/usb/phy/phy-tegra-usb.c index d92a63a5b0c9..311fe03f16e1 100644 --- a/drivers/usb/phy/phy-tegra-usb.c +++ b/drivers/usb/phy/phy-tegra-usb.c | |||
@@ -211,7 +211,7 @@ static void set_phcd(struct tegra_usb_phy *phy, bool enable) | |||
211 | 211 | ||
212 | static int utmip_pad_open(struct tegra_usb_phy *phy) | 212 | static int utmip_pad_open(struct tegra_usb_phy *phy) |
213 | { | 213 | { |
214 | phy->pad_clk = devm_clk_get(phy->dev, "utmi-pads"); | 214 | phy->pad_clk = devm_clk_get(phy->u_phy.dev, "utmi-pads"); |
215 | if (IS_ERR(phy->pad_clk)) { | 215 | if (IS_ERR(phy->pad_clk)) { |
216 | pr_err("%s: can't get utmip pad clock\n", __func__); | 216 | pr_err("%s: can't get utmip pad clock\n", __func__); |
217 | return PTR_ERR(phy->pad_clk); | 217 | return PTR_ERR(phy->pad_clk); |
@@ -540,13 +540,15 @@ static int ulpi_phy_power_on(struct tegra_usb_phy *phy) | |||
540 | 540 | ||
541 | ret = gpio_direction_output(phy->reset_gpio, 0); | 541 | ret = gpio_direction_output(phy->reset_gpio, 0); |
542 | if (ret < 0) { | 542 | if (ret < 0) { |
543 | dev_err(phy->dev, "gpio %d not set to 0\n", phy->reset_gpio); | 543 | dev_err(phy->u_phy.dev, "gpio %d not set to 0\n", |
544 | phy->reset_gpio); | ||
544 | return ret; | 545 | return ret; |
545 | } | 546 | } |
546 | msleep(5); | 547 | msleep(5); |
547 | ret = gpio_direction_output(phy->reset_gpio, 1); | 548 | ret = gpio_direction_output(phy->reset_gpio, 1); |
548 | if (ret < 0) { | 549 | if (ret < 0) { |
549 | dev_err(phy->dev, "gpio %d not set to 1\n", phy->reset_gpio); | 550 | dev_err(phy->u_phy.dev, "gpio %d not set to 1\n", |
551 | phy->reset_gpio); | ||
550 | return ret; | 552 | return ret; |
551 | } | 553 | } |
552 | 554 | ||
@@ -649,29 +651,30 @@ static int ulpi_open(struct tegra_usb_phy *phy) | |||
649 | { | 651 | { |
650 | int err; | 652 | int err; |
651 | 653 | ||
652 | phy->clk = devm_clk_get(phy->dev, "ulpi-link"); | 654 | phy->clk = devm_clk_get(phy->u_phy.dev, "ulpi-link"); |
653 | if (IS_ERR(phy->clk)) { | 655 | if (IS_ERR(phy->clk)) { |
654 | pr_err("%s: can't get ulpi clock\n", __func__); | 656 | pr_err("%s: can't get ulpi clock\n", __func__); |
655 | return PTR_ERR(phy->clk); | 657 | return PTR_ERR(phy->clk); |
656 | } | 658 | } |
657 | 659 | ||
658 | err = devm_gpio_request(phy->dev, phy->reset_gpio, "ulpi_phy_reset_b"); | 660 | err = devm_gpio_request(phy->u_phy.dev, phy->reset_gpio, |
661 | "ulpi_phy_reset_b"); | ||
659 | if (err < 0) { | 662 | if (err < 0) { |
660 | dev_err(phy->dev, "request failed for gpio: %d\n", | 663 | dev_err(phy->u_phy.dev, "request failed for gpio: %d\n", |
661 | phy->reset_gpio); | 664 | phy->reset_gpio); |
662 | return err; | 665 | return err; |
663 | } | 666 | } |
664 | 667 | ||
665 | err = gpio_direction_output(phy->reset_gpio, 0); | 668 | err = gpio_direction_output(phy->reset_gpio, 0); |
666 | if (err < 0) { | 669 | if (err < 0) { |
667 | dev_err(phy->dev, "gpio %d direction not set to output\n", | 670 | dev_err(phy->u_phy.dev, "gpio %d direction not set to output\n", |
668 | phy->reset_gpio); | 671 | phy->reset_gpio); |
669 | return err; | 672 | return err; |
670 | } | 673 | } |
671 | 674 | ||
672 | phy->ulpi = otg_ulpi_create(&ulpi_viewport_access_ops, 0); | 675 | phy->ulpi = otg_ulpi_create(&ulpi_viewport_access_ops, 0); |
673 | if (!phy->ulpi) { | 676 | if (!phy->ulpi) { |
674 | dev_err(phy->dev, "otg_ulpi_create returned NULL\n"); | 677 | dev_err(phy->u_phy.dev, "otg_ulpi_create returned NULL\n"); |
675 | err = -ENOMEM; | 678 | err = -ENOMEM; |
676 | return err; | 679 | return err; |
677 | } | 680 | } |
@@ -686,7 +689,7 @@ static int tegra_usb_phy_init(struct tegra_usb_phy *phy) | |||
686 | int i; | 689 | int i; |
687 | int err; | 690 | int err; |
688 | 691 | ||
689 | phy->pll_u = devm_clk_get(phy->dev, "pll_u"); | 692 | phy->pll_u = devm_clk_get(phy->u_phy.dev, "pll_u"); |
690 | if (IS_ERR(phy->pll_u)) { | 693 | if (IS_ERR(phy->pll_u)) { |
691 | pr_err("Can't get pll_u clock\n"); | 694 | pr_err("Can't get pll_u clock\n"); |
692 | return PTR_ERR(phy->pll_u); | 695 | return PTR_ERR(phy->pll_u); |
@@ -712,7 +715,7 @@ static int tegra_usb_phy_init(struct tegra_usb_phy *phy) | |||
712 | if (!IS_ERR(phy->vbus)) { | 715 | if (!IS_ERR(phy->vbus)) { |
713 | err = regulator_enable(phy->vbus); | 716 | err = regulator_enable(phy->vbus); |
714 | if (err) { | 717 | if (err) { |
715 | dev_err(phy->dev, | 718 | dev_err(phy->u_phy.dev, |
716 | "failed to enable usb vbus regulator: %d\n", | 719 | "failed to enable usb vbus regulator: %d\n", |
717 | err); | 720 | err); |
718 | goto fail; | 721 | goto fail; |
@@ -920,7 +923,7 @@ static int tegra_usb_phy_probe(struct platform_device *pdev) | |||
920 | tegra_phy->vbus = ERR_PTR(-ENODEV); | 923 | tegra_phy->vbus = ERR_PTR(-ENODEV); |
921 | } | 924 | } |
922 | 925 | ||
923 | tegra_phy->dev = &pdev->dev; | 926 | tegra_phy->u_phy.dev = &pdev->dev; |
924 | err = tegra_usb_phy_init(tegra_phy); | 927 | err = tegra_usb_phy_init(tegra_phy); |
925 | if (err < 0) | 928 | if (err < 0) |
926 | return err; | 929 | return err; |
@@ -953,7 +956,7 @@ static int tegra_usb_phy_match(struct device *dev, void *data) | |||
953 | struct tegra_usb_phy *tegra_phy = dev_get_drvdata(dev); | 956 | struct tegra_usb_phy *tegra_phy = dev_get_drvdata(dev); |
954 | struct device_node *dn = data; | 957 | struct device_node *dn = data; |
955 | 958 | ||
956 | return (tegra_phy->dev->of_node == dn) ? 1 : 0; | 959 | return (tegra_phy->u_phy.dev->of_node == dn) ? 1 : 0; |
957 | } | 960 | } |
958 | 961 | ||
959 | struct usb_phy *tegra_usb_get_phy(struct device_node *dn) | 962 | struct usb_phy *tegra_usb_get_phy(struct device_node *dn) |