@@ -164,6 +164,15 @@ static int phy_meson8b_usb2_init(struct phy *phy)
return 0;
}
+static int phy_meson8b_usb2_exit(struct phy *phy)
+{
+ struct phy_meson8b_usb2_priv *priv = phy_get_drvdata(phy);
+
+ clk_bulk_disable_unprepare(priv->num_clks, priv->clks);
+
+ return 0;
+}
+
static int phy_meson8b_usb2_power_on(struct phy *phy)
{
struct phy_meson8b_usb2_priv *priv = phy_get_drvdata(phy);
@@ -220,13 +229,13 @@ static int phy_meson8b_usb2_power_off(struct phy *phy)
REG_DBG_UART_SET_IDDQ,
REG_DBG_UART_SET_IDDQ);
- clk_bulk_disable_unprepare(priv->num_clks, priv->clks);
return 0;
}
static const struct phy_ops phy_meson8b_usb2_ops = {
.init = phy_meson8b_usb2_init,
+ .exit = phy_meson8b_usb2_exit,
.power_on = phy_meson8b_usb2_power_on,
.power_off = phy_meson8b_usb2_power_off,
.owner = THIS_MODULE,
Reorder the code for phy bulkclk disable in .exit callback function. Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Anand Moon <linux.amoon@gmail.com> --- drivers/phy/amlogic/phy-meson8b-usb2.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)