]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
usb: onboard-hub: Use devm API do automatically free the reset GPIO
authorLukasz Czechowski <lukasz.czechowski@thaumatec.com>
Tue, 22 Jul 2025 09:55:34 +0000 (11:55 +0200)
committerTom Rini <trini@konsulko.com>
Wed, 30 Jul 2025 13:57:17 +0000 (07:57 -0600)
The reset GPIO is obtained during driver probing by the function
devm_gpiod_get_optional, which means the GPIO will be automatically
freed when the device is removed. Because of this, explicit call
to free the reset GPIO in hub remove function is not needed.
To support the Managed device resources, the DEVRES config must
be enabled, otherwise the devres functions fall back to non-managed
variants. Set the necessary dependency to DEVRES in Kconfig.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Lukasz Czechowski <lukasz.czechowski@thaumatec.com>
common/usb_onboard_hub.c
drivers/usb/Kconfig

index 7606362a4ee6dbf7b5954267d3456a0674425b82..c6379192fe8ff7a3390fa461043a6690919765e2 100644 (file)
@@ -211,9 +211,6 @@ static int usb_onboard_hub_remove(struct udevice *dev)
        struct onboard_hub *hub = dev_get_priv(dev);
        int ret = 0;
 
-       if (hub->reset_gpio)
-               dm_gpio_free(hub->reset_gpio->dev, hub->reset_gpio);
-
        if (hub->vdd) {
                ret = regulator_set_enable_if_allowed(hub->vdd, false);
                if (ret)
index 99c6649e4178a51a3a4ef5248dda1ab5d9aa398b..daf2240ffd92de7f39cde9877bea48ac99866511 100644 (file)
@@ -112,6 +112,7 @@ config USB_KEYBOARD
 config USB_ONBOARD_HUB
        bool "Onboard USB hub support"
        depends on DM_USB
+       select DEVRES
        ---help---
          Say Y here if you want to support discrete onboard USB hubs that
          don't require an additional control bus for initialization, but