lkml.org 
[lkml]   [2022]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 08/22] phy: qcom-qmp-combo: separate USB and DP init ops
    Date
    Separate the USB and DP init and exit operations by calling the common
    initialisation code directly from the USB operation and adding a "dp"
    infix to the DP callbacks.

    Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
    ---
    drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 36 ++++++++++++-----------
    1 file changed, 19 insertions(+), 17 deletions(-)

    diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
    index ae04f6219fd2..5d985195df38 100644
    --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
    +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
    @@ -1964,7 +1964,7 @@ static int qmp_combo_com_exit(struct qmp_phy *qphy)
    return 0;
    }

    -static int qmp_combo_init(struct phy *phy)
    +static int qmp_combo_dp_init(struct phy *phy)
    {
    struct qmp_phy *qphy = phy_get_drvdata(phy);
    const struct qmp_phy_cfg *cfg = qphy->cfg;
    @@ -1974,8 +1974,16 @@ static int qmp_combo_init(struct phy *phy)
    if (ret)
    return ret;

    - if (cfg->type == PHY_TYPE_DP)
    - cfg->dp_aux_init(qphy);
    + cfg->dp_aux_init(qphy);
    +
    + return 0;
    +}
    +
    +static int qmp_combo_dp_exit(struct phy *phy)
    +{
    + struct qmp_phy *qphy = phy_get_drvdata(phy);
    +
    + qmp_combo_com_exit(qphy);

    return 0;
    }
    @@ -2073,38 +2081,32 @@ static int qmp_combo_power_off(struct phy *phy)
    return 0;
    }

    -static int qmp_combo_exit(struct phy *phy)
    -{
    - struct qmp_phy *qphy = phy_get_drvdata(phy);
    -
    - qmp_combo_com_exit(qphy);
    -
    - return 0;
    -}
    -
    static int qmp_combo_usb_init(struct phy *phy)
    {
    + struct qmp_phy *qphy = phy_get_drvdata(phy);
    int ret;

    - ret = qmp_combo_init(phy);
    + ret = qmp_combo_com_init(qphy);
    if (ret)
    return ret;

    ret = qmp_combo_power_on(phy);
    if (ret)
    - qmp_combo_exit(phy);
    + qmp_combo_com_exit(qphy);

    return ret;
    }

    static int qmp_combo_usb_exit(struct phy *phy)
    {
    + struct qmp_phy *qphy = phy_get_drvdata(phy);
    int ret;

    ret = qmp_combo_power_off(phy);
    if (ret)
    return ret;
    - return qmp_combo_exit(phy);
    +
    + return qmp_combo_com_exit(qphy);
    }

    static int qmp_combo_usb_set_mode(struct phy *phy, enum phy_mode mode, int submode)
    @@ -2124,12 +2126,12 @@ static const struct phy_ops qmp_combo_usb_phy_ops = {
    };

    static const struct phy_ops qmp_combo_dp_phy_ops = {
    - .init = qmp_combo_init,
    + .init = qmp_combo_dp_init,
    .configure = qcom_qmp_dp_phy_configure,
    .power_on = qmp_combo_power_on,
    .calibrate = qcom_qmp_dp_phy_calibrate,
    .power_off = qmp_combo_power_off,
    - .exit = qmp_combo_exit,
    + .exit = qmp_combo_dp_exit,
    .owner = THIS_MODULE,
    };

    --
    2.37.4
    \
     
     \ /
      Last update: 2022-11-11 09:58    [W:3.934 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site