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.c file) would be appreciated. Dmitry Baryshkov (5): phy: qcom-qmp: split combo PHY support phy: qcom-qmp: split DP data to DP-specific structures phy: qcom-qmp: split UFS PHY support phy: qcom-qmp: split PCIe PHY support phy: qcom-qmp: complete split of the QMP driver drivers/phy/qualcomm/Makefile | 2 +- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 1362 +++++ drivers/phy/qualcomm/phy-qcom-qmp-lib.h | 290 + drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 1945 +++++++ drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 863 +++ drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 2104 ++++++++ drivers/phy/qualcomm/phy-qcom-qmp.c | 5983 +-------------------- drivers/phy/qualcomm/phy-qcom-qmp.h | 43 + 8 files changed, 6732 insertions(+), 5860 deletions(-) create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-combo.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 -- 2.35.1