Revert "regmap: allow to define reg_update_bits for no bus configuration"

This reverts commit 915848be2f1b24d8043aace414bc5f8174a13c0e which is
commit 02d6fdecb9c38de19065f6bed8d5214556fd061d upstream.

It breaks the Android kernel abi and can be brought back in the future
in an abi-safe way if it is really needed.

Bug: 161946584
Change-Id: I12ce0462c866327af31aead8e35c6b8b413d22d1
Signed-off-by: Greg Kroah-Hartman <>
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index 8f39aac..7bc6031 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -842,7 +842,6 @@
 	if (!bus) {
 		map->reg_read  = config->reg_read;
 		map->reg_write = config->reg_write;
-		map->reg_update_bits = config->reg_update_bits;
 		map->defer_caching = false;
 		goto skip_format_initialization;
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index 317ad16..751ca38 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -290,11 +290,6 @@
  *		  read operation on a bus such as SPI, I2C, etc. Most of the
  *		  devices do not need this.
  * @reg_write:	  Same as above for writing.
- * @reg_update_bits: Optional callback that if filled will be used to perform
- *		     all the update_bits(rmw) operation. Should only be provided
- *		     if the function require special handling with lock and reg
- *		     handling and the operation cannot be represented as a simple
- *		     update_bits operation on a bus such as SPI, I2C, etc.
  * @fast_io:	  Register IO is fast. Use a spinlock instead of a mutex
  *	     	  to perform locking. This field is ignored if custom lock/unlock
  *	     	  functions are used (see fields lock/unlock of struct regmap_config).
@@ -372,8 +367,6 @@
 	int (*reg_read)(void *context, unsigned int reg, unsigned int *val);
 	int (*reg_write)(void *context, unsigned int reg, unsigned int val);
-	int (*reg_update_bits)(void *context, unsigned int reg,
-			       unsigned int mask, unsigned int val);
 	bool fast_io;