diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2016-02-15 00:22:42 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-02-19 11:15:56 -0500 |
commit | ca7a94464b5457a8dc5add19f6fc3bea59d6193f (patch) | |
tree | f955c358eaeec7bf4556524cb744ea16f81430b4 | |
parent | 91d31b9f8e7662726f273fc32b25f4099d78de4a (diff) |
regmap: merge regmap_update_bits() into macro
Current regmap has many similar update functions like below,
but the difference is very few.
regmap_update_bits()
regmap_update_bits_async()
regmap_update_bits_check()
regmap_update_bits_check_async()
Furthermore, we can add *force* write option too in the future.
This patch merges regmap_update_bits() into macro
by using regmap_update_bits_base().
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | drivers/base/regmap/regmap.c | 23 | ||||
-rw-r--r-- | include/linux/regmap.h | 12 |
2 files changed, 3 insertions, 32 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index 4e35b2f41304..281898a97e8f 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c | |||
@@ -2688,29 +2688,6 @@ int regmap_update_bits_base(struct regmap *map, unsigned int reg, | |||
2688 | EXPORT_SYMBOL_GPL(regmap_update_bits_base); | 2688 | EXPORT_SYMBOL_GPL(regmap_update_bits_base); |
2689 | 2689 | ||
2690 | /** | 2690 | /** |
2691 | * regmap_update_bits: Perform a read/modify/write cycle on the register map | ||
2692 | * | ||
2693 | * @map: Register map to update | ||
2694 | * @reg: Register to update | ||
2695 | * @mask: Bitmask to change | ||
2696 | * @val: New value for bitmask | ||
2697 | * | ||
2698 | * Returns zero for success, a negative number on error. | ||
2699 | */ | ||
2700 | int regmap_update_bits(struct regmap *map, unsigned int reg, | ||
2701 | unsigned int mask, unsigned int val) | ||
2702 | { | ||
2703 | int ret; | ||
2704 | |||
2705 | map->lock(map->lock_arg); | ||
2706 | ret = _regmap_update_bits(map, reg, mask, val, NULL, false); | ||
2707 | map->unlock(map->lock_arg); | ||
2708 | |||
2709 | return ret; | ||
2710 | } | ||
2711 | EXPORT_SYMBOL_GPL(regmap_update_bits); | ||
2712 | |||
2713 | /** | ||
2714 | * regmap_write_bits: Perform a read/modify/write cycle on the register map | 2691 | * regmap_write_bits: Perform a read/modify/write cycle on the register map |
2715 | * | 2692 | * |
2716 | * @map: Register map to update | 2693 | * @map: Register map to update |
diff --git a/include/linux/regmap.h b/include/linux/regmap.h index 28e50a3d2872..500b36cbc7aa 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h | |||
@@ -65,6 +65,9 @@ struct reg_sequence { | |||
65 | unsigned int delay_us; | 65 | unsigned int delay_us; |
66 | }; | 66 | }; |
67 | 67 | ||
68 | #define regmap_update_bits(map, reg, mask, val) \ | ||
69 | regmap_update_bits_base(map, reg, mask, val, NULL, false, false) | ||
70 | |||
68 | #ifdef CONFIG_REGMAP | 71 | #ifdef CONFIG_REGMAP |
69 | 72 | ||
70 | enum regmap_endian { | 73 | enum regmap_endian { |
@@ -694,8 +697,6 @@ int regmap_bulk_read(struct regmap *map, unsigned int reg, void *val, | |||
694 | int regmap_update_bits_base(struct regmap *map, unsigned int reg, | 697 | int regmap_update_bits_base(struct regmap *map, unsigned int reg, |
695 | unsigned int mask, unsigned int val, | 698 | unsigned int mask, unsigned int val, |
696 | bool *change, bool async, bool force); | 699 | bool *change, bool async, bool force); |
697 | int regmap_update_bits(struct regmap *map, unsigned int reg, | ||
698 | unsigned int mask, unsigned int val); | ||
699 | int regmap_write_bits(struct regmap *map, unsigned int reg, | 700 | int regmap_write_bits(struct regmap *map, unsigned int reg, |
700 | unsigned int mask, unsigned int val); | 701 | unsigned int mask, unsigned int val); |
701 | int regmap_update_bits_async(struct regmap *map, unsigned int reg, | 702 | int regmap_update_bits_async(struct regmap *map, unsigned int reg, |
@@ -948,13 +949,6 @@ static inline int regmap_update_bits_base(struct regmap *map, unsigned int reg, | |||
948 | return -EINVAL; | 949 | return -EINVAL; |
949 | } | 950 | } |
950 | 951 | ||
951 | static inline int regmap_update_bits(struct regmap *map, unsigned int reg, | ||
952 | unsigned int mask, unsigned int val) | ||
953 | { | ||
954 | WARN_ONCE(1, "regmap API is disabled"); | ||
955 | return -EINVAL; | ||
956 | } | ||
957 | |||
958 | static inline int regmap_write_bits(struct regmap *map, unsigned int reg, | 952 | static inline int regmap_write_bits(struct regmap *map, unsigned int reg, |
959 | unsigned int mask, unsigned int val) | 953 | unsigned int mask, unsigned int val) |
960 | { | 954 | { |