Unverified Commit 44753373 authored by Mark Brown's avatar Mark Brown
Browse files

Merge series "Add new reg_update_bits() support" from Baolin Wang <baolin.wang7@gmail.com>:

The Spreadtrum platform uses a special set/clear method to update
registers' bits, thus this patch set registers a physical regmap
bus into syscon core to support this feature instead of using the
MMIO bus, which is not a physical regmap bus.

Any comments are welcome. Thanks.

Changes from RFC v1:
 - Add new helper to registers a physical regmap bus instead of
 using the MMIO bus.

Baolin Wang (3):
  mfd: syscon: Support physical regmap bus
  regmap: Add bus reg_update_bits() support
  soc: sprd: Add Spreadtrum special bits updating support

 drivers/base/regmap/regmap.c   |  1 +
 drivers/mfd/syscon.c           | 16 ++++++-
 drivers/soc/Kconfig            |  1 +
 drivers/soc/Makefile           |  1 +
 drivers/soc/sprd/Kconfig       | 16 +++++++
 drivers/soc/sprd/Makefile      |  2 +
 drivers/soc/sprd/sprd_syscon.c | 76 ++++++++++++++++++++++++++++++++++
 include/linux/mfd/syscon.h     |  7 ++++
 8 files changed, 118 insertions(+), 2 deletions(-)
 create mode 100644 drivers/soc/sprd/Kconfig
 create mode 100644 drivers/soc/sprd/Makefile
 create mode 100644 drivers/soc/sprd/sprd_syscon.c

--
2.17.1
parents bd3ddb49 80215f13
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -827,6 +827,7 @@ struct regmap *__regmap_init(struct device *dev,
	} else if (!bus->read || !bus->write) {
		map->reg_read = _regmap_bus_reg_read;
		map->reg_write = _regmap_bus_reg_write;
		map->reg_update_bits = bus->reg_update_bits;

		map->defer_caching = false;
		goto skip_format_initialization;