[PATCH v2] phy: fsl-imx8mq-usb: fix typec orientation switch when built as module
Frank Li
Frank.li at nxp.com
Wed Nov 26 07:58:11 PST 2025
On Wed, Nov 26, 2025 at 03:01:33PM +0100, Franz Schnyder wrote:
> From: Franz Schnyder <franz.schnyder at toradex.com>
>
> Currently, the PHY only registers the typec orientation switch when it
> is built in. If the typec driver is built as a module, the switch
> registration is skipped due to the preprocessor condition, causing
> orientation detection to fail.
>
> With commit
> 45fe729be9a6 ("usb: typec: Stub out typec_switch APIs when CONFIG_TYPEC=n")
> the preprocessor condition is not needed anymore and the orientation
> switch is correctly registered for both built-in and module builds.
>
> Fixes: b58f0f86fd61 ("phy: fsl-imx8mq-usb: add tca function driver for imx95")
> Cc: stable at vger.kernel.org
> Suggested-by: Xu Yang <xu.yang_2 at nxp.com>
> Signed-off-by: Franz Schnyder <franz.schnyder at toradex.com>
> ---
> v2: Drop the preprocessor condition after a better suggestion.
> Reviewed-by Neil tag not added as patch is different
> ---
Reviewed-by: Frank Li <Frank.Li at nxp.com>
> drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 14 --------------
> 1 file changed, 14 deletions(-)
>
> diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
> index b94f242420fc..72e8aff38b92 100644
> --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
> +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c
> @@ -124,8 +124,6 @@ struct imx8mq_usb_phy {
> static void tca_blk_orientation_set(struct tca_blk *tca,
> enum typec_orientation orientation);
>
> -#ifdef CONFIG_TYPEC
> -
> static int tca_blk_typec_switch_set(struct typec_switch_dev *sw,
> enum typec_orientation orientation)
> {
> @@ -173,18 +171,6 @@ static void tca_blk_put_typec_switch(struct typec_switch_dev *sw)
> typec_switch_unregister(sw);
> }
>
> -#else
> -
> -static struct typec_switch_dev *tca_blk_get_typec_switch(struct platform_device *pdev,
> - struct imx8mq_usb_phy *imx_phy)
> -{
> - return NULL;
> -}
> -
> -static void tca_blk_put_typec_switch(struct typec_switch_dev *sw) {}
> -
> -#endif /* CONFIG_TYPEC */
> -
> static void tca_blk_orientation_set(struct tca_blk *tca,
> enum typec_orientation orientation)
> {
> --
> 2.43.0
>
More information about the linux-arm-kernel
mailing list