diff options
author | Axel Lin <axel.lin@ingics.com> | 2012-09-22 14:40:14 +0800 |
---|---|---|
committer | Bryan Wu <bryan.wu@canonical.com> | 2012-09-24 12:24:22 +0800 |
commit | e76a322af16ba7be9b303239352e140209bf3822 (patch) | |
tree | 1d811be54daa4c11b196fea6f9b8457318cd9e29 /drivers/leds | |
parent | 8b7cfbec052d3a0b8e8c7de24a6b5f00d340e193 (diff) | |
download | linux-stable-e76a322af16ba7be9b303239352e140209bf3822.tar.gz linux-stable-e76a322af16ba7be9b303239352e140209bf3822.tar.bz2 linux-stable-e76a322af16ba7be9b303239352e140209bf3822.zip |
leds: lm3642: Use regmap_update_bits() in lm3642_chip_init()
Use regmap_update_bits() to replace regmap_read() + regmap_write().
With this patch, we only show the error message when regmap_update_bits()
fails.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: G.Shark Jeong<gshark.jeong@gmail.com>
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
Diffstat (limited to 'drivers/leds')
-rw-r--r-- | drivers/leds/leds-lm3642.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/leds/leds-lm3642.c b/drivers/leds/leds-lm3642.c index 924853b7922c..3285006e9888 100644 --- a/drivers/leds/leds-lm3642.c +++ b/drivers/leds/leds-lm3642.c @@ -95,23 +95,14 @@ struct lm3642_chip_data { /* chip initialize */ static int __devinit lm3642_chip_init(struct lm3642_chip_data *chip) { - unsigned int reg_val; int ret; struct lm3642_platform_data *pdata = chip->pdata; /* set enable register */ - ret = regmap_read(chip->regmap, REG_ENABLE, ®_val); + ret = regmap_update_bits(chip->regmap, REG_ENABLE, EX_PIN_ENABLE_MASK, + pdata->tx_pin); if (ret < 0) - goto out; - - reg_val &= (~EX_PIN_ENABLE_MASK); - reg_val |= pdata->tx_pin; - ret = regmap_write(chip->regmap, REG_ENABLE, reg_val); - if (ret < 0) - goto out; - -out: - dev_err(chip->dev, "Failed to read REG_ENABLE Register\n"); + dev_err(chip->dev, "Failed to update REG_ENABLE Register\n"); return ret; } |