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. Using dev_err_probe() can reduce code size, and the error value gets printed. Signed-off-by: Cai Huoqing <caihuoqing@xxxxxxxxx> --- drivers/video/fbdev/ssd1307fb.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c index 1e2f71c2f8a8..c6d5df31111d 100644 --- a/drivers/video/fbdev/ssd1307fb.c +++ b/drivers/video/fbdev/ssd1307fb.c @@ -658,9 +658,8 @@ static int ssd1307fb_probe(struct i2c_client *client) par->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW); if (IS_ERR(par->reset)) { - dev_err(dev, "failed to get reset gpio: %ld\n", - PTR_ERR(par->reset)); - ret = PTR_ERR(par->reset); + ret = dev_err_probe(dev, PTR_ERR(par->reset), + "failed to get reset gpio\n"); goto fb_alloc_error; } @@ -670,7 +669,7 @@ static int ssd1307fb_probe(struct i2c_client *client) if (ret == -ENODEV) { par->vbat_reg = NULL; } else { - dev_err(dev, "failed to get VBAT regulator: %d\n", ret); + dev_err_probe(dev, ret, "failed to get VBAT regulator\n"); goto fb_alloc_error; } } -- 2.25.1