When possible use dev_err_probe help to properly deal with the PROBE_DEFER error, the benefit is that DEFER issue will be logged in the devices_deferred debugfs file. And using dev_err_probe() can reduce code size, and the error value gets printed. Signed-off-by: Cai Huoqing <caihuoqing@xxxxxxxxx> --- drivers/gpu/drm/bridge/tc358775.c | 32 ++++++++++++------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/bridge/tc358775.c b/drivers/gpu/drm/bridge/tc358775.c index 2272adcc5b4a..39a5fda6a06a 100644 --- a/drivers/gpu/drm/bridge/tc358775.c +++ b/drivers/gpu/drm/bridge/tc358775.c @@ -676,32 +676,24 @@ static int tc_probe(struct i2c_client *client, const struct i2c_device_id *id) return ret; tc->vddio = devm_regulator_get(dev, "vddio-supply"); - if (IS_ERR(tc->vddio)) { - ret = PTR_ERR(tc->vddio); - dev_err(dev, "vddio-supply not found\n"); - return ret; - } + if (IS_ERR(tc->vddio)) + return dev_err_probe(dev, PTR_ERR(tc->vddio), + "vddio-supply not found\n"); tc->vdd = devm_regulator_get(dev, "vdd-supply"); - if (IS_ERR(tc->vdd)) { - ret = PTR_ERR(tc->vdd); - dev_err(dev, "vdd-supply not found\n"); - return ret; - } + if (IS_ERR(tc->vdd)) + return dev_err_probe(dev, PTR_ERR(tc->vdd), + "vdd-supply not found\n"); tc->stby_gpio = devm_gpiod_get(dev, "stby", GPIOD_OUT_HIGH); - if (IS_ERR(tc->stby_gpio)) { - ret = PTR_ERR(tc->stby_gpio); - dev_err(dev, "cannot get stby-gpio %d\n", ret); - return ret; - } + if (IS_ERR(tc->stby_gpio)) + return dev_err_probe(dev, PTR_ERR(tc->stby_gpio), + "cannot get stby-gpio\n"); tc->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); - if (IS_ERR(tc->reset_gpio)) { - ret = PTR_ERR(tc->reset_gpio); - dev_err(dev, "cannot get reset-gpios %d\n", ret); - return ret; - } + if (IS_ERR(tc->reset_gpio)) + return dev_err_probe(dev, PTR_ERR(tc->reset_gpio), + "cannot get reset-gpios\n"); tc->bridge.funcs = &tc_bridge_funcs; tc->bridge.of_node = dev->of_node; -- 2.25.1