Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e874e6c7 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
Browse files

regmap: add regmap_fields_force_write()



regmap_fields_force_write() is similar to regmap_fields_write(),
but regmap_fields_force_write() write data to register even though
it is same value.

Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent fd4b7286
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -1624,6 +1624,18 @@ int regmap_fields_write(struct regmap_field *field, unsigned int id,
}
EXPORT_SYMBOL_GPL(regmap_fields_write);

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_fields_update_bits():	Perform a read/modify/write cycle
 *                              on the register field
+2 −0
Original line number Diff line number Diff line
@@ -505,6 +505,8 @@ int regmap_field_update_bits(struct regmap_field *field,

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,
			unsigned int val);
int regmap_fields_read(struct regmap_field *field, unsigned int id,
		       unsigned int *val);
int regmap_fields_update_bits(struct regmap_field *field,  unsigned int id,