Hi Ricardo, On 09.03.2023 09:55, Ricardo Cañuelo wrote: > On lun 09-01-2023 23:00:33, Marek Szyprowski wrote: >> devm_regulator_get_enable_optional() function returns 0 on success, so >> use it for the check if function succeded instead of the -ENODEV value. >> >> Fixes: 429e87063661 ("drm/meson: dw-hdmi: Use devm_regulator_*get_enable*()") >> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> >> --- >> drivers/gpu/drm/meson/meson_dw_hdmi.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c >> index 7642f740272b..534621a13a34 100644 >> --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c >> +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c >> @@ -718,7 +718,7 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master, >> dw_plat_data = &meson_dw_hdmi->dw_plat_data; >> >> ret = devm_regulator_get_enable_optional(dev, "hdmi"); >> - if (ret != -ENODEV) >> + if (ret < 0) >> return ret; >> >> meson_dw_hdmi->hdmitx_apb = devm_reset_control_get_exclusive(dev, >> -- >> 2.39.0 > This patch seems to have caused (or uncovered) a regression in the > bootrr.deferred-probe-empty test for meson-g12a-sei510. Apparently, this > causes a driver to stay in the deferred probe list after boot. Indeed my fix causes regression on the platform, which doesn't have "hdmi" regulator. Thanks for pointing that. I was really convinced that devm_regulator_get_enable_*optional*() returns 0 if requested regulator is not present (as "_optional" suffix suggests). Unfortunately it returns -ENODEV, what breaks meson_dw_hdmi driver. I will send a fix in a few minutes. Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland