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

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

regmap: merge regmap_fields_update_bits() into macro



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

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


/**
 * regmap_fields_update_bits():	Perform a read/modify/write cycle
 *                              on the register field
 *
 * @field: Register field to write to
 * @id: port ID
 * @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_fields_update_bits(struct regmap_field *field,  unsigned int id,
			      unsigned int mask, unsigned int val)
{
	if (id >= field->id_size)
		return -EINVAL;

	mask = (mask << field->shift) & field->mask;

	return regmap_update_bits(field->regmap,
				  field->reg + (field->id_offset * id),
				  mask, val << field->shift);
}
EXPORT_SYMBOL_GPL(regmap_fields_update_bits);

/*
/*
 * regmap_bulk_write(): Write multiple registers to the device
 * regmap_bulk_write(): Write multiple registers to the device
 *
 *
+2 −2
Original line number Original line Diff line number Diff line
@@ -81,6 +81,8 @@ 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_update_bits(field, id, mask, val)\
	regmap_fields_update_bits_base(field, id, mask, val, NULL, false, false)


#ifdef CONFIG_REGMAP
#ifdef CONFIG_REGMAP


@@ -787,8 +789,6 @@ int regmap_fields_force_write(struct regmap_field *field, unsigned int id,
			unsigned int val);
			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(struct regmap_field *field,  unsigned int id,
			      unsigned int mask, 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,
				   unsigned int mask, unsigned int val,
				   unsigned int mask, unsigned int val,
				   bool *change, bool async, bool force);
				   bool *change, bool async, bool force);