mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-20 05:43:09 +00:00
regmap: Allow longer flag masks for read and write
We currently only support masking the top bit for read and write flags. Let's make the mask unsigned long and mask the bytes based on the configured register length to make things more generic. This allows using regmap for more exotic combinations like SPI devices that need little endian addressing. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
29b4817d40
commit
f50e38c996
3 changed files with 25 additions and 19 deletions
|
@ -241,9 +241,9 @@ typedef void (*regmap_unlock)(void *);
|
|||
* register cache support).
|
||||
* @num_reg_defaults: Number of elements in reg_defaults.
|
||||
*
|
||||
* @read_flag_mask: Mask to be set in the top byte of the register when doing
|
||||
* @read_flag_mask: Mask to be set in the top bytes of the register when doing
|
||||
* a read.
|
||||
* @write_flag_mask: Mask to be set in the top byte of the register when doing
|
||||
* @write_flag_mask: Mask to be set in the top bytes of the register when doing
|
||||
* a write. If both read_flag_mask and write_flag_mask are
|
||||
* empty the regmap_bus default masks are used.
|
||||
* @use_single_rw: If set, converts the bulk read and write operations into
|
||||
|
@ -299,8 +299,8 @@ struct regmap_config {
|
|||
const void *reg_defaults_raw;
|
||||
unsigned int num_reg_defaults_raw;
|
||||
|
||||
u8 read_flag_mask;
|
||||
u8 write_flag_mask;
|
||||
unsigned long read_flag_mask;
|
||||
unsigned long write_flag_mask;
|
||||
|
||||
bool use_single_rw;
|
||||
bool can_multi_write;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue