diff options
| author | 2022-04-01 16:12:31 +0100 | |
|---|---|---|
| committer | 2022-04-01 16:12:31 +0100 | |
| commit | de4fb176622d54a82ea3ceb7362392aaf5ff0b5a (patch) | |
| tree | 8b510763d14d89b97cd719e79834c84e095932d7 /include/linux/regmap.h | |
| parent | ARM: 9191/1: arm/stacktrace, kasan: Silence KASAN warnings in unwind_frame() (diff) | |
| parent | ARM: 9189/1: decompressor: fix unneeded rebuilds of library objects (diff) | |
Merge branches 'fixes' and 'misc' into for-linus
Diffstat (limited to 'include/linux/regmap.h')
| -rw-r--r-- | include/linux/regmap.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h index e3c9a25a853a..22652e5fbc38 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h @@ -290,6 +290,11 @@ typedef void (*regmap_unlock)(void *); * read operation on a bus such as SPI, I2C, etc. Most of the * devices do not need this. * @reg_write: Same as above for writing. + * @reg_update_bits: Optional callback that if filled will be used to perform + * all the update_bits(rmw) operation. Should only be provided + * if the function require special handling with lock and reg + * handling and the operation cannot be represented as a simple + * update_bits operation on a bus such as SPI, I2C, etc. * @fast_io: Register IO is fast. Use a spinlock instead of a mutex * to perform locking. This field is ignored if custom lock/unlock * functions are used (see fields lock/unlock of struct regmap_config). @@ -372,6 +377,8 @@ struct regmap_config { int (*reg_read)(void *context, unsigned int reg, unsigned int *val); int (*reg_write)(void *context, unsigned int reg, unsigned int val); + int (*reg_update_bits)(void *context, unsigned int reg, + unsigned int mask, unsigned int val); bool fast_io; |
