summaryrefslogtreecommitdiff
path: root/drivers/power/supply/sbs-charger.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/power/supply/sbs-charger.c')
-rw-r--r--drivers/power/supply/sbs-charger.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/drivers/power/supply/sbs-charger.c b/drivers/power/supply/sbs-charger.c
index fbfb6a620961..6fa65d118ec1 100644
--- a/drivers/power/supply/sbs-charger.c
+++ b/drivers/power/supply/sbs-charger.c
@@ -16,9 +16,7 @@
#include <linux/i2c.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
-#include <linux/gpio.h>
#include <linux/regmap.h>
-#include <linux/of_gpio.h>
#include <linux/bitops.h>
#define SBS_CHARGER_REG_SPEC_INFO 0x11
@@ -189,18 +187,14 @@ static int sbs_probe(struct i2c_client *client,
* to the battery.
*/
ret = regmap_read(chip->regmap, SBS_CHARGER_REG_STATUS, &val);
- if (ret) {
- dev_err(&client->dev, "Failed to get device status\n");
- return ret;
- }
+ if (ret)
+ return dev_err_probe(&client->dev, ret, "Failed to get device status\n");
chip->last_state = val;
- chip->power_supply = devm_power_supply_register(&client->dev, &sbs_desc,
- &psy_cfg);
- if (IS_ERR(chip->power_supply)) {
- dev_err(&client->dev, "Failed to register power supply\n");
- return PTR_ERR(chip->power_supply);
- }
+ chip->power_supply = devm_power_supply_register(&client->dev, &sbs_desc, &psy_cfg);
+ if (IS_ERR(chip->power_supply))
+ return dev_err_probe(&client->dev, PTR_ERR(chip->power_supply),
+ "Failed to register power supply\n");
/*
* The sbs-charger spec doesn't impose the use of an interrupt. So in
@@ -212,10 +206,8 @@ static int sbs_probe(struct i2c_client *client,
NULL, sbs_irq_thread,
IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
dev_name(&client->dev), chip);
- if (ret) {
- dev_err(&client->dev, "Failed to request irq, %d\n", ret);
- return ret;
- }
+ if (ret)
+ return dev_err_probe(&client->dev, ret, "Failed to request irq\n");
} else {
INIT_DELAYED_WORK(&chip->work, sbs_delayed_work);
schedule_delayed_work(&chip->work,