OSDN Git Service

regmap: Account for register length when chunking
authorJim Wylder <jwylder@google.com>
Wed, 17 May 2023 15:20:11 +0000 (10:20 -0500)
committerMark Brown <broonie@kernel.org>
Thu, 18 May 2023 01:53:42 +0000 (10:53 +0900)
commit3981514180c987a79ea98f0ae06a7cbf58a9ac0f
treee2b2bbc9b9277acbd10796e9cba15b218d4c4e49
parent70a640c0efa7667453c3911b13335304ce46ad8b
regmap: Account for register length when chunking

Currently, when regmap_raw_write() splits the data, it uses the
max_raw_write value defined for the bus.  For any bus that includes
the target register address in the max_raw_write value, the chunked
transmission will always exceed the maximum transmission length.
To avoid this problem, subtract the length of the register and the
padding from the maximum transmission.

Signed-off-by: Jim Wylder <jwylder@google.com
Link: https://lore.kernel.org/r/20230517152444.3690870-2-jwylder@google.com
Signed-off-by: Mark Brown <broonie@kernel.org
drivers/base/regmap/regmap.c