Commit 8c75d9ea authored by Johan Hovold's avatar Johan Hovold Committed by Vinod Koul

phy: qcom-qmp-combo: separate USB and DP init ops

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.
Reviewed-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: default avatarJohan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20221114110621.4639-9-johan+linaro@kernel.orgSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 0537692b
......@@ -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,
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment