While adding support for the PCIe EP mode support to the QMP driver I couldn't help but notice that the QMP PHY driver has slowly become the a beast with tons of conditions and corner cases being inserted here and there.r This an RFC for an attempt to to cleanup the QMP driver by splitting the QMP PHY driver into four smaller drivers, each targeting a particular family of PHY backends (DP/combo, PCIe, UFS and USB). Yes, this results in some code duplication, but I hope that the end result is still better than the current situation. If the idea looks good, I will continue polishing the drivers. A feedback regarding the common functions (ones, left in the phy-qcom-qmp-lib.c file) would be appreciated. Changes since RFC: - Split the patchset to be able to get through the email size limitations - Minor correcions to the split drivers Dmitry Baryshkov (34): phy: qcom-qmp: add library source code phy: qcom-qmp: add QMP PCIe PHY driver phy: qcom-qmp: move MSM8996 PCIe PHY to new QMP driver phy: qcom-qmp: move MSM8998 PCIe PHY to new QMP driver phy: qcom-qmp: move SDM845 PCIe PHY to new QMP driver phy: qcom-qmp: move SM8250 PCIe PHY to new QMP driver phy: qcom-qmp: move IPQ6018 PCIe PHY to new QMP driver phy: qcom-qmp: move IPQ8074 PCIe PHY to new QMP driver phy: qcom-qmp: move SC8180x PCIe PHY to new QMP driver phy: qcom-qmp: move SDX55 PCIe PHY to new QMP driver phy: qcom-qmp: move SM8450 PCIe PHY to new QMP driver phy: qcom-qmp: add QMP UFS PHY driver phy: qcom-qmp: move MSM8996 UFS PHY to new QMP driver phy: qcom-qmp: move MSM8998, SDM845 and SM6350 UFS PHY to new QMP driver phy: qcom-qmp: move SC8180x, SM8150 and SM8250 UFS PHY to new QMP driver phy: qcom-qmp: move SM6116 UFS PHY to new QMP driver phy: qcom-qmp: move SC8280xp, SM8350 and SM8450 UFS PHY to new QMP driver phy: qcom-qmp: add QMP USB PHY driver phy: qcom-qmp: move MSM8996 USB PHY to new QMP driver phy: qcom-qmp: move IPQ6018, IPQ8074 USB PHY to new QMP driver phy: qcom-qmp: move MSM8998 USB PHY to new QMP driver phy: qcom-qmp: move SDM845 USB PHY to new QMP driver phy: qcom-qmp: move SC7180 USB PHY to new QMP driver phy: qcom-qmp: move SC8180x, SM8150 USB PHY to new QMP driver phy: qcom-qmp: move SM8250 USB PHY to new QMP driver phy: qcom-qmp: move SM8350, SM8450 USB PHY to new QMP driver phy: qcom-qmp: move SDX55 USB PHY to new QMP driver phy: qcom-qmp: move SDX65 USB PHY to new QMP driver phy: qcom-qmp: move QCM2290 USB PHY to new QMP driver phy: qcom-qmp: add QMP combo DP+USB PHY driver phy: qcom-qmp: move SC7180 DP PHY to new QMP driver phy: qcom-qmp: move SC8180X DP PHY to new QMP driver phy: qcom-qmp: move SM8250 DP PHY to new QMP driver phy: qcom-qmp: drop old QMP PHY driver drivers/phy/qualcomm/Makefile | 8 +- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 1401 +++++ drivers/phy/qualcomm/phy-qcom-qmp-lib.c | 417 ++ drivers/phy/qualcomm/phy-qcom-qmp-lib.h | 311 + drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 2098 +++++++ drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 983 ++++ drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 2229 ++++++++ drivers/phy/qualcomm/phy-qcom-qmp.c | 6350 --------------------- drivers/phy/qualcomm/phy-qcom-qmp.h | 3 + 9 files changed, 7449 insertions(+), 6351 deletions(-) create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-combo.c create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-lib.c create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-lib.h create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-pcie.c create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-ufs.c create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-usb.c delete mode 100644 drivers/phy/qualcomm/phy-qcom-qmp.c -- 2.35.1