aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power/ab8500_fg.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/power/ab8500_fg.c')
-rw-r--r--drivers/power/ab8500_fg.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/power/ab8500_fg.c b/drivers/power/ab8500_fg.c
index 3830dade5d69..5a36cf88578a 100644
--- a/drivers/power/ab8500_fg.c
+++ b/drivers/power/ab8500_fg.c
@@ -2168,26 +2168,21 @@ static int ab8500_fg_get_property(struct power_supply *psy,
2168static int ab8500_fg_get_ext_psy_data(struct device *dev, void *data) 2168static int ab8500_fg_get_ext_psy_data(struct device *dev, void *data)
2169{ 2169{
2170 struct power_supply *psy; 2170 struct power_supply *psy;
2171 struct power_supply *ext; 2171 struct power_supply *ext = dev_get_drvdata(dev);
2172 const char **supplicants = (const char **)ext->supplied_to;
2172 struct ab8500_fg *di; 2173 struct ab8500_fg *di;
2173 union power_supply_propval ret; 2174 union power_supply_propval ret;
2174 int i, j; 2175 int j;
2175 bool psy_found = false;
2176 2176
2177 psy = (struct power_supply *)data; 2177 psy = (struct power_supply *)data;
2178 ext = dev_get_drvdata(dev);
2179 di = power_supply_get_drvdata(psy); 2178 di = power_supply_get_drvdata(psy);
2180 2179
2181 /* 2180 /*
2182 * For all psy where the name of your driver 2181 * For all psy where the name of your driver
2183 * appears in any supplied_to 2182 * appears in any supplied_to
2184 */ 2183 */
2185 for (i = 0; i < ext->num_supplicants; i++) { 2184 j = match_string(supplicants, ext->num_supplicants, psy->desc->name);
2186 if (!strcmp(ext->supplied_to[i], psy->desc->name)) 2185 if (j < 0)
2187 psy_found = true;
2188 }
2189
2190 if (!psy_found)
2191 return 0; 2186 return 0;
2192 2187
2193 /* Go through all properties for the psy */ 2188 /* Go through all properties for the psy */