diff options
author | Dmitry Baryshkov <dmitry.baryshkov@linaro.org> | 2020-09-17 18:34:05 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-09-21 22:58:02 +0300 |
commit | 05669b63170771d554854c0e465b76dc98fc7c84 (patch) | |
tree | 4ae810e58655b757338ded381c449a9557ed95cd /drivers/base/regmap/internal.h | |
parent | 4003324856311faebb46cbd56a1616bd3f3b67c2 (diff) | |
download | linux-05669b63170771d554854c0e465b76dc98fc7c84.tar.xz |
regmap: fix page selection for noinc writes
Non-incrementing writes can fail if register + length crosses page
border. However for non-incrementing writes we should not check for page
border crossing. Fix this by passing additional flag to _regmap_raw_write
and passing length to _regmap_select_page basing on the flag.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fixes: cdf6b11daa77 ("regmap: Add regmap_noinc_write API")
Link: https://lore.kernel.org/r/20200917153405.3139200-2-dmitry.baryshkov@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/base/regmap/internal.h')
-rw-r--r-- | drivers/base/regmap/internal.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/base/regmap/internal.h b/drivers/base/regmap/internal.h index e0ff8e90ebdc..7be2fcfeea52 100644 --- a/drivers/base/regmap/internal.h +++ b/drivers/base/regmap/internal.h @@ -259,7 +259,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); + const void *val, size_t val_len, bool noinc); void regmap_async_complete_cb(struct regmap_async *async, int ret); |