usb: onboard-hub: Don't disable regulator in remove() callback
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@foss.st.com> Change-Id: If7ed2ccb5a1c1a84637d29d763cc1935d9b8815e Reviewed-on: https://gerrit.st.com/c/mpu/oe/st/u-boot/+/299563 ACI: CITOOLS <MDG-smet-aci-reviews@list.st.com> Reviewed-by: Fabrice GASNIER <fabrice.gasnier@foss.st.com> Domain-Review: Fabrice GASNIER <fabrice.gasnier@foss.st.com>
This commit is contained in:
@ -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),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user