[PATCH v2] regmap: Clarify regmap_update_bits_base() 'async' kernel-doc

Bjorn Helgaas <[email protected]> Tue, 21 Jul 2026 10:49:02 -0500
Newsgroups dev.linux.lists.driver-core,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
The kernel-doc for the regmap_update_bits_base() 'async' parameter didn't
actually say what it does.

Reword it to clarify the read-modify-write mechanics: when 'async' is true,
the write is queued asynchronously, but the read will still be synchronous
unless the device uses a register cache.

Signed-off-by: Bjorn Helgaas <[email protected]>
---
Changes since v1:
  - Shorten doc, mention the correct function in subject

v1: https://lore.kernel.org/all/[email protected]

 drivers/base/regmap/regmap.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index e6e022b02637..d0deddec516f 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -3296,11 +3296,9 @@ static int _regmap_update_bits(struct regmap *map, unsigned int reg,
  * Perform a read/modify/write cycle on a register map with change, async, force
  * options.
  *
- * If async is true:
- *
- * With most buses the read must be done synchronously so this is most useful
- * for devices with a cache which do not need to interact with the hardware to
- * determine the current register value.
+ * If async is true, queue an asynchronous write. However, reads are
+ * synchronous on most buses, so they will still block unless the device
+ * uses a register cache.
  *
  * Returns zero for success, a negative number on error.
  */
-- 
2.53.0