* [PATCH] leds: lm3642: Use regmap_update_bits() in lm3642_chip_init()
@ 2012-09-22 6:40 Axel Lin
2012-09-24 0:58 ` gshark
0 siblings, 1 reply; 3+ messages in thread
From: Axel Lin @ 2012-09-22 6:40 UTC (permalink / raw)
To: Bryan Wu; +Cc: G.Shark Jeong, Richard Purdie, linux-leds, linux-kernel
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>
---
drivers/leds/leds-lm3642.c | 15 +++------------
1 file changed, 3 insertions(+), 12 deletions(-)
diff --git a/drivers/leds/leds-lm3642.c b/drivers/leds/leds-lm3642.c
index 924853b..3285006 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;
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] leds: lm3642: Use regmap_update_bits() in lm3642_chip_init()
2012-09-22 6:40 [PATCH] leds: lm3642: Use regmap_update_bits() in lm3642_chip_init() Axel Lin
@ 2012-09-24 0:58 ` gshark
2012-09-24 11:11 ` Bryan Wu
0 siblings, 1 reply; 3+ messages in thread
From: gshark @ 2012-09-24 0:58 UTC (permalink / raw)
To: Axel Lin; +Cc: Bryan Wu, Richard Purdie, linux-leds, linux-kernel
2012년 09월 22일 15:40, Axel Lin 쓴 글:
> Use regmap_update_bits() to replace regmap_read() + regmap_write().
> With this patch, we only show the error message when regmap_update_bits()
> fails.
Looks good..You're right. Thank you Alex.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: G.Shark Jeong<gshark.jeong@gmail.com>
> ---
> drivers/leds/leds-lm3642.c | 15 +++------------
> 1 file changed, 3 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/leds/leds-lm3642.c b/drivers/leds/leds-lm3642.c
> index 924853b..3285006 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;
> }
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] leds: lm3642: Use regmap_update_bits() in lm3642_chip_init()
2012-09-24 0:58 ` gshark
@ 2012-09-24 11:11 ` Bryan Wu
0 siblings, 0 replies; 3+ messages in thread
From: Bryan Wu @ 2012-09-24 11:11 UTC (permalink / raw)
To: gshark; +Cc: Axel Lin, Richard Purdie, linux-leds, linux-kernel
On Mon, Sep 24, 2012 at 8:58 AM, gshark <gshark.jeong@gmail.com> wrote:
> 2012년 09월 22일 15:40, Axel Lin 쓴 글:
>
>> Use regmap_update_bits() to replace regmap_read() + regmap_write().
>> With this patch, we only show the error message when regmap_update_bits()
>> fails.
>
> Looks good..You're right. Thank you Alex.
>>
>>
>> Signed-off-by: Axel Lin <axel.lin@ingics.com>
>
> Acked-by: G.Shark Jeong<gshark.jeong@gmail.com>
>
Thanks, applied to my for-next.
-Bryan
>> ---
>> drivers/leds/leds-lm3642.c | 15 +++------------
>> 1 file changed, 3 insertions(+), 12 deletions(-)
>>
>> diff --git a/drivers/leds/leds-lm3642.c b/drivers/leds/leds-lm3642.c
>> index 924853b..3285006 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;
>> }
>>
>
>
--
Bryan Wu <bryan.wu@canonical.com>
Kernel Developer +86.186-168-78255 Mobile
Canonical Ltd. www.canonical.com
Ubuntu - Linux for human beings | www.ubuntu.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-09-24 11:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-22 6:40 [PATCH] leds: lm3642: Use regmap_update_bits() in lm3642_chip_init() Axel Lin
2012-09-24 0:58 ` gshark
2012-09-24 11:11 ` Bryan Wu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox