[PATCH] usb: onboard-hub: Don't disable regulator in remove() callback

Patrice Chotard patrice.chotard at foss.st.com
Mon Apr 17 18:56:04 CEST 2023


In case USB hub regulator is shared, unexpected behavior occurs.
On stm32mp135f-dk, stm32mp157c-ev1 and stm32mp157x-dkx, regulator
v3v3 is shared between several IP/devices (USB, panel, ethernet phy,
camera, ...).
Running command "usb stop", v3v3 regulator is switched off and
the splashscreen content disappear.

v3v3 shouldn't be disabled on usb_onboard_hub_remove() callback.

Signed-off-by: Patrice Chotard <patrice.chotard at foss.st.com>
---

 common/usb_onboard_hub.c | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/common/usb_onboard_hub.c b/common/usb_onboard_hub.c
index 89e18a2ddad..8a83f7877ef 100644
--- a/common/usb_onboard_hub.c
+++ b/common/usb_onboard_hub.c
@@ -34,18 +34,6 @@ static int usb_onboard_hub_probe(struct udevice *dev)
 	return ret;
 }
 
-static int usb_onboard_hub_remove(struct udevice *dev)
-{
-	struct onboard_hub *hub = dev_get_priv(dev);
-	int ret;
-
-	ret = regulator_set_enable_if_allowed(hub->vdd, false);
-	if (ret)
-		dev_err(dev, "can't disable vdd-supply: %d\n", ret);
-
-	return ret;
-}
-
 static const struct udevice_id usb_onboard_hub_ids[] = {
 	/* Use generic usbVID,PID dt-bindings (usb-device.yaml) */
 	{ .compatible = "usb424,2514" }, /* USB2514B USB 2.0 */
@@ -56,7 +44,6 @@ U_BOOT_DRIVER(usb_onboard_hub) = {
 	.name	= "usb_onboard_hub",
 	.id	= UCLASS_USB_HUB,
 	.probe = usb_onboard_hub_probe,
-	.remove = usb_onboard_hub_remove,
 	.of_match = usb_onboard_hub_ids,
 	.priv_auto = sizeof(struct onboard_hub),
 };
-- 
2.25.1



More information about the U-Boot mailing list