aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power/smb347-charger.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/power/smb347-charger.c')
-rw-r--r--drivers/power/smb347-charger.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/power/smb347-charger.c b/drivers/power/smb347-charger.c
index e9702de262e5..4396a1ffeb1a 100644
--- a/drivers/power/smb347-charger.c
+++ b/drivers/power/smb347-charger.c
@@ -1194,6 +1194,7 @@ static int smb347_probe(struct i2c_client *client,
1194{ 1194{
1195 static char *battery[] = { "smb347-battery" }; 1195 static char *battery[] = { "smb347-battery" };
1196 const struct smb347_charger_platform_data *pdata; 1196 const struct smb347_charger_platform_data *pdata;
1197 struct power_supply_config psy_cfg = {}; /* Only for mains and usb */
1197 struct device *dev = &client->dev; 1198 struct device *dev = &client->dev;
1198 struct smb347_charger *smb; 1199 struct smb347_charger *smb;
1199 int ret; 1200 int ret;
@@ -1223,15 +1224,15 @@ static int smb347_probe(struct i2c_client *client,
1223 if (ret < 0) 1224 if (ret < 0)
1224 return ret; 1225 return ret;
1225 1226
1227 psy_cfg.supplied_to = battery;
1228 psy_cfg.num_supplicants = ARRAY_SIZE(battery);
1226 if (smb->pdata->use_mains) { 1229 if (smb->pdata->use_mains) {
1227 smb->mains.name = "smb347-mains"; 1230 smb->mains.name = "smb347-mains";
1228 smb->mains.type = POWER_SUPPLY_TYPE_MAINS; 1231 smb->mains.type = POWER_SUPPLY_TYPE_MAINS;
1229 smb->mains.get_property = smb347_mains_get_property; 1232 smb->mains.get_property = smb347_mains_get_property;
1230 smb->mains.properties = smb347_mains_properties; 1233 smb->mains.properties = smb347_mains_properties;
1231 smb->mains.num_properties = ARRAY_SIZE(smb347_mains_properties); 1234 smb->mains.num_properties = ARRAY_SIZE(smb347_mains_properties);
1232 smb->mains.supplied_to = battery; 1235 ret = power_supply_register(dev, &smb->mains, &psy_cfg);
1233 smb->mains.num_supplicants = ARRAY_SIZE(battery);
1234 ret = power_supply_register(dev, &smb->mains);
1235 if (ret < 0) 1236 if (ret < 0)
1236 return ret; 1237 return ret;
1237 } 1238 }
@@ -1242,9 +1243,7 @@ static int smb347_probe(struct i2c_client *client,
1242 smb->usb.get_property = smb347_usb_get_property; 1243 smb->usb.get_property = smb347_usb_get_property;
1243 smb->usb.properties = smb347_usb_properties; 1244 smb->usb.properties = smb347_usb_properties;
1244 smb->usb.num_properties = ARRAY_SIZE(smb347_usb_properties); 1245 smb->usb.num_properties = ARRAY_SIZE(smb347_usb_properties);
1245 smb->usb.supplied_to = battery; 1246 ret = power_supply_register(dev, &smb->usb, &psy_cfg);
1246 smb->usb.num_supplicants = ARRAY_SIZE(battery);
1247 ret = power_supply_register(dev, &smb->usb);
1248 if (ret < 0) { 1247 if (ret < 0) {
1249 if (smb->pdata->use_mains) 1248 if (smb->pdata->use_mains)
1250 power_supply_unregister(&smb->mains); 1249 power_supply_unregister(&smb->mains);
@@ -1259,7 +1258,7 @@ static int smb347_probe(struct i2c_client *client,
1259 smb->battery.num_properties = ARRAY_SIZE(smb347_battery_properties); 1258 smb->battery.num_properties = ARRAY_SIZE(smb347_battery_properties);
1260 1259
1261 1260
1262 ret = power_supply_register(dev, &smb->battery); 1261 ret = power_supply_register(dev, &smb->battery, NULL);
1263 if (ret < 0) { 1262 if (ret < 0) {
1264 if (smb->pdata->use_usb) 1263 if (smb->pdata->use_usb)
1265 power_supply_unregister(&smb->usb); 1264 power_supply_unregister(&smb->usb);