mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-07 15:56:59 +02:00
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:
parent
92c8047f24
commit
53e83caa87
@ -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);
|
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
|
* regmap_init_mem() - Set up a new register map that uses memory access
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user