[PATCH v2] usb: dwc3-generic: fix support without DM_REGULATOR

Caleb Connolly caleb.connolly at linaro.org
Mon Apr 15 14:51:37 CEST 2024



On 15/04/2024 12:56, Robert Marko wrote:
> Recent addition of vbus-supply support has broke platform which dont use
> controllable regulators for USB.
> 
> Issue is that even withou DM_REGULATOR being enabled regulator related
> functions will still build as there is a stub in regulator.h but they will
> simply return -ENOSYS which will then make dwc3_generic_host_probe()
> return the same error thus breaking probe.
> 
> So, check whether return code is -ENOSYS before erroring out.
> 
> Fixes: de451d5d5b6f ("usb: dwc3-generic: support external vbus regulator")
> Signed-off-by: Robert Marko <robert.marko at sartura.hr>

Reviewed-by: Caleb Connolly <caleb.connolly at linaro.org>
> ---
> Changes in v2:
> * Drop #ifdefs and check for -ENOSYS that regulator stub returns
> 
>  drivers/usb/dwc3/dwc3-generic.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c
> index 7a00529a2a..df0b0b8c02 100644
> --- a/drivers/usb/dwc3/dwc3-generic.c
> +++ b/drivers/usb/dwc3/dwc3-generic.c
> @@ -248,7 +248,7 @@ static int dwc3_generic_host_probe(struct udevice *dev)
>  
>  	/* Only returns an error if regulator is valid and failed to enable due to a driver issue */
>  	rc = regulator_set_enable_if_allowed(priv->vbus_supply, true);
> -	if (rc)
> +	if (rc && rc != -ENOSYS)
>  		return rc;
>  
>  	hccr = (struct xhci_hccr *)priv->gen_priv.base;

-- 
// Caleb (they/them)


More information about the U-Boot mailing list