regmap: Clean up _regmap_update_bits()
authorXiubo Li <Li.Xiubo@freescale.com>
Thu, 20 Feb 2014 00:50:10 +0000 (08:50 +0800)
committerMark Brown <broonie@linaro.org>
Thu, 20 Feb 2014 02:37:39 +0000 (11:37 +0900)
Since sometimes the 'config' parameter has no use, it should be NULL.
And make the code simplifier.

Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/base/regmap/regmap.c

index b897c1a88b560a8881fd2a88608ba801b0e45988..9a426c08148480bd91631992ac9fcdf3b9694a36 100644 (file)
@@ -1969,9 +1969,11 @@ static int _regmap_update_bits(struct regmap *map, unsigned int reg,
 
        if (tmp != orig) {
                ret = _regmap_write(map, reg, tmp);
-               *change = true;
+               if (change)
+                       *change = true;
        } else {
-               *change = false;
+               if (change)
+                       *change = false;
        }
 
        return ret;
@@ -1990,11 +1992,10 @@ static int _regmap_update_bits(struct regmap *map, unsigned int reg,
 int regmap_update_bits(struct regmap *map, unsigned int reg,
                       unsigned int mask, unsigned int val)
 {
-       bool change;
        int ret;
 
        map->lock(map->lock_arg);
-       ret = _regmap_update_bits(map, reg, mask, val, &change);
+       ret = _regmap_update_bits(map, reg, mask, val, NULL);
        map->unlock(map->lock_arg);
 
        return ret;
@@ -2019,14 +2020,13 @@ EXPORT_SYMBOL_GPL(regmap_update_bits);
 int regmap_update_bits_async(struct regmap *map, unsigned int reg,
                             unsigned int mask, unsigned int val)
 {
-       bool change;
        int ret;
 
        map->lock(map->lock_arg);
 
        map->async = true;
 
-       ret = _regmap_update_bits(map, reg, mask, val, &change);
+       ret = _regmap_update_bits(map, reg, mask, val, NULL);
 
        map->async = false;