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 <[email protected]>
---
drivers/input/touchscreen/mms114.c | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/drivers/input/touchscreen/mms114.c b/drivers/input/touchscreen/mms114.c
index 9fa3b0e421be..4b36db084d86 100644
--- a/drivers/input/touchscreen/mms114.c
+++ b/drivers/input/touchscreen/mms114.c
@@ -525,20 +525,14 @@ static int mms114_probe(struct i2c_client *client,
i2c_set_clientdata(client, data);
data->core_reg = devm_regulator_get(&client->dev, "avdd");
- if (IS_ERR(data->core_reg)) {
- error = PTR_ERR(data->core_reg);
- dev_err(&client->dev,
- "Unable to get the Core regulator (%d)\n", error);
- return error;
- }
+ if (IS_ERR(data->core_reg))
+ return dev_err_probe(&client->dev, PTR_ERR(data->core_reg),
+ "Unable to get the Core regulator\n");
data->io_reg = devm_regulator_get(&client->dev, "vdd");
- if (IS_ERR(data->io_reg)) {
- error = PTR_ERR(data->io_reg);
- dev_err(&client->dev,
- "Unable to get the IO regulator (%d)\n", error);
- return error;
- }
+ if (IS_ERR(data->io_reg))
+ return dev_err_probe(&client->dev, PTR_ERR(data->io_reg),
+ "Unable to get the IO regulator\n");
error = devm_request_threaded_irq(&client->dev, client->irq,
NULL, mms114_interrupt,
--
2.25.1