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/keyboard/mpr121_touchkey.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/input/keyboard/mpr121_touchkey.c b/drivers/input/keyboard/mpr121_touchkey.c
index 40d6e5087cde..e4d416c30803 100644
--- a/drivers/input/keyboard/mpr121_touchkey.c
+++ b/drivers/input/keyboard/mpr121_touchkey.c
@@ -96,8 +96,8 @@ static struct regulator *mpr121_vdd_supply_init(struct device *dev)
vdd_supply = devm_regulator_get(dev, "vdd");
if (IS_ERR(vdd_supply)) {
- dev_err(dev, "failed to get vdd regulator: %ld\n",
- PTR_ERR(vdd_supply));
+ dev_err_probe(dev, PTR_ERR(vdd_supply),
+ "failed to get vdd regulator\n");
return vdd_supply;
}
@@ -267,11 +267,9 @@ static int mpr_touchkey_probe(struct i2c_client *client,
error = device_property_read_u32_array(dev, "linux,keycodes",
mpr121->keycodes,
mpr121->keycount);
- if (error) {
- dev_err(dev,
- "failed to read linux,keycode property: %d\n", error);
- return error;
- }
+ if (error)
+ return dev_err_probe(dev, error,
+ "failed to read linux, keycode property\n");
input_dev->name = "Freescale MPR121 Touchkey";
input_dev->id.bustype = BUS_I2C;
--
2.25.1