Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1205911

[PATCH 10/20] regmap: _regmap_raw_multi_reg_write: Add reg_write() support

From Markus Pargmann <mpa@pengutronix.de>
Newsgroups linux.kernel
Subject [PATCH 10/20] regmap: _regmap_raw_multi_reg_write: Add reg_write() support
Date 2015-08-12 12:30 +0200
Message-ID <pWBse-1Ag-27@gated-at.bofh.it> (permalink)
References <pWBix-1oV-9@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Define a fallback for busses which do not define a write() function.
Instead we write one register at a time using reg_write().

Without this patch, _regmap_raw_multi_reg_write would break as it tries
to call bus->write() without checking if it exists before.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
---
 drivers/base/regmap/regmap.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index 78eb96288a68..87f15fb60bc5 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -1778,6 +1778,20 @@ static int _regmap_raw_multi_reg_write(struct regmap *map,
 	if (!len)
 		return -EINVAL;
 
+	/*
+	 * If bus->write is not supported we have to use reg_write for each
+	 * register value.
+	 */
+	if (!map->bus->write) {
+		for (i = 0; i < num_regs; i++) {
+			ret = map->reg_write(map, regs[i].reg, regs[i].def);
+			if (ret)
+				return ret;
+		}
+
+		return 0;
+	}
+
 	buf = kzalloc(len, GFP_KERNEL);
 	if (!buf)
 		return -ENOMEM;
-- 
2.4.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/20] Regmap max_raw_io and bmc150 SPI support Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 12:20 +0200
  [PATCH 17/20] iio: bmc150: Use i2c regmap Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 12:20 +0200
    Re: [PATCH 17/20] iio: bmc150: Use i2c regmap Mark Brown <broonie@kernel.org> - 2015-08-12 14:10 +0200
      Re: [PATCH 17/20] iio: bmc150: Use i2c regmap Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 15:00 +0200
    Re: [PATCH 17/20] iio: bmc150: Use i2c regmap Jonathan Cameron <jic23@kernel.org> - 2015-08-15 15:30 +0200
      Re: [PATCH 17/20] iio: bmc150: Use i2c regmap Markus Pargmann <mpa@pengutronix.de> - 2015-08-17 09:50 +0200
  [PATCH 15/20] regmap-i2c: Add smbus i2c block support Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 12:20 +0200
    Re: [PATCH 15/20] regmap-i2c: Add smbus i2c block support Mark Brown <broonie@kernel.org> - 2015-08-12 14:00 +0200
      Re: [PATCH 15/20] regmap-i2c: Add smbus i2c block support Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 15:00 +0200
  [PATCH 01/20] regmap: Add missing comments about struct regmap_bus Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 12:30 +0200
    Re: [PATCH 01/20] regmap: Add missing comments about struct regmap_bus Hartmut Knaack <knaack.h@gmx.de> - 2015-08-12 22:20 +0200
      Re: [PATCH 01/20] regmap: Add missing comments about struct  regmap_bus Markus Pargmann <mpa@pengutronix.de> - 2015-08-17 09:20 +0200
  [PATCH 09/20] regmap: _regmap_raw_write fix for busses without write() Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 12:30 +0200
    Re: [PATCH 09/20] regmap: _regmap_raw_write fix for busses without  write() Mark Brown <broonie@kernel.org> - 2015-08-12 13:30 +0200
      Re: [PATCH 09/20] regmap: _regmap_raw_write fix for busses without  write() Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 14:30 +0200
        Re: [PATCH 09/20] regmap: _regmap_raw_write fix for busses without  write() Mark Brown <broonie@kernel.org> - 2015-08-12 14:40 +0200
          Re: [PATCH 09/20] regmap: _regmap_raw_write fix for busses without  write() Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 15:10 +0200
            Re: [PATCH 09/20] regmap: _regmap_raw_write fix for busses without  write() Mark Brown <broonie@kernel.org> - 2015-08-15 04:20 +0200
  [PATCH 10/20] regmap: _regmap_raw_multi_reg_write: Add reg_write() support Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 12:30 +0200
    Re: [PATCH 10/20] regmap: _regmap_raw_multi_reg_write: Add  reg_write() support Mark Brown <broonie@kernel.org> - 2015-08-12 14:50 +0200
      Re: [PATCH 10/20] regmap: _regmap_raw_multi_reg_write: Add  reg_write() support Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 15:20 +0200
  [PATCH 08/20] regmap: Fix regmap_can_raw_write check Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 12:30 +0200
  Re: [PATCH 00/20] Regmap max_raw_io and bmc150 SPI support Mark Brown <broonie@kernel.org> - 2015-08-12 12:40 +0200
    Re: [PATCH 00/20] Regmap max_raw_io and bmc150 SPI support Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 12:50 +0200
      Re: [PATCH 00/20] Regmap max_raw_io and bmc150 SPI support Mark Brown <broonie@kernel.org> - 2015-08-15 04:20 +0200

csiph-web