]> www.infradead.org Git - users/dwmw2/linux.git/commit
regmap: Account for register length when chunking
authorJim Wylder <jwylder@google.com>
Wed, 17 May 2023 15:20:11 +0000 (10:20 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Jun 2023 08:48:25 +0000 (10:48 +0200)
commitea115e9e2cf6b2dd97e4ca85d98e679b51d34dc8
treefc2bff699c6b47117a477f5f1a8335419dfe2ec8
parent6b31c11d879e147715e50a5bd8e1f0294c342292
regmap: Account for register length when chunking

commit 3981514180c987a79ea98f0ae06a7cbf58a9ac0f upstream.

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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/regmap/regmap.c