Subject: Re: [PATCH next] phy: renesas: rcar-gen3-usb2: Drop local devm_mux_state_get_optional()

From: Tommaso Merciai <[email-masked]>
Date: Tue, 10 Feb 2026 12:26:05 +0100

Hi Geert,
Thanks for your patch!

On Tue, Feb 10, 2026 at 11:53:00AM +0100, Geert Uytterhoeven wrote:
> Now the mux core provides devm_mux_state_get_optional():
> 
>     drivers/phy/renesas/phy-rcar-gen3-usb2.c:944:1: error: static declaration of ‘devm_mux_state_get_optional’ follows non-static
>      declaration
>       944 | devm_mux_state_get_optional(struct device *dev, const char *mux_name)
> 	  | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>     In file included from drivers/phy/renesas/phy-rcar-gen3-usb2.c:20:
>     include/linux/mux/consumer.h:64:19: note: previous declaration of ‘devm_mux_state_get_optional’ with type ‘struct mux_state *(struct device *, const char *)’
>        64 | struct mux_state *devm_mux_state_get_optional(struct device *dev, const char *mux_name);
> 	  |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> Fix this by dropping the temporary local wrapper.
> 
> Fixes: ad314348ceb4fe1f ("mux: Add helper functions for getting optional and selected mux-state")
> Fixes: 8bb92fd7a0407792 ("phy: renesas: rcar-gen3-usb2: Use mux-state for phyrst management")
> Signed-off-by: Geert Uytterhoeven <[email-masked]>
> ---
>   - ad314348ceb4fe1f is in mmc/next, and a PR has already been sent
>     https://lore.kernel.org/[email-masked]
>   - 8bb92fd7a0407792 is in phy/next

Thanks for sharing :)

> ---
>  drivers/phy/renesas/phy-rcar-gen3-usb2.c | 10 ----------
>  1 file changed, 10 deletions(-)
> 
> diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> index cfc2a8d9028d58d0..65cbf330bd8fa10c 100644
> --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> @@ -939,16 +939,6 @@ static int rcar_gen3_phy_usb2_vbus_regulator_register(struct rcar_gen3_chan *cha
>  	return rcar_gen3_phy_usb2_vbus_regulator_get_exclusive_enable(channel, enable);
>  }
>  
> -/* Temporary wrapper until the multiplexer subsystem supports optional muxes */
> -static inline struct mux_state *
> -devm_mux_state_get_optional(struct device *dev, const char *mux_name)
> -{
> -	if (!of_property_present(dev->of_node, "mux-states"))
> -		return NULL;
> -
> -	return devm_mux_state_get(dev, mux_name);
> -}
> -
>  static void rcar_gen3_phy_mux_state_deselect(void *data)
>  {
>  	mux_state_deselect(data);
> -- 
> 2.43.0

LGTM.
Tested on RZ/G3E.

Tested-by: Tommaso Merciai <[email-masked]>
Reviewed-by: Tommaso Merciai <[email-masked]>

Kind Regards,
Tommaso