On Thu 02 Jun 00:08 PDT 2022, Dmitry Baryshkov wrote: > 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 five smaller drivers, each targeting a particular > family of PHY backends (DP/combo, PCIe, UFS, USB and a separate driver > for the MSM8996 PCIe PHY). Yes, this results in some code duplication, > but I hope that the end result is still better than the current > situation. > With the MODULE_DEVICE_TABLE of the combo PHY corrected, this looks good to me. Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> Tested-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> # UFS, PCIe and USB on SC8180X Regards, Bjorn > Changes since RFC v2: > - After dicussion with Vinod, revert back to the approach from RFC v1: > copy the source and clean it up rather than creating new drivers from > the blank space. This lowers the risc of breaking any of the platforms. > - Drop common phy-qcom-qmp-lib.c for now. The goal of this patchseries > is to be merged early during the development cycle to unblock further > QMP driver development. Additional cleanups and code unification can > come up later. > > Changes since RFC v1: > - Split the patchset to be able to get through the email size > limitations > - Minor correcions to the split drivers > > Dmitry Baryshkov (30): > phy: qcom-qmp: create copies of QMP PHY driver > phy: qcom-qmp-combo: drop all non-combo compatibles support > phy: qcom-qmp-pcie: drop all non-PCIe compatibles support > phy: qcom-qmp-pcie-msm8996: drop all compatibles except > msm8996-pcie-phy > phy: qcom-qmp-ufs: drop all non-UFS compatibles support > phy: qcom-qmp-usb: drop all non-USB compatibles support > phy: qcom-qmp-combo: change symbol prefix to qcom_qmp_phy_combo > phy: qcom-qmp-pcie: change symbol prefix to qcom_qmp_phy_pcie > phy: qcom-qmp-pcie: change symbol prefix to qcom_qmp_phy_pcie_msm8996 > phy: qcom-qmp-ufs: change symbol prefix to qcom_qmp_phy_ufs > phy: qcom-qmp-usb: change symbol prefix to qcom_qmp_phy_usb > phy: qcom-qmp: switch to new split QMP PHY driver > phy: qcom-qmp: drop old QMP PHY driver source > phy: qcom-qmp-combo: drop support for PCIe,UFS PHY types > phy: qcom-qmp-pcie: drop support for non-PCIe PHY types > phy: qcom-qmp-pcie-msm8996: drop support for non-PCIe PHY types > phy: qcom-qmp-ufs: drop support for non-UFS PHY types > phy: qcom-qmp-usb: drop support for non-USB PHY types > phy: qcom-qmp-combo: cleanup the driver > phy: qcom-qmp-pcie: cleanup the driver > phy: qcom-qmp-pcie-msm8996: cleanup the driver > phy: qcom-qmp-ufs: cleanup the driver > phy: qcom-qmp-usb: cleanup the driver > phy: qcom-qmp-pcie: drop multi-PHY support > phy: qcom-qmp-ufs: drop multi-PHY support > phy: qcom-qmp-usb: drop multi-PHY support > phy: qcom-qmp-combo: use bulk reset_control API > phy: qcom-qmp-pcie: use bulk reset_control API > phy: qcom-qmp-pcie-msm8996: use bulk reset_control API > phy: qcom-qmp-usb: use bulk reset_control API > > drivers/phy/qualcomm/Makefile | 8 +- > drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 2579 +++++++ > .../phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 1081 +++ > drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 2404 +++++++ > drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 1390 ++++ > drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 2751 +++++++ > drivers/phy/qualcomm/phy-qcom-qmp.c | 6350 ----------------- > 7 files changed, 10212 insertions(+), 6351 deletions(-) > create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-combo.c > create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c > 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 >