regmap: Implement writable register checks
This is mainly intended to be used by devices which can dynamically block register writes at runtime, for other devices there is usually limited value. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
fb2736bbae
commit
7330478127
|
@ -211,6 +211,13 @@ static int _regmap_raw_write(struct regmap *map, unsigned int reg,
|
|||
void *buf;
|
||||
int ret = -ENOTSUPP;
|
||||
size_t len;
|
||||
int i;
|
||||
|
||||
/* Check for unwritable registers before we start */
|
||||
if (map->writeable_reg)
|
||||
for (i = 0; i < val_len / map->format.val_bytes; i++)
|
||||
if (!map->writeable_reg(map->dev, reg + i))
|
||||
return -EINVAL;
|
||||
|
||||
map->format.format_reg(map->work_buf, reg);
|
||||
|
||||
|
|
Loading…
Reference in a new issue