From: s.hauer@pengutronix.de (Sascha Hauer)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 9/9] USB chipidea i.MX: use devm_usb_get_phy_by_phandle to get phy
Date: Fri, 1 Feb 2013 08:52:12 +0100 [thread overview]
Message-ID: <1359705132-9434-10-git-send-email-s.hauer@pengutronix.de> (raw)
In-Reply-To: <1359705132-9434-1-git-send-email-s.hauer@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
drivers/usb/chipidea/ci13xxx_imx.c | 31 ++++++++++---------------------
1 file changed, 10 insertions(+), 21 deletions(-)
diff --git a/drivers/usb/chipidea/ci13xxx_imx.c b/drivers/usb/chipidea/ci13xxx_imx.c
index b598bb8f..1df4b41 100644
--- a/drivers/usb/chipidea/ci13xxx_imx.c
+++ b/drivers/usb/chipidea/ci13xxx_imx.c
@@ -30,7 +30,6 @@
((struct usb_phy *)platform_get_drvdata(pdev))
struct ci13xxx_imx_data {
- struct device_node *phy_np;
struct usb_phy *phy;
struct platform_device *ci_pdev;
struct clk *clk;
@@ -90,12 +89,12 @@ static int ci13xxx_imx_probe(struct platform_device *pdev)
{
struct ci13xxx_imx_data *data;
struct ci13xxx_platform_data *pdata;
- struct platform_device *plat_ci, *phy_pdev;
- struct device_node *phy_np;
+ struct platform_device *plat_ci;
struct resource *res;
struct regulator *reg_vbus;
struct pinctrl *pinctrl;
int ret;
+ struct usb_phy *phy;
if (of_find_property(pdev->dev.of_node, "fsl,usbmisc", NULL)
&& !usbmisc_ops)
@@ -147,18 +146,12 @@ static int ci13xxx_imx_probe(struct platform_device *pdev)
return ret;
}
- phy_np = of_parse_phandle(pdev->dev.of_node, "fsl,usbphy", 0);
- if (phy_np) {
- data->phy_np = phy_np;
- phy_pdev = of_find_device_by_node(phy_np);
- if (phy_pdev) {
- struct usb_phy *phy;
- phy = pdev_to_phy(phy_pdev);
- if (phy &&
- try_module_get(phy_pdev->dev.driver->owner)) {
- usb_phy_init(phy);
- data->phy = phy;
- }
+ phy = devm_usb_get_phy_by_phandle(&pdev->dev, "fsl,usbphy", 0);
+ if (!IS_ERR(phy)) {
+ ret = usb_phy_init(phy);
+ if (ret) {
+ dev_err(&pdev->dev, "unable to init phy: %d\n", ret);
+ goto err_clk;
}
}
@@ -170,7 +163,7 @@ static int ci13xxx_imx_probe(struct platform_device *pdev)
dev_err(&pdev->dev,
"Failed to enable vbus regulator, err=%d\n",
ret);
- goto put_np;
+ goto err_clk;
}
data->reg_vbus = reg_vbus;
} else {
@@ -222,9 +215,7 @@ static int ci13xxx_imx_probe(struct platform_device *pdev)
err:
if (reg_vbus)
regulator_disable(reg_vbus);
-put_np:
- if (phy_np)
- of_node_put(phy_np);
+err_clk:
clk_disable_unprepare(data->clk);
return ret;
}
@@ -244,8 +235,6 @@ static int ci13xxx_imx_remove(struct platform_device *pdev)
module_put(data->phy->dev->driver->owner);
}
- of_node_put(data->phy_np);
-
clk_disable_unprepare(data->clk);
platform_set_drvdata(pdev, NULL);
--
1.7.10.4
next prev parent reply other threads:[~2013-02-01 7:52 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-01 7:52 [PATCH v3] USB: add devicetree helpers for determining dr_mode and phy_type Sascha Hauer
2013-02-01 7:52 ` [PATCH 1/9] USB: move bulk of otg/otg.c to phy/phy.c Sascha Hauer
2013-02-01 7:52 ` [PATCH 2/9] USB: add devicetree helpers for determining dr_mode and phy_type Sascha Hauer
2013-02-01 7:52 ` [PATCH 3/9] USB: chipidea: ci13xxx-imx: create dynamic platformdata Sascha Hauer
2013-02-01 7:52 ` [PATCH 4/9] USB: chipidea: add PTW and PTS handling Sascha Hauer
2013-02-01 9:00 ` Michael Grzeschik
2013-02-01 12:50 ` Alexander Shishkin
2013-02-04 3:16 ` Peter Chen
2013-02-01 7:52 ` [PATCH 5/9] USB chipidea: introduce dual role mode pdata flags Sascha Hauer
2013-02-01 7:52 ` [PATCH 6/9] USB chipidea i.MX: introduce dr_mode property Sascha Hauer
2013-02-01 7:52 ` [PATCH 7/9] como fec wip Sascha Hauer
2013-02-01 7:52 ` [PATCH 8/9] USB mxs-phy: Register phy with framework Sascha Hauer
2013-02-01 7:52 ` Sascha Hauer [this message]
2013-02-01 17:53 ` [PATCH v3] USB: add devicetree helpers for determining dr_mode and phy_type Sascha Hauer
2013-02-02 14:54 ` Greg KH
-- strict thread matches above, loose matches on Subject: below --
2013-02-27 12:27 [PATCH v5 0/9] " Marc Kleine-Budde
2013-02-27 12:27 ` [PATCH 9/9] USB chipidea i.MX: use devm_usb_get_phy_by_phandle to get phy Marc Kleine-Budde
2013-02-04 13:24 [PATCH v4] USB: add devicetree helpers for determining dr_mode and phy_type Sascha Hauer
2013-02-04 13:24 ` [PATCH 9/9] USB chipidea i.MX: use devm_usb_get_phy_by_phandle to get phy Sascha Hauer
2013-02-05 11:45 ` Sergei Shtylyov
2013-02-05 11:58 ` Sascha Hauer
2013-02-01 7:48 [PATCH v3] USB: add devicetree helpers for determining dr_mode and phy_type Sascha Hauer
2013-02-01 7:48 ` [PATCH 9/9] USB chipidea i.MX: use devm_usb_get_phy_by_phandle to get phy Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1359705132-9434-10-git-send-email-s.hauer@pengutronix.de \
--to=s.hauer@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).