summaryrefslogtreecommitdiffstats
path: root/drivers/phy
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2017-02-13 09:26:04 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2017-02-13 09:26:04 +0100
commit30139163b75970fcd58df6b6b987883e36571046 (patch)
tree00bd354cefa617f8474cc73994b1a72c11e770a0 /drivers/phy
parentbb1a6a2fd3cc41be6db1a1362f311456019317b1 (diff)
parent19df384cec181be4407f82377ffbb3059b1ed748 (diff)
downloadbarebox-30139163b75970fcd58df6b6b987883e36571046.tar.gz
Merge branch 'for-next/imx'
Diffstat (limited to 'drivers/phy')
-rw-r--r--drivers/phy/usb-nop-xceiv.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/drivers/phy/usb-nop-xceiv.c b/drivers/phy/usb-nop-xceiv.c
index 606e098..d403fe4 100644
--- a/drivers/phy/usb-nop-xceiv.c
+++ b/drivers/phy/usb-nop-xceiv.c
@@ -27,6 +27,7 @@ struct nop_usbphy {
struct usb_phy usb_phy;
struct phy *phy;
struct phy_provider *provider;
+ struct clk *clk;
};
static struct phy *nop_usbphy_xlate(struct device_d *dev,
@@ -37,6 +38,13 @@ static struct phy *nop_usbphy_xlate(struct device_d *dev,
return nopphy->phy;
}
+static int nop_usbphy_init(struct phy *phy)
+{
+ struct nop_usbphy *nopphy = phy_get_drvdata(phy);
+
+ return clk_enable(nopphy->clk);
+}
+
static struct usb_phy *nop_usbphy_to_usbphy(struct phy *phy)
{
struct nop_usbphy *nopphy = phy_get_drvdata(phy);
@@ -46,6 +54,7 @@ static struct usb_phy *nop_usbphy_to_usbphy(struct phy *phy)
static const struct phy_ops nop_phy_ops = {
.to_usbphy = nop_usbphy_to_usbphy,
+ .init = nop_usbphy_init,
};
static int nop_usbphy_probe(struct device_d *dev)
@@ -57,7 +66,10 @@ static int nop_usbphy_probe(struct device_d *dev)
dev->priv = nopphy;
- /* FIXME: Add clk support */
+ nopphy->clk = clk_get(dev, "main_clk");
+ if (IS_ERR(nopphy->clk))
+ nopphy->clk = NULL;
+
/* FIXME: Add vbus regulator support */
/* FIXME: Add vbus-detect-gpio support */
@@ -97,8 +109,8 @@ static struct driver_d nop_usbphy_driver = {
.of_compatible = DRV_OF_COMPAT(nop_usbphy_dt_ids),
};
-static int nop_usbphy_init(void)
+static int nop_usbphy_driver_init(void)
{
return platform_driver_register(&nop_usbphy_driver);
}
-fs_initcall(nop_usbphy_init);
+fs_initcall(nop_usbphy_driver_init);