[RFC PATCH v3 00/30] phy: qcom-qmp: split the QMP PHY driver

Bjorn Andersson bjorn.andersson at linaro.org
Mon Jun 6 13:56:36 PDT 2022


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 at linaro.org>

Tested-by: Bjorn Andersson <bjorn.andersson at linaro.org> # 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
> 



More information about the linux-phy mailing list