[PATCH 08/15 v2][RFC] regmap: merge regmap_field_update_bits() into macro

From: Kuninori Morimoto
Date: Mon Feb 15 2016 - 00:24:43 EST



From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>

This patch merges regmap_field_update_bits() into macro
by using regmap_field_update_bits_base().

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
---
drivers/base/regmap/regmap.c | 20 --------------------
include/linux/regmap.h | 4 ++--
2 files changed, 2 insertions(+), 22 deletions(-)

diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index 228dce2..606c9b5 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -1717,26 +1717,6 @@ int regmap_field_update_bits_base(struct regmap_field *field,
EXPORT_SYMBOL_GPL(regmap_field_update_bits_base);

/**
- * regmap_field_update_bits(): Perform a read/modify/write cycle
- * on the register field
- *
- * @field: Register field to write to
- * @mask: Bitmask to change
- * @val: Value to be written
- *
- * A value of zero will be returned on success, a negative errno will
- * be returned in error cases.
- */
-int regmap_field_update_bits(struct regmap_field *field, unsigned int mask, unsigned int val)
-{
- mask = (mask << field->shift) & field->mask;
-
- return regmap_update_bits(field->regmap, field->reg,
- mask, val << field->shift);
-}
-EXPORT_SYMBOL_GPL(regmap_field_update_bits);
-
-/**
* regmap_fields_write(): Write a value to a single register field with port ID
*
* @field: Register field to write to
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index 13e9ebd..e525bee 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -76,6 +76,8 @@ struct reg_sequence {

#define regmap_field_write(field, val) \
regmap_field_update_bits_base(field, ~0, val, NULL, false, false)
+#define regmap_field_update_bits(field, mask, val)\
+ regmap_field_update_bits_base(field, mask, val, NULL, false, false)

#ifdef CONFIG_REGMAP

@@ -778,8 +780,6 @@ int regmap_field_read(struct regmap_field *field, unsigned int *val);
int regmap_field_update_bits_base(struct regmap_field *field,
unsigned int mask, unsigned int val,
bool *change, bool async, bool force);
-int regmap_field_update_bits(struct regmap_field *field,
- unsigned int mask, unsigned int val);
int regmap_fields_write(struct regmap_field *field, unsigned int id,
unsigned int val);
int regmap_fields_force_write(struct regmap_field *field, unsigned int id,
--
1.9.1