Subject: Re: [PATCH 2/3] usb: dwc3: xilinx: use reset_control_reset() in versal init

From: Thinh Nguyen <[email-masked]>
Date: Thu, 14 May 2026 01:34:11 +0000

On Mon, May 11, 2026, Radhey Shyam Pandey wrote:
> Replace separate reset_control_assert() and reset_control_deassert() calls
> with reset_control_reset(), which pulses the reset in one step. Report
> failures with dev_err_probe() and a single message. No functional change.
> 

The behavior of reset_control_reset() is a little different. I wouldn't
call this "No functional change". However, I assumed this was tested.
Please provide a proper reason for this change in the change log.

> Signed-off-by: Radhey Shyam Pandey <[email-masked]>
> ---
>  drivers/usb/dwc3/dwc3-xilinx.c | 16 ++++------------
>  1 file changed, 4 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/usb/dwc3/dwc3-xilinx.c b/drivers/usb/dwc3/dwc3-xilinx.c
> index a3c7dc258c7d..94458b3da1a0 100644
> --- a/drivers/usb/dwc3/dwc3-xilinx.c
> +++ b/drivers/usb/dwc3/dwc3-xilinx.c
> @@ -98,18 +98,10 @@ static int dwc3_xlnx_init_versal(struct dwc3_xlnx *priv_data)
>  
>  	dwc3_xlnx_mask_phy_rst(priv_data, false);
>  
> -	/* Assert and De-assert reset */
> -	ret = reset_control_assert(crst);
> -	if (ret < 0) {
> -		dev_err_probe(dev, ret, "failed to assert Reset\n");
> -		return ret;
> -	}
> -
> -	ret = reset_control_deassert(crst);
> -	if (ret < 0) {
> -		dev_err_probe(dev, ret, "failed to De-assert Reset\n");
> -		return ret;
> -	}
> +	/* assert and deassert reset */
> +	ret = reset_control_reset(crst);
> +	if (ret)
> +		return dev_err_probe(dev, ret, "failed to assert and deassert reset\n");
>  
>  	dwc3_xlnx_mask_phy_rst(priv_data, true);
>  	dwc3_xlnx_set_coherency(priv_data, XLNX_USB2_TRAFFIC_ROUTE_CONFIG);
> -- 
> 2.44.4
>