The patch at [1], which added another function just to have v4 vs v6 register address difference prompted me to take a look at the combo PHY driver. We already have mechanism, register layout descriptions, for coping with register address differences, which I ignored while adding v4 support. It looks like nowadays this has exploded somehow, resulting inseveral almost-identicatical functions. Forcibly use regs layout for all version-specific registers used in DP PHY programming. As a result, this allows us to drop several very similar functions. And also while doing this cleanup I spotted a typo, which resulted in a patch 1, fixing bias0_en programming for sc8280 and sm8550 PHYs. [1] https://lore.kernel.org/linux-arm-msm/20230601-topic-sm8550-upstream-dp-phy-init-fix-v1-1-4e9da9f97991@xxxxxxxxxx/ Dmitry Baryshkov (7): phy: qcom: qmp-combo: correct bias0_en programming phy: qcom: qmp-combo: reuse register layouts for more registers phy: qcom: qmp-combo: reuse register layouts for even more registers phy: qcom: qmp-combo: reuse register layouts for some more registers phy: qcom: qmp-combo: drop similar functions phy: qcom: qmp-combo: drop qmp_v6_dp_aux_init() phy: qcom: qmp-combo: extract common function to setup clocks drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 408 +++++++----------- .../qualcomm/phy-qcom-qmp-qserdes-txrx-v6.h | 5 + drivers/phy/qualcomm/phy-qcom-qmp.h | 2 + 3 files changed, 174 insertions(+), 241 deletions(-) -- 2.39.2