diff options
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; |