diff options
Diffstat (limited to 'drivers/base/regmap/internal.h')
| -rw-r--r-- | drivers/base/regmap/internal.h | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/base/regmap/internal.h b/drivers/base/regmap/internal.h index 57f777835d9..7d1326985be 100644 --- a/drivers/base/regmap/internal.h +++ b/drivers/base/regmap/internal.h @@ -44,7 +44,6 @@ struct regmap_format {  struct regmap_async {  	struct list_head list; -	struct work_struct cleanup;  	struct regmap *map;  	void *work_buf;  }; @@ -64,9 +63,11 @@ struct regmap {  	void *bus_context;  	const char *name; +	bool async;  	spinlock_t async_lock;  	wait_queue_head_t async_waitq;  	struct list_head async_list; +	struct list_head async_free;  	int async_ret;  #ifdef CONFIG_DEBUG_FS @@ -133,6 +134,8 @@ struct regmap {  	/* if set, converts bulk rw to single rw */  	bool use_single_rw; +	/* if set, the device supports multi write mode */ +	bool can_multi_write;  	struct rb_root range_tree;  	void *selector_work_buf;	/* Scratch buffer used for selector */ @@ -179,6 +182,9 @@ struct regmap_field {  	/* lsb */  	unsigned int shift;  	unsigned int reg; + +	unsigned int id_size; +	unsigned int id_offset;  };  #ifdef CONFIG_DEBUG_FS @@ -218,7 +224,7 @@ bool regcache_set_val(struct regmap *map, void *base, unsigned int idx,  int regcache_lookup_reg(struct regmap *map, unsigned int reg);  int _regmap_raw_write(struct regmap *map, unsigned int reg, -		      const void *val, size_t val_len, bool async); +		      const void *val, size_t val_len);  void regmap_async_complete_cb(struct regmap_async *async, int ret);  | 
