diff options
author | Chris Lapa <chris@lapa.com.au> | 2016-06-23 22:26:10 -0400 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2016-06-28 14:05:41 -0400 |
commit | 3525e5c5b3dea03ff999c53be6392819165df820 (patch) | |
tree | 000cf21a53dad6c897a23081e4d9e9648ccdc5ed | |
parent | 88a469bbb2012448db266f3783448c673be7208a (diff) |
max8903: removes non zero validity checks on gpios.
Prior to this commit a zero gpio was treated as invalid. Whereas
gpio_is_valid() will treat a zero gpio as valid.
This commit removes the confusion and explicitly uses gpio_is_valid()
throughout. Which in turn results in several of the error messages becoming
redundant and thus removed.
Signed-off-by: Chris Lapa <chris@lapa.com.au>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
-rw-r--r-- | drivers/power/max8903_charger.c | 115 |
1 files changed, 47 insertions, 68 deletions
diff --git a/drivers/power/max8903_charger.c b/drivers/power/max8903_charger.c index 3f35593443b3..643a87aac60f 100644 --- a/drivers/power/max8903_charger.c +++ b/drivers/power/max8903_charger.c | |||
@@ -53,7 +53,7 @@ static int max8903_get_property(struct power_supply *psy, | |||
53 | switch (psp) { | 53 | switch (psp) { |
54 | case POWER_SUPPLY_PROP_STATUS: | 54 | case POWER_SUPPLY_PROP_STATUS: |
55 | val->intval = POWER_SUPPLY_STATUS_UNKNOWN; | 55 | val->intval = POWER_SUPPLY_STATUS_UNKNOWN; |
56 | if (data->pdata->chg) { | 56 | if (gpio_is_valid(data->pdata->chg)) { |
57 | if (gpio_get_value(data->pdata->chg) == 0) | 57 | if (gpio_get_value(data->pdata->chg) == 0) |
58 | val->intval = POWER_SUPPLY_STATUS_CHARGING; | 58 | val->intval = POWER_SUPPLY_STATUS_CHARGING; |
59 | else if (data->usb_in || data->ta_in) | 59 | else if (data->usb_in || data->ta_in) |
@@ -93,11 +93,11 @@ static irqreturn_t max8903_dcin(int irq, void *_data) | |||
93 | data->ta_in = ta_in; | 93 | data->ta_in = ta_in; |
94 | 94 | ||
95 | /* Set Current-Limit-Mode 1:DC 0:USB */ | 95 | /* Set Current-Limit-Mode 1:DC 0:USB */ |
96 | if (pdata->dcm) | 96 | if (gpio_is_valid(pdata->dcm)) |
97 | gpio_set_value(pdata->dcm, ta_in ? 1 : 0); | 97 | gpio_set_value(pdata->dcm, ta_in ? 1 : 0); |
98 | 98 | ||
99 | /* Charger Enable / Disable (cen is negated) */ | 99 | /* Charger Enable / Disable (cen is negated) */ |
100 | if (pdata->cen) | 100 | if (gpio_is_valid(pdata->cen)) |
101 | gpio_set_value(pdata->cen, ta_in ? 0 : | 101 | gpio_set_value(pdata->cen, ta_in ? 0 : |
102 | (data->usb_in ? 0 : 1)); | 102 | (data->usb_in ? 0 : 1)); |
103 | 103 | ||
@@ -136,7 +136,7 @@ static irqreturn_t max8903_usbin(int irq, void *_data) | |||
136 | /* Do not touch Current-Limit-Mode */ | 136 | /* Do not touch Current-Limit-Mode */ |
137 | 137 | ||
138 | /* Charger Enable / Disable (cen is negated) */ | 138 | /* Charger Enable / Disable (cen is negated) */ |
139 | if (pdata->cen) | 139 | if (gpio_is_valid(pdata->cen)) |
140 | gpio_set_value(pdata->cen, usb_in ? 0 : | 140 | gpio_set_value(pdata->cen, usb_in ? 0 : |
141 | (data->ta_in ? 0 : 1)); | 141 | (data->ta_in ? 0 : 1)); |
142 | 142 | ||
@@ -190,7 +190,7 @@ static int max8903_setup_gpios(struct platform_device *pdev) | |||
190 | int usb_in = 0; | 190 | int usb_in = 0; |
191 | 191 | ||
192 | if (pdata->dc_valid) { | 192 | if (pdata->dc_valid) { |
193 | if (pdata->dok && gpio_is_valid(pdata->dok)) { | 193 | if (gpio_is_valid(pdata->dok)) { |
194 | ret = devm_gpio_request(dev, pdata->dok, | 194 | ret = devm_gpio_request(dev, pdata->dok, |
195 | data->psy_desc.name); | 195 | data->psy_desc.name); |
196 | if (ret) { | 196 | if (ret) { |
@@ -208,27 +208,21 @@ static int max8903_setup_gpios(struct platform_device *pdev) | |||
208 | } | 208 | } |
209 | } | 209 | } |
210 | 210 | ||
211 | if (pdata->dcm) { | 211 | if (gpio_is_valid(pdata->dcm)) { |
212 | if (gpio_is_valid(pdata->dcm)) { | 212 | ret = devm_gpio_request(dev, pdata->dcm, data->psy_desc.name); |
213 | ret = devm_gpio_request(dev, pdata->dcm, | 213 | if (ret) { |
214 | data->psy_desc.name); | 214 | dev_err(dev, |
215 | if (ret) { | 215 | "Failed GPIO request for dcm: %d err %d\n", |
216 | dev_err(dev, | 216 | pdata->dcm, ret); |
217 | "Failed GPIO request for dcm: %d err %d\n", | 217 | return ret; |
218 | pdata->dcm, ret); | ||
219 | return ret; | ||
220 | } | ||
221 | |||
222 | gpio = pdata->dcm; /* Output */ | ||
223 | gpio_set_value(gpio, ta_in); | ||
224 | } else { | ||
225 | dev_err(dev, "Invalid pin: dcm.\n"); | ||
226 | return -EINVAL; | ||
227 | } | 218 | } |
219 | |||
220 | gpio = pdata->dcm; /* Output */ | ||
221 | gpio_set_value(gpio, ta_in); | ||
228 | } | 222 | } |
229 | 223 | ||
230 | if (pdata->usb_valid) { | 224 | if (pdata->usb_valid) { |
231 | if (pdata->uok && gpio_is_valid(pdata->uok)) { | 225 | if (gpio_is_valid(pdata->uok)) { |
232 | ret = devm_gpio_request(dev, pdata->uok, | 226 | ret = devm_gpio_request(dev, pdata->uok, |
233 | data->psy_desc.name); | 227 | data->psy_desc.name); |
234 | if (ret) { | 228 | if (ret) { |
@@ -247,60 +241,45 @@ static int max8903_setup_gpios(struct platform_device *pdev) | |||
247 | } | 241 | } |
248 | } | 242 | } |
249 | 243 | ||
250 | if (pdata->cen) { | 244 | if (gpio_is_valid(pdata->cen)) { |
251 | if (gpio_is_valid(pdata->cen)) { | 245 | ret = devm_gpio_request(dev, pdata->cen, data->psy_desc.name); |
252 | ret = devm_gpio_request(dev, pdata->cen, | 246 | if (ret) { |
253 | data->psy_desc.name); | 247 | dev_err(dev, |
254 | if (ret) { | 248 | "Failed GPIO request for cen: %d err %d\n", |
255 | dev_err(dev, | 249 | pdata->cen, ret); |
256 | "Failed GPIO request for cen: %d err %d\n", | 250 | return ret; |
257 | pdata->cen, ret); | ||
258 | return ret; | ||
259 | } | ||
260 | |||
261 | gpio_set_value(pdata->cen, (ta_in || usb_in) ? 0 : 1); | ||
262 | } else { | ||
263 | dev_err(dev, "Invalid pin: cen.\n"); | ||
264 | return -EINVAL; | ||
265 | } | 251 | } |
252 | |||
253 | gpio_set_value(pdata->cen, (ta_in || usb_in) ? 0 : 1); | ||
266 | } | 254 | } |
267 | 255 | ||
268 | if (pdata->chg) { | 256 | if (gpio_is_valid(pdata->chg)) { |
269 | if (gpio_is_valid(pdata->chg)) { | 257 | ret = devm_gpio_request(dev, pdata->chg, data->psy_desc.name); |
270 | ret = devm_gpio_request(dev, pdata->chg, | 258 | if (ret) { |
271 | data->psy_desc.name); | 259 | dev_err(dev, |
272 | if (ret) { | 260 | "Failed GPIO request for chg: %d err %d\n", |
273 | dev_err(dev, | 261 | pdata->chg, ret); |
274 | "Failed GPIO request for chg: %d err %d\n", | 262 | return ret; |
275 | pdata->chg, ret); | ||
276 | return ret; | ||
277 | } | ||
278 | } | 263 | } |
279 | } | 264 | } |
280 | 265 | ||
281 | if (pdata->flt) { | 266 | if (gpio_is_valid(pdata->flt)) { |
282 | if (gpio_is_valid(pdata->flt)) { | 267 | ret = devm_gpio_request(dev, pdata->flt, data->psy_desc.name); |
283 | ret = devm_gpio_request(dev, pdata->flt, | 268 | if (ret) { |
284 | data->psy_desc.name); | 269 | dev_err(dev, |
285 | if (ret) { | 270 | "Failed GPIO request for flt: %d err %d\n", |
286 | dev_err(dev, | 271 | pdata->flt, ret); |
287 | "Failed GPIO request for flt: %d err %d\n", | 272 | return ret; |
288 | pdata->flt, ret); | ||
289 | return ret; | ||
290 | } | ||
291 | } | 273 | } |
292 | } | 274 | } |
293 | 275 | ||
294 | if (pdata->usus) { | 276 | if (gpio_is_valid(pdata->usus)) { |
295 | if (gpio_is_valid(pdata->usus)) { | 277 | ret = devm_gpio_request(dev, pdata->usus, data->psy_desc.name); |
296 | ret = devm_gpio_request(dev, pdata->usus, | 278 | if (ret) { |
297 | data->psy_desc.name); | 279 | dev_err(dev, |
298 | if (ret) { | 280 | "Failed GPIO request for usus: %d err %d\n", |
299 | dev_err(dev, | 281 | pdata->usus, ret); |
300 | "Failed GPIO request for usus: %d err %d\n", | 282 | return ret; |
301 | pdata->usus, ret); | ||
302 | return ret; | ||
303 | } | ||
304 | } | 283 | } |
305 | } | 284 | } |
306 | 285 | ||
@@ -385,7 +364,7 @@ static int max8903_probe(struct platform_device *pdev) | |||
385 | } | 364 | } |
386 | } | 365 | } |
387 | 366 | ||
388 | if (pdata->flt) { | 367 | if (gpio_is_valid(pdata->flt)) { |
389 | ret = devm_request_threaded_irq(dev, gpio_to_irq(pdata->flt), | 368 | ret = devm_request_threaded_irq(dev, gpio_to_irq(pdata->flt), |
390 | NULL, max8903_fault, | 369 | NULL, max8903_fault, |
391 | IRQF_TRIGGER_FALLING | | 370 | IRQF_TRIGGER_FALLING | |