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

Thinh Nguyen Thinh.Nguyen at synopsys.com
Wed May 13 18:34:11 PDT 2026


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 <radhey.shyam.pandey at amd.com>
> ---
>  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
> 


More information about the linux-arm-kernel mailing list