diff options
author | Jingoo Han <jg1.han@samsung.com> | 2012-10-28 21:45:11 -0400 |
---|---|---|
committer | Bryan Wu <cooloney@gmail.com> | 2012-11-26 17:28:49 -0500 |
commit | 1b21ec5a2852ffd8db4189d4ef1c221aabc64936 (patch) | |
tree | 0de75151f99df8b7ec23b106171075f5464875dc | |
parent | 04553e925baaa815025c6fd3cdc301a794fa2c74 (diff) |
leds: leds-lp5523: fix build warnings
This patch fixes build warnings as below:
drivers/leds/leds-lp5523.c: In function 'lp5523_selftest':
drivers/leds/leds-lp5523.c:496:18: warning: 'adc' may be used uninitialized in this function [-Wuninitialized]
drivers/leds/leds-lp5523.c:471:5: warning: 'vdd' may be used uninitialized in this function [-Wuninitialized]
drivers/leds/leds-lp5523.c: In function 'lp5523_probe':
drivers/leds/leds-lp5523.c:252:9: warning: 'status' may be used uninitialized in this function [-Wuninitialized]
drivers/leds/leds-lp5523.c:201:5: note: 'status' was declared here
If lp5523_read() returns an error, problems will happen. Thus,
when lp5523_read() returns an error, it should be handled.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Bryan Wu <cooloney@gmail.com>
-rw-r--r-- | drivers/leds/leds-lp5523.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/drivers/leds/leds-lp5523.c b/drivers/leds/leds-lp5523.c index 97994ffdc014..4ddf7b445a83 100644 --- a/drivers/leds/leds-lp5523.c +++ b/drivers/leds/leds-lp5523.c | |||
@@ -248,7 +248,10 @@ static int lp5523_configure(struct i2c_client *client) | |||
248 | 248 | ||
249 | /* Let the programs run for couple of ms and check the engine status */ | 249 | /* Let the programs run for couple of ms and check the engine status */ |
250 | usleep_range(3000, 6000); | 250 | usleep_range(3000, 6000); |
251 | lp5523_read(client, LP5523_REG_STATUS, &status); | 251 | ret = lp5523_read(client, LP5523_REG_STATUS, &status); |
252 | if (ret < 0) | ||
253 | return ret; | ||
254 | |||
252 | status &= LP5523_ENG_STATUS_MASK; | 255 | status &= LP5523_ENG_STATUS_MASK; |
253 | 256 | ||
254 | if (status == LP5523_ENG_STATUS_MASK) { | 257 | if (status == LP5523_ENG_STATUS_MASK) { |
@@ -464,10 +467,16 @@ static ssize_t lp5523_selftest(struct device *dev, | |||
464 | LP5523_EN_LEDTEST | 16); | 467 | LP5523_EN_LEDTEST | 16); |
465 | usleep_range(3000, 6000); /* ADC conversion time is typically 2.7 ms */ | 468 | usleep_range(3000, 6000); /* ADC conversion time is typically 2.7 ms */ |
466 | ret = lp5523_read(chip->client, LP5523_REG_STATUS, &status); | 469 | ret = lp5523_read(chip->client, LP5523_REG_STATUS, &status); |
470 | if (ret < 0) | ||
471 | goto fail; | ||
472 | |||
467 | if (!(status & LP5523_LEDTEST_DONE)) | 473 | if (!(status & LP5523_LEDTEST_DONE)) |
468 | usleep_range(3000, 6000); /* Was not ready. Wait little bit */ | 474 | usleep_range(3000, 6000); /* Was not ready. Wait little bit */ |
469 | 475 | ||
470 | ret |= lp5523_read(chip->client, LP5523_REG_LED_TEST_ADC, &vdd); | 476 | ret = lp5523_read(chip->client, LP5523_REG_LED_TEST_ADC, &vdd); |
477 | if (ret < 0) | ||
478 | goto fail; | ||
479 | |||
471 | vdd--; /* There may be some fluctuation in measurement */ | 480 | vdd--; /* There may be some fluctuation in measurement */ |
472 | 481 | ||
473 | for (i = 0; i < LP5523_LEDS; i++) { | 482 | for (i = 0; i < LP5523_LEDS; i++) { |
@@ -489,9 +498,14 @@ static ssize_t lp5523_selftest(struct device *dev, | |||
489 | /* ADC conversion time is 2.7 ms typically */ | 498 | /* ADC conversion time is 2.7 ms typically */ |
490 | usleep_range(3000, 6000); | 499 | usleep_range(3000, 6000); |
491 | ret = lp5523_read(chip->client, LP5523_REG_STATUS, &status); | 500 | ret = lp5523_read(chip->client, LP5523_REG_STATUS, &status); |
501 | if (ret < 0) | ||
502 | goto fail; | ||
503 | |||
492 | if (!(status & LP5523_LEDTEST_DONE)) | 504 | if (!(status & LP5523_LEDTEST_DONE)) |
493 | usleep_range(3000, 6000);/* Was not ready. Wait. */ | 505 | usleep_range(3000, 6000);/* Was not ready. Wait. */ |
494 | ret |= lp5523_read(chip->client, LP5523_REG_LED_TEST_ADC, &adc); | 506 | ret = lp5523_read(chip->client, LP5523_REG_LED_TEST_ADC, &adc); |
507 | if (ret < 0) | ||
508 | goto fail; | ||
495 | 509 | ||
496 | if (adc >= vdd || adc < LP5523_ADC_SHORTCIRC_LIM) | 510 | if (adc >= vdd || adc < LP5523_ADC_SHORTCIRC_LIM) |
497 | pos += sprintf(buf + pos, "LED %d FAIL\n", i); | 511 | pos += sprintf(buf + pos, "LED %d FAIL\n", i); |