diff options
| author | David Frey <dpfrey@gmail.com> | 2018-09-01 12:50:41 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2018-09-07 08:03:55 -0400 |
| commit | 1c96a2f67cd9b617b013f0a7580d76aae7dcd0d7 (patch) | |
| tree | 3face74ddb493620322aade5c20d721826e38486 /include/linux | |
| parent | 9ad8eb0168ab76786f65d4b80ce082980f79a1d9 (diff) | |
regmap: split up regmap_config.use_single_rw
Split regmap_config.use_single_rw into use_single_read and
use_single_write. This change enables drivers of devices which only
support bulk operations in one direction to use the regmap_bulk_*()
functions for both directions and have their bulk operation split into
single operations only when necessary.
Update all struct regmap_config instances where use_single_rw==true to
instead set both use_single_read and use_single_write. No attempt was
made to evaluate whether it is possible to set only one of
use_single_read or use_single_write.
Signed-off-by: David Frey <dpfrey@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/regmap.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h index 379505a53722..6ea9bf9377cb 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h | |||
| @@ -315,9 +315,12 @@ typedef void (*regmap_unlock)(void *); | |||
| 315 | * masks are used. | 315 | * masks are used. |
| 316 | * @zero_flag_mask: If set, read_flag_mask and write_flag_mask are used even | 316 | * @zero_flag_mask: If set, read_flag_mask and write_flag_mask are used even |
| 317 | * if they are both empty. | 317 | * if they are both empty. |
| 318 | * @use_single_rw: If set, converts the bulk read and write operations into | 318 | * @use_single_read: If set, converts the bulk read operation into a series of |
| 319 | * a series of single read and write operations. This is useful | 319 | * single read operations. This is useful for a device that |
| 320 | * for device that does not support bulk read and write. | 320 | * does not support bulk read. |
| 321 | * @use_single_write: If set, converts the bulk write operation into a series of | ||
| 322 | * single write operations. This is useful for a device that | ||
| 323 | * does not support bulk write. | ||
| 321 | * @can_multi_write: If set, the device supports the multi write mode of bulk | 324 | * @can_multi_write: If set, the device supports the multi write mode of bulk |
| 322 | * write operations, if clear multi write requests will be | 325 | * write operations, if clear multi write requests will be |
| 323 | * split into individual write operations | 326 | * split into individual write operations |
| @@ -380,7 +383,8 @@ struct regmap_config { | |||
| 380 | unsigned long write_flag_mask; | 383 | unsigned long write_flag_mask; |
| 381 | bool zero_flag_mask; | 384 | bool zero_flag_mask; |
| 382 | 385 | ||
| 383 | bool use_single_rw; | 386 | bool use_single_read; |
| 387 | bool use_single_write; | ||
| 384 | bool can_multi_write; | 388 | bool can_multi_write; |
| 385 | 389 | ||
| 386 | enum regmap_endian reg_format_endian; | 390 | enum regmap_endian reg_format_endian; |
