Commit e6ef243f authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

regmap: add regmap_fields_force_xxx() macros

Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 489061bb
...@@ -1748,18 +1748,6 @@ int regmap_fields_update_bits_base(struct regmap_field *field, unsigned int id, ...@@ -1748,18 +1748,6 @@ int regmap_fields_update_bits_base(struct regmap_field *field, unsigned int id,
} }
EXPORT_SYMBOL_GPL(regmap_fields_update_bits_base); EXPORT_SYMBOL_GPL(regmap_fields_update_bits_base);
int regmap_fields_force_write(struct regmap_field *field, unsigned int id,
unsigned int val)
{
if (id >= field->id_size)
return -EINVAL;
return regmap_write_bits(field->regmap,
field->reg + (field->id_offset * id),
field->mask, val << field->shift);
}
EXPORT_SYMBOL_GPL(regmap_fields_force_write);
/* /*
* regmap_bulk_write(): Write multiple registers to the device * regmap_bulk_write(): Write multiple registers to the device
* *
......
...@@ -85,8 +85,12 @@ struct reg_sequence { ...@@ -85,8 +85,12 @@ struct reg_sequence {
#define regmap_fields_write(field, id, val) \ #define regmap_fields_write(field, id, val) \
regmap_fields_update_bits_base(field, id, ~0, val, NULL, false, false) regmap_fields_update_bits_base(field, id, ~0, val, NULL, false, false)
#define regmap_fields_force_write(field, id, val) \
regmap_fields_update_bits_base(field, id, ~0, val, NULL, false, true)
#define regmap_fields_update_bits(field, id, mask, val)\ #define regmap_fields_update_bits(field, id, mask, val)\
regmap_fields_update_bits_base(field, id, mask, val, NULL, false, false) regmap_fields_update_bits_base(field, id, mask, val, NULL, false, false)
#define regmap_fields_force_update_bits(field, id, mask, val) \
regmap_fields_update_bits_base(field, id, mask, val, NULL, false, true)
#ifdef CONFIG_REGMAP #ifdef CONFIG_REGMAP
...@@ -789,8 +793,6 @@ int regmap_field_read(struct regmap_field *field, unsigned int *val); ...@@ -789,8 +793,6 @@ int regmap_field_read(struct regmap_field *field, unsigned int *val);
int regmap_field_update_bits_base(struct regmap_field *field, int regmap_field_update_bits_base(struct regmap_field *field,
unsigned int mask, unsigned int val, unsigned int mask, unsigned int val,
bool *change, bool async, bool force); bool *change, bool async, bool force);
int regmap_fields_force_write(struct regmap_field *field, unsigned int id,
unsigned int val);
int regmap_fields_read(struct regmap_field *field, unsigned int id, int regmap_fields_read(struct regmap_field *field, unsigned int id,
unsigned int *val); unsigned int *val);
int regmap_fields_update_bits_base(struct regmap_field *field, unsigned int id, int regmap_fields_update_bits_base(struct regmap_field *field, unsigned int id,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment