regmap: Add regmap_set/clear_bits shorthands

Port Linux kernel regmap_set/clear_bits shorthands to set and clear bits
in a regmap. These are handy if only specific bits needs to be applied
or cleared and makes it easier to port regmap based driver from kernel
upstream.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
Christian Marangi 2025-04-07 22:01:52 +02:00 committed by Tom Rini
parent 92c8047f24
commit 53e83caa87

View File

@ -361,6 +361,34 @@ int regmap_raw_read_range(struct regmap *map, uint range_num, uint offset,
*/
int regmap_update_bits(struct regmap *map, uint offset, uint mask, uint val);
/**
* regmap_set_bits() - Set bits to a regmap
*
* @map: Regmap to write bits to
* @offset: Offset in the regmap to write to
* @bits: Bits to set to the regmap at the specified offset
*
* Return: 0 if OK, -ve on error
*/
static inline int regmap_set_bits(struct regmap *map, uint offset, uint bits)
{
return regmap_update_bits(map, offset, bits, bits);
}
/**
* regmap_clear_bits() - Clear bits to a regmap
*
* @map: Regmap to write bits to
* @offset: Offset in the regmap to write to
* @bits: Bits to clear to the regmap at the specified offset
*
* Return: 0 if OK, -ve on error
*/
static inline int regmap_clear_bits(struct regmap *map, uint offset, uint bits)
{
return regmap_update_bits(map, offset, bits, 0);
}
/**
* regmap_init_mem() - Set up a new register map that uses memory access
*