[PATCH 2/7] usb: onboard-hub: Fix the return values of regulator APIs
Venkatesh Yadav Abbarapu
venkatesh.abbarapu at amd.com
Wed Jun 5 12:02:16 CEST 2024
Use the regulator API's only if the config DM_REGULATOR is enabled.
Don't error out if there is no vdd regulator supply, as these are
optional properties.
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu at amd.com>
---
common/usb_onboard_hub.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/common/usb_onboard_hub.c b/common/usb_onboard_hub.c
index 2f6fb71935d..0cfaa90fce3 100644
--- a/common/usb_onboard_hub.c
+++ b/common/usb_onboard_hub.c
@@ -30,16 +30,22 @@ static int usb_onboard_hub_probe(struct udevice *dev)
struct onboard_hub *hub = dev_get_priv(dev);
int ret;
- ret = device_get_supply_regulator(dev, "vdd-supply", &hub->vdd);
- if (ret) {
- dev_err(dev, "can't get vdd-supply: %d\n", ret);
- return ret;
+ if (CONFIG_IS_ENABLED(DM_REGULATOR)) {
+ ret = device_get_supply_regulator(dev, "vdd-supply",
+ &hub->vdd);
+ if (ret && ret != -ENOENT) {
+ dev_err(dev, "Failed to get VDD regulator: %d\n", ret);
+ return ret;
+ }
+ if (hub->vdd) {
+ ret = regulator_set_enable_if_allowed(hub->vdd, true);
+ if (ret && ret != -ENOSYS) {
+ dev_err(dev, "Failed to enable VDD regulator: %d\n", ret);
+ return ret;
+ }
+ }
}
- ret = regulator_set_enable_if_allowed(hub->vdd, true);
- if (ret)
- dev_err(dev, "can't enable vdd-supply: %d\n", ret);
-
hub->reset_gpio = devm_gpiod_get_optional(dev, "reset",
GPIOD_IS_OUT | GPIOD_ACTIVE_LOW);
/* property is optional, don't return error! */
--
2.17.1
More information about the U-Boot
mailing list