mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-15 17:34:43 +00:00
dm: regmap: Fix mask in regmap_update_bits()
This function assumes that the 'val' parameter has no masked bits set. This is not defined by the function prototype though. Fix the function to mask the value and update the documentation. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
This commit is contained in:
parent
619025b8d6
commit
5ca5ec1e32
2 changed files with 3 additions and 2 deletions
|
@ -462,5 +462,5 @@ int regmap_update_bits(struct regmap *map, uint offset, uint mask, uint val)
|
|||
|
||||
reg &= ~mask;
|
||||
|
||||
return regmap_write(map, offset, reg | val);
|
||||
return regmap_write(map, offset, reg | (val & mask));
|
||||
}
|
||||
|
|
|
@ -295,7 +295,8 @@ int regmap_raw_read_range(struct regmap *map, uint range_num, uint offset,
|
|||
* @map: The map returned by regmap_init_mem*()
|
||||
* @offset: Offset of the memory
|
||||
* @mask: Mask to apply to the read value
|
||||
* @val: Value to apply to the value to write
|
||||
* @val: Value to OR with the read value after masking. Note that any
|
||||
* bits set in @val which are not set in @mask are ignored
|
||||
* Return: 0 if OK, -ve on error
|
||||
*/
|
||||
int regmap_update_bits(struct regmap *map, uint offset, uint mask, uint val);
|
||||
|
|
Loading…
Add table
Reference in a new issue