Skip to contentSkip to conversation

iio: accel: bcm150: Remove handling for regmap raw_read_max

PATCH RESEND In review Charles Keepax 2 participants 2 messages Apr 24, 2018 – Apr 28, 2018 IIO

lore
Share & tools
lore
#0 lore raw

PATCH RESEND 1/1 iio: accel: bcm150: Remove handling for regmap raw_read_max

The regmap core now handles splitting up transactions according to max_raw_read, so this code is no longer required in client drivers.

---

The necessary changes to support this are available in Linus's tree now.

Thanks,
Charles

 drivers/iio/accel/bmc150-accel-core.c | 23 +++--------------------
 1 file changed, 3 insertions(+), 20 deletions(-)
drivers/iio/accel/bmc150-accel-core.c +3 -20
index 208f2d9f0e8a..383c802eb5b8 100644
@@ -837,29 +837,12 @@ static int bmc150_accel_fifo_transfer(struct bmc150_accel_data *data,
 	int sample_length = 3 * 2;
 	int ret;
 	int total_length = samples * sample_length;
-	int i;
-	size_t step = regmap_get_raw_read_max(data->regmap);
-
-	if (!step || step > total_length)
-		step = total_length;
-	else if (step < total_length)
-		step = sample_length;
-
-	/*
-	 * Seems we have a bus with size limitation so we have to execute
-	 * multiple reads
-	 */
-	for (i = 0; i < total_length; i += step) {
-		ret = regmap_raw_read(data->regmap, BMC150_ACCEL_REG_FIFO_DATA,
-				      &buffer[i], step);
-		if (ret)
-			break;
-	}
 
+	ret = regmap_raw_read(data->regmap, BMC150_ACCEL_REG_FIFO_DATA,
+			      buffer, total_length);
 	if (ret)
 		dev_err(dev,
-			"Error transferring data from fifo in single steps of %zu\n",
-			step);
+			"Error transferring data from fifo: %d\n", ret);
 
 	return ret;
 }
Signature · 1 line
2.11.0
maintainer
#1 lore raw
Quoted 4 lines · On Tue, 24 Apr 2018 16:05:51 +0100 Charles Keepax…

The regmap core now handles splitting up transactions according to max_raw_read, so this code is no longer required in client drivers.

Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it.

Thanks,

Jonathan

Quoted 47 lines

---

The necessary changes to support this are available in Linus's tree now.

Thanks,
Charles

 drivers/iio/accel/bmc150-accel-core.c | 23 +++--------------------
 1 file changed, 3 insertions(+), 20 deletions(-)
drivers/iio/accel/bmc150-accel-core.c +3 -20
index 208f2d9f0e8a..383c802eb5b8 100644
@@ -837,29 +837,12 @@ static int bmc150_accel_fifo_transfer(struct bmc150_accel_data *data,
 	int sample_length = 3 * 2;
 	int ret;
 	int total_length = samples * sample_length;
-	int i;
-	size_t step = regmap_get_raw_read_max(data->regmap);
-
-	if (!step || step > total_length)
-		step = total_length;
-	else if (step < total_length)
-		step = sample_length;
-
-	/*
-	 * Seems we have a bus with size limitation so we have to execute
-	 * multiple reads
-	 */
-	for (i = 0; i < total_length; i += step) {
-		ret = regmap_raw_read(data->regmap, BMC150_ACCEL_REG_FIFO_DATA,
-				      &buffer[i], step);
-		if (ret)
-			break;
-	}
 
+	ret = regmap_raw_read(data->regmap, BMC150_ACCEL_REG_FIFO_DATA,
+			      buffer, total_length);
 	if (ret)
 		dev_err(dev,
-			"Error transferring data from fifo in single steps of %zu\n",
-			step);
+			"Error transferring data from fifo: %d\n", ret);
 
 	return ret;
 }