@@ -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,
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/mms114.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-)