Unverified Commit d1f4390d authored by Bartosz Golaszewski's avatar Bartosz Golaszewski Committed by Mark Brown
Browse files

regmap: provide regmap_assign_bits()



Add another bits helper to regmap API: this one sets given bits if value
is true and clears them if it's false.

Suggested-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://patch.msgid.link/20241108-assign-bits-v1-1-382790562d99@ideasonboard.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 953e5494
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -1335,6 +1335,15 @@ static inline int regmap_clear_bits(struct regmap *map,
	return regmap_update_bits_base(map, reg, bits, 0, NULL, false, false);
}

static inline int regmap_assign_bits(struct regmap *map, unsigned int reg,
				     unsigned int bits, bool value)
{
	if (value)
		return regmap_set_bits(map, reg, bits);
	else
		return regmap_clear_bits(map, reg, bits);
}

int regmap_test_bits(struct regmap *map, unsigned int reg, unsigned int bits);

/**
@@ -1803,6 +1812,13 @@ static inline int regmap_clear_bits(struct regmap *map,
	return -EINVAL;
}

static inline int regmap_assign_bits(struct regmap *map, unsigned int reg,
				     unsigned int bits, bool value)
{
	WARN_ONCE(1, "regmap API is disabled");
	return -EINVAL;
}

static inline int regmap_test_bits(struct regmap *map,
				   unsigned int reg, unsigned int bits)
{