@@ -482,18 +482,14 @@ int tsc200x_probe(struct device *dev, int irq, const struct input_id *tsc_id,
ts->esd_timeout = error ? 0 : esd_timeout;
ts->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
- if (IS_ERR(ts->reset_gpio)) {
- error = PTR_ERR(ts->reset_gpio);
- dev_err(dev, "error acquiring reset gpio: %d\n", error);
- return error;
- }
+ if (IS_ERR(ts->reset_gpio))
+ return dev_err_probe(dev, PTR_ERR(ts->reset_gpio),
+ "error acquiring reset gpio\n");
ts->vio = devm_regulator_get(dev, "vio");
- if (IS_ERR(ts->vio)) {
- error = PTR_ERR(ts->vio);
- dev_err(dev, "error acquiring vio regulator: %d", error);
- return error;
- }
+ if (IS_ERR(ts->vio))
+ return dev_err_probe(dev, PTR_ERR(ts->vio),
+ "error acquiring vio regulator");
mutex_init(&ts->mutex);
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@baidu.com> --- drivers/input/touchscreen/tsc200x-core.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-)