On Wed, Mar 04, 2026 at 07:57:33PM +0200, Vladimir Oltean wrote: > The majority of PHY drivers are PHY providers (obviously). > > Some are providers *and* consumers (phy-meson-axg-mipi-dphy, > phy-meson-axg-pcie). These are the Amlogic AXG SoCs, which split the > physical layer into two chained PHYs: the digital layer and the analog > layer. The DSI or PCIe controller interacts only with the digital PHY, > presumably for simplicity. > > The rest of PHY drivers which include <linux/phy/phy.h> do so because > they call phy_set_bus_width(), a consumer function. > > Signed-off-by: Vladimir Oltean <[email protected]> > --- > drivers/phy/allwinner/phy-sun4i-usb.c | 3 ++- > drivers/phy/allwinner/phy-sun50i-usb3.c | 3 ++- > drivers/phy/allwinner/phy-sun6i-mipi-dphy.c | 4 ++-- > drivers/phy/allwinner/phy-sun9i-usb.c | 3 ++- > drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c | 2 ++ > drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c | 3 ++- > drivers/phy/amlogic/phy-meson-axg-pcie.c | 2 ++ > drivers/phy/amlogic/phy-meson-g12a-mipi-dphy-analog.c | 3 ++- > drivers/phy/amlogic/phy-meson-g12a-usb2.c | 2 ++ > drivers/phy/amlogic/phy-meson-g12a-usb3-pcie.c | 3 ++- > drivers/phy/amlogic/phy-meson-gxl-usb2.c | 3 ++- > drivers/phy/amlogic/phy-meson8-hdmi-tx.c | 3 ++- > drivers/phy/amlogic/phy-meson8b-usb2.c | 3 ++- > drivers/phy/apple/atc.c | 3 ++- > drivers/phy/broadcom/phy-bcm-cygnus-pcie.c | 3 ++- > drivers/phy/broadcom/phy-bcm-kona-usb2.c | 4 +++- > drivers/phy/broadcom/phy-bcm-ns-usb2.c | 3 ++- > drivers/phy/broadcom/phy-bcm-ns-usb3.c | 3 ++- > drivers/phy/broadcom/phy-bcm-ns2-pcie.c | 3 ++- > drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c | 3 ++- > drivers/phy/broadcom/phy-bcm-sr-pcie.c | 3 ++- > drivers/phy/broadcom/phy-bcm-sr-usb.c | 3 ++- > drivers/phy/broadcom/phy-bcm63xx-usbh.c | 3 ++- > drivers/phy/broadcom/phy-brcm-sata.c | 3 ++- > drivers/phy/broadcom/phy-brcm-usb.c | 2 +- > drivers/phy/cadence/cdns-dphy-rx.c | 3 ++- > drivers/phy/cadence/cdns-dphy.c | 4 ++-- > drivers/phy/cadence/phy-cadence-salvo.c | 3 ++- > drivers/phy/cadence/phy-cadence-sierra.c | 3 ++- > drivers/phy/cadence/phy-cadence-torrent.c | 3 ++- > drivers/phy/canaan/phy-k230-usb.c | 3 ++- > drivers/phy/eswin/phy-eic7700-sata.c | 3 ++- > drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c | 3 ++- > drivers/phy/freescale/phy-fsl-imx8m-pcie.c | 4 ++-- > drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 3 ++- > drivers/phy/freescale/phy-fsl-imx8qm-hsio.c | 6 +++--- > drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c | 3 ++- > drivers/phy/freescale/phy-fsl-lynx-28g.c | 3 ++- > drivers/phy/hisilicon/phy-hi3660-usb3.c | 3 ++- > drivers/phy/hisilicon/phy-hi3670-pcie.c | 3 ++- > drivers/phy/hisilicon/phy-hi3670-usb3.c | 3 ++- > drivers/phy/hisilicon/phy-hi6220-usb.c | 3 ++- > drivers/phy/hisilicon/phy-hisi-inno-usb2.c | 4 +++- > drivers/phy/hisilicon/phy-histb-combphy.c | 3 ++- > drivers/phy/hisilicon/phy-hix5hd2-sata.c | 3 ++- > drivers/phy/ingenic/phy-ingenic-usb.c | 3 ++- > drivers/phy/intel/phy-intel-keembay-emmc.c | 3 ++- > drivers/phy/intel/phy-intel-keembay-usb.c | 3 ++- > drivers/phy/intel/phy-intel-lgm-combo.c | 4 ++-- > drivers/phy/intel/phy-intel-lgm-emmc.c | 3 ++- > drivers/phy/lantiq/phy-lantiq-rcu-usb2.c | 3 ++- > drivers/phy/lantiq/phy-lantiq-vrx200-pcie.c | 4 ++-- > drivers/phy/marvell/phy-armada375-usb2.c | 3 ++- > drivers/phy/marvell/phy-armada38x-comphy.c | 3 ++- > drivers/phy/marvell/phy-berlin-sata.c | 3 ++- > drivers/phy/marvell/phy-berlin-usb.c | 3 ++- > drivers/phy/marvell/phy-mmp3-hsic.c | 3 ++- > drivers/phy/marvell/phy-mmp3-usb.c | 3 ++- > drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 3 ++- > drivers/phy/marvell/phy-mvebu-a3700-utmi.c | 3 ++- > drivers/phy/marvell/phy-mvebu-cp110-comphy.c | 3 ++- > drivers/phy/marvell/phy-mvebu-cp110-utmi.c | 3 ++- > drivers/phy/marvell/phy-mvebu-sata.c | 3 ++- > drivers/phy/marvell/phy-pxa-28nm-hsic.c | 3 ++- > drivers/phy/marvell/phy-pxa-28nm-usb2.c | 3 ++- > drivers/phy/marvell/phy-pxa-usb.c | 3 ++- > drivers/phy/mediatek/phy-mtk-dp.c | 3 ++- > drivers/phy/mediatek/phy-mtk-hdmi-mt8195.c | 1 - > drivers/phy/mediatek/phy-mtk-hdmi.h | 3 ++- > drivers/phy/mediatek/phy-mtk-mipi-csi-0-5.c | 2 +- > drivers/phy/mediatek/phy-mtk-mipi-dsi.h | 3 ++- > drivers/phy/mediatek/phy-mtk-pcie.c | 2 +- > drivers/phy/mediatek/phy-mtk-tphy.c | 2 +- > drivers/phy/mediatek/phy-mtk-ufs.c | 2 +- > drivers/phy/mediatek/phy-mtk-xfi-tphy.c | 2 +- > drivers/phy/mediatek/phy-mtk-xsphy.c | 2 +- > drivers/phy/microchip/lan966x_serdes.c | 4 ++-- > drivers/phy/microchip/sparx5_serdes.c | 2 +- > drivers/phy/motorola/phy-cpcap-usb.c | 3 ++- > drivers/phy/motorola/phy-mapphone-mdm6600.c | 4 +++- > drivers/phy/mscc/phy-ocelot-serdes.c | 3 ++- > drivers/phy/nuvoton/phy-ma35d1-usb2.c | 3 ++- > drivers/phy/phy-airoha-pcie.c | 2 +- > drivers/phy/phy-can-transceiver.c | 3 ++- > drivers/phy/phy-core-mipi-dphy.c | 4 ++-- > drivers/phy/phy-core.c | 2 ++ > drivers/phy/phy-google-usb.c | 3 ++- > drivers/phy/phy-lpc18xx-usb-otg.c | 3 ++- > drivers/phy/phy-nxp-ptn3222.c | 3 ++- > drivers/phy/phy-pistachio-usb.c | 4 ++-- > drivers/phy/phy-snps-eusb2.c | 2 ++ > drivers/phy/phy-xgene.c | 3 ++- > drivers/phy/qualcomm/phy-ath79-usb.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-apq8064-sata.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-edp.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-ipq4019-usb.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-ipq806x-sata.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-m31-eusb2.c | 2 ++ > drivers/phy/qualcomm/phy-qcom-m31.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-pcie2.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-qmp-usb.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-qmp-usbc.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-qusb2.c | 4 ++-- > drivers/phy/qualcomm/phy-qcom-sgmii-eth.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-snps-femto-v2.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-usb-hs-28nm.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-usb-hs.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-usb-hsic.c | 3 ++- > drivers/phy/qualcomm/phy-qcom-usb-ss.c | 3 ++- > drivers/phy/ralink/phy-mt7621-pci.c | 3 ++- > drivers/phy/ralink/phy-ralink-usb.c | 3 ++- > drivers/phy/realtek/phy-rtk-usb2.c | 3 ++- > drivers/phy/realtek/phy-rtk-usb3.c | 3 ++- > drivers/phy/renesas/phy-rcar-gen2.c | 3 ++- > drivers/phy/renesas/phy-rcar-gen3-pcie.c | 3 ++- > drivers/phy/renesas/phy-rcar-gen3-usb2.c | 3 ++- > drivers/phy/renesas/phy-rcar-gen3-usb3.c | 3 ++- > drivers/phy/renesas/phy-rzg3e-usb3.c | 3 ++- > drivers/phy/renesas/r8a779f0-ether-serdes.c | 3 ++- > drivers/phy/rockchip/phy-rockchip-dp.c | 3 ++- > drivers/phy/rockchip/phy-rockchip-dphy-rx0.c | 3 ++- > drivers/phy/rockchip/phy-rockchip-emmc.c | 3 ++- > drivers/phy/rockchip/phy-rockchip-inno-csidphy.c | 3 ++- > drivers/phy/rockchip/phy-rockchip-inno-dsidphy.c | 4 ++-- > drivers/phy/rockchip/phy-rockchip-inno-hdmi.c | 2 ++ > drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 3 ++- > drivers/phy/rockchip/phy-rockchip-naneng-combphy.c | 3 ++- > drivers/phy/rockchip/phy-rockchip-pcie.c | 2 +- > drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c | 3 ++- > drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c | 2 ++ > drivers/phy/rockchip/phy-rockchip-snps-pcie3.c | 3 ++- > drivers/phy/rockchip/phy-rockchip-typec.c | 4 ++-- > drivers/phy/rockchip/phy-rockchip-usb.c | 3 ++- > drivers/phy/rockchip/phy-rockchip-usbdp.c | 2 ++ > drivers/phy/samsung/phy-exynos-dp-video.c | 3 ++- > drivers/phy/samsung/phy-exynos-mipi-video.c | 3 ++- > drivers/phy/samsung/phy-exynos-pcie.c | 3 ++- > drivers/phy/samsung/phy-exynos4210-usb2.c | 3 ++- > drivers/phy/samsung/phy-exynos4x12-usb2.c | 3 ++- > drivers/phy/samsung/phy-exynos5-usbdrd.c | 2 ++ > drivers/phy/samsung/phy-exynos5250-sata.c | 3 ++- > drivers/phy/samsung/phy-exynos5250-usb2.c | 3 ++- > drivers/phy/samsung/phy-s5pv210-usb2.c | 3 ++- > drivers/phy/samsung/phy-samsung-ufs.c | 2 +- > drivers/phy/samsung/phy-samsung-ufs.h | 3 ++- > drivers/phy/samsung/phy-samsung-usb2.c | 2 ++ > drivers/phy/samsung/phy-samsung-usb2.h | 3 ++- > drivers/phy/socionext/phy-uniphier-ahci.c | 3 ++- > drivers/phy/socionext/phy-uniphier-pcie.c | 3 ++- > drivers/phy/socionext/phy-uniphier-usb2.c | 3 ++- > drivers/phy/socionext/phy-uniphier-usb3hs.c | 3 ++- > drivers/phy/socionext/phy-uniphier-usb3ss.c | 3 ++- > drivers/phy/sophgo/phy-cv1800-usb2.c | 3 ++- > drivers/phy/spacemit/phy-k1-pcie.c | 4 ++-- > drivers/phy/spacemit/phy-k1-usb2.c | 3 ++- > drivers/phy/st/phy-miphy28lp.c | 4 ++-- > drivers/phy/st/phy-spear1310-miphy.c | 3 ++- > drivers/phy/st/phy-spear1340-miphy.c | 3 ++- > drivers/phy/st/phy-stih407-usb.c | 3 ++- > drivers/phy/st/phy-stm32-combophy.c | 3 ++- > drivers/phy/st/phy-stm32-usbphyc.c | 2 ++ > drivers/phy/starfive/phy-jh7110-dphy-rx.c | 3 ++- > drivers/phy/starfive/phy-jh7110-dphy-tx.c | 3 ++- > drivers/phy/starfive/phy-jh7110-pcie.c | 3 ++- > drivers/phy/starfive/phy-jh7110-usb.c | 3 ++- > drivers/phy/sunplus/phy-sunplus-usb2.c | 3 ++- > drivers/phy/tegra/phy-tegra194-p2u.c | 3 ++- > drivers/phy/tegra/xusb-tegra124.c | 2 +- > drivers/phy/tegra/xusb-tegra186.c | 2 +- > drivers/phy/tegra/xusb-tegra210.c | 2 +- > drivers/phy/tegra/xusb.c | 2 +- > drivers/phy/ti/phy-am654-serdes.c | 3 ++- > drivers/phy/ti/phy-da8xx-usb.c | 3 ++- > drivers/phy/ti/phy-dm816x-usb.c | 3 ++- > drivers/phy/ti/phy-gmii-sel.c | 3 ++- > drivers/phy/ti/phy-omap-usb2.c | 3 ++- > drivers/phy/ti/phy-ti-pipe3.c | 3 ++- > drivers/phy/ti/phy-twl4030-usb.c | 3 ++- > drivers/phy/xilinx/phy-zynqmp.c | 4 ++-- > include/linux/phy/phy-sun4i-usb.h | 2 +- > include/linux/phy/ulpi_phy.h | 2 +- > 189 files changed, 363 insertions(+), 193 deletions(-) >
Reviewed-by: Dmitry Baryshkov <[email protected]> #phy/qualcomm -- With best wishes Dmitry
