linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask
@ 2013-10-14 16:49 Lars-Peter Clausen
  2013-10-14 16:49 ` [PATCH 02/17] iio:st_accel: Drop redundant call to iio_sw_buffer_preenable() Lars-Peter Clausen
                   ` (17 more replies)
  0 siblings, 18 replies; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: linux-iio, Lars-Peter Clausen, Denis Ciocca, Marek Vasut,
	Zubair Lutfullah, Jacek Anaszewski

Currently a IIO device driver needs to make sure to update the buffer's bytes
per datum after the scan mask has changed. This is usually done in the preenable
callback by invoking iio_sw_buffer_preenable(). This is something that needs to
be done and is done for virtually all devices which support buffers (we
currently have only one exception). Also this a bit of a layering violation
since we have to call the buffer setup ops from the device setup ops. This
requires the device driver to know about the internal requirements of the buffer
(e.g. whether we need to call the set_bytes_per_datum) callback. And especially
with in-kernel buffer consumers, which allows to attach arbitrary buffers to a
device, this is something that the driver can't know.

Moving this to the core allows us to drop the individual calls to
iio_sw_buffer_preenable() from drivers.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Denis Ciocca <denis.ciocca@st.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Zubair Lutfullah <zubair.lutfullah@gmail.com>
Cc: Jacek Anaszewski <j.anaszewski@samsung.com>
---
 drivers/iio/industrialio-buffer.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
index 796376a..186f501 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -492,6 +492,20 @@ void iio_disable_all_buffers(struct iio_dev *indio_dev)
 		indio_dev->setup_ops->postdisable(indio_dev);
 }
 
+static void iio_buffer_update_bytes_per_datum(struct iio_dev *indio_dev,
+	struct iio_buffer *buffer)
+{
+	unsigned int bytes;
+
+	if (!buffer->access->set_bytes_per_datum)
+		return;
+
+	bytes = iio_compute_scan_bytes(indio_dev, buffer->scan_mask,
+		buffer->scan_timestamp);
+
+	buffer->access->set_bytes_per_datum(buffer, bytes);
+}
+
 static int __iio_update_buffers(struct iio_dev *indio_dev,
 		       struct iio_buffer *insert_buffer,
 		       struct iio_buffer *remove_buffer)
@@ -589,7 +603,8 @@ static int __iio_update_buffers(struct iio_dev *indio_dev,
 		iio_compute_scan_bytes(indio_dev,
 				       indio_dev->active_scan_mask,
 				       indio_dev->scan_timestamp);
-	list_for_each_entry(buffer, &indio_dev->buffer_list, buffer_list)
+	list_for_each_entry(buffer, &indio_dev->buffer_list, buffer_list) {
+		iio_buffer_update_bytes_per_datum(indio_dev, buffer);
 		if (buffer->access->request_update) {
 			ret = buffer->access->request_update(buffer);
 			if (ret) {
@@ -598,6 +613,7 @@ static int __iio_update_buffers(struct iio_dev *indio_dev,
 				goto error_run_postdisable;
 			}
 		}
+	}
 	if (indio_dev->info->update_scan_mode) {
 		ret = indio_dev->info
 			->update_scan_mode(indio_dev,
-- 
1.8.0


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 02/17] iio:st_accel: Drop redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:11   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 03/17] iio:ad7266: Remove redundant call to iio_sw_preenable() Lars-Peter Clausen
                   ` (16 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen, Denis Ciocca

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Denis Ciocca <denis.ciocca@st.com>
---
 drivers/iio/accel/st_accel_buffer.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/iio/accel/st_accel_buffer.c b/drivers/iio/accel/st_accel_buffer.c
index d9b3507..a1e642e 100644
--- a/drivers/iio/accel/st_accel_buffer.c
+++ b/drivers/iio/accel/st_accel_buffer.c
@@ -32,16 +32,7 @@ int st_accel_trig_set_state(struct iio_trigger *trig, bool state)
 
 static int st_accel_buffer_preenable(struct iio_dev *indio_dev)
 {
-	int err;
-
-	err = st_sensors_set_enable(indio_dev, true);
-	if (err < 0)
-		goto st_accel_set_enable_error;
-
-	err = iio_sw_buffer_preenable(indio_dev);
-
-st_accel_set_enable_error:
-	return err;
+	return st_sensors_set_enable(indio_dev, true);
 }
 
 static int st_accel_buffer_postenable(struct iio_dev *indio_dev)
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 03/17] iio:ad7266: Remove redundant call to iio_sw_preenable()
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
  2013-10-14 16:49 ` [PATCH 02/17] iio:st_accel: Drop redundant call to iio_sw_buffer_preenable() Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:12   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 04/17] iio:ad7887: Remove redundant call to iio_sw_buffer_preenable() Lars-Peter Clausen
                   ` (15 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/iio/adc/ad7266.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/iio/adc/ad7266.c b/drivers/iio/adc/ad7266.c
index f5723cb..58e9455 100644
--- a/drivers/iio/adc/ad7266.c
+++ b/drivers/iio/adc/ad7266.c
@@ -61,17 +61,7 @@ static int ad7266_powerdown(struct ad7266_state *st)
 static int ad7266_preenable(struct iio_dev *indio_dev)
 {
 	struct ad7266_state *st = iio_priv(indio_dev);
-	int ret;
-
-	ret = ad7266_wakeup(st);
-	if (ret)
-		return ret;
-
-	ret = iio_sw_buffer_preenable(indio_dev);
-	if (ret)
-		ad7266_powerdown(st);
-
-	return ret;
+	return ad7266_wakeup(st);
 }
 
 static int ad7266_postdisable(struct iio_dev *indio_dev)
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 04/17] iio:ad7887: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
  2013-10-14 16:49 ` [PATCH 02/17] iio:st_accel: Drop redundant call to iio_sw_buffer_preenable() Lars-Peter Clausen
  2013-10-14 16:49 ` [PATCH 03/17] iio:ad7266: Remove redundant call to iio_sw_preenable() Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:12   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 05/17] iio:ad_sigma_delta: " Lars-Peter Clausen
                   ` (14 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/iio/adc/ad7887.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/iio/adc/ad7887.c b/drivers/iio/adc/ad7887.c
index faedd0e..acb7f90 100644
--- a/drivers/iio/adc/ad7887.c
+++ b/drivers/iio/adc/ad7887.c
@@ -78,11 +78,6 @@ enum ad7887_supported_device_ids {
 static int ad7887_ring_preenable(struct iio_dev *indio_dev)
 {
 	struct ad7887_state *st = iio_priv(indio_dev);
-	int ret;
-
-	ret = iio_sw_buffer_preenable(indio_dev);
-	if (ret < 0)
-		return ret;
 
 	/* We know this is a single long so can 'cheat' */
 	switch (*indio_dev->active_scan_mask) {
-- 
1.8.0


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 05/17] iio:ad_sigma_delta: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (2 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 04/17] iio:ad7887: Remove redundant call to iio_sw_buffer_preenable() Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:12   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 06/17] iio:ti_am335x: " Lars-Peter Clausen
                   ` (13 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/iio/adc/ad_sigma_delta.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/iio/adc/ad_sigma_delta.c b/drivers/iio/adc/ad_sigma_delta.c
index 2b59112..e6fbd3e 100644
--- a/drivers/iio/adc/ad_sigma_delta.c
+++ b/drivers/iio/adc/ad_sigma_delta.c
@@ -397,7 +397,6 @@ static irqreturn_t ad_sd_trigger_handler(int irq, void *p)
 }
 
 static const struct iio_buffer_setup_ops ad_sd_buffer_setup_ops = {
-	.preenable = &iio_sw_buffer_preenable,
 	.postenable = &ad_sd_buffer_postenable,
 	.predisable = &iio_triggered_buffer_predisable,
 	.postdisable = &ad_sd_buffer_postdisable,
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 06/17] iio:ti_am335x: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (3 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 05/17] iio:ad_sigma_delta: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:13   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 07/17] iio:st_gyro: " Lars-Peter Clausen
                   ` (12 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen, Zubair Lutfullah

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer
core, so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Zubair Lutfullah <zubair.lutfullah@gmail.com>
---
 drivers/iio/adc/ti_am335x_adc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
index 8fb5429..ef54d8a 100644
--- a/drivers/iio/adc/ti_am335x_adc.c
+++ b/drivers/iio/adc/ti_am335x_adc.c
@@ -166,7 +166,7 @@ static int tiadc_buffer_preenable(struct iio_dev *indio_dev)
 	for (i = 0; i < fifo1count; i++)
 		read = tiadc_readl(adc_dev, REG_FIFO1);
 
-	return iio_sw_buffer_preenable(indio_dev);
+	return 0;
 }
 
 static int tiadc_buffer_postenable(struct iio_dev *indio_dev)
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 07/17] iio:st_gyro: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (4 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 06/17] iio:ti_am335x: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:13   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 08/17] iio:triggered-buffer: " Lars-Peter Clausen
                   ` (11 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen, Denis Ciocca

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Denis Ciocca <denis.ciocca@st.com>
---
 drivers/iio/gyro/st_gyro_buffer.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/iio/gyro/st_gyro_buffer.c b/drivers/iio/gyro/st_gyro_buffer.c
index 69017c7..d67b17b 100644
--- a/drivers/iio/gyro/st_gyro_buffer.c
+++ b/drivers/iio/gyro/st_gyro_buffer.c
@@ -32,16 +32,7 @@ int st_gyro_trig_set_state(struct iio_trigger *trig, bool state)
 
 static int st_gyro_buffer_preenable(struct iio_dev *indio_dev)
 {
-	int err;
-
-	err = st_sensors_set_enable(indio_dev, true);
-	if (err < 0)
-		goto st_gyro_set_enable_error;
-
-	err = iio_sw_buffer_preenable(indio_dev);
-
-st_gyro_set_enable_error:
-	return err;
+	return st_sensors_set_enable(indio_dev, true);
 }
 
 static int st_gyro_buffer_postenable(struct iio_dev *indio_dev)
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 08/17] iio:triggered-buffer: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (5 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 07/17] iio:st_gyro: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:13   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 09/17] iio:st_magn: " Lars-Peter Clausen
                   ` (10 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/iio/industrialio-triggered-buffer.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/iio/industrialio-triggered-buffer.c b/drivers/iio/industrialio-triggered-buffer.c
index c1cb1f9..d6f54930 100644
--- a/drivers/iio/industrialio-triggered-buffer.c
+++ b/drivers/iio/industrialio-triggered-buffer.c
@@ -17,7 +17,6 @@
 #include <linux/iio/trigger_consumer.h>
 
 static const struct iio_buffer_setup_ops iio_triggered_buffer_setup_ops = {
-	.preenable = &iio_sw_buffer_preenable,
 	.postenable = &iio_triggered_buffer_postenable,
 	.predisable = &iio_triggered_buffer_predisable,
 };
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 09/17] iio:st_magn: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (6 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 08/17] iio:triggered-buffer: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:14   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 10/17] iio:st_pressure: " Lars-Peter Clausen
                   ` (9 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen, Denis Ciocca

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Denis Ciocca <denis.ciocca@st.com>
---
 drivers/iio/magnetometer/st_magn_buffer.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/iio/magnetometer/st_magn_buffer.c b/drivers/iio/magnetometer/st_magn_buffer.c
index 708857b..bf427dc 100644
--- a/drivers/iio/magnetometer/st_magn_buffer.c
+++ b/drivers/iio/magnetometer/st_magn_buffer.c
@@ -25,16 +25,7 @@
 
 static int st_magn_buffer_preenable(struct iio_dev *indio_dev)
 {
-	int err;
-
-	err = st_sensors_set_enable(indio_dev, true);
-	if (err < 0)
-		goto st_magn_set_enable_error;
-
-	err = iio_sw_buffer_preenable(indio_dev);
-
-st_magn_set_enable_error:
-	return err;
+	return st_sensors_set_enable(indio_dev, true);
 }
 
 static int st_magn_buffer_postenable(struct iio_dev *indio_dev)
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 10/17] iio:st_pressure: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (7 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 09/17] iio:st_magn: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:14   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 11/17] iio:gp2ap020a00f: " Lars-Peter Clausen
                   ` (8 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen, Denis Ciocca

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Denis Ciocca <denis.ciocca@st.com>
---
 drivers/iio/pressure/st_pressure_buffer.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/iio/pressure/st_pressure_buffer.c b/drivers/iio/pressure/st_pressure_buffer.c
index f877ef8..b37b1c9 100644
--- a/drivers/iio/pressure/st_pressure_buffer.c
+++ b/drivers/iio/pressure/st_pressure_buffer.c
@@ -32,16 +32,7 @@ int st_press_trig_set_state(struct iio_trigger *trig, bool state)
 
 static int st_press_buffer_preenable(struct iio_dev *indio_dev)
 {
-	int err;
-
-	err = st_sensors_set_enable(indio_dev, true);
-	if (err < 0)
-		goto st_press_set_enable_error;
-
-	err = iio_sw_buffer_preenable(indio_dev);
-
-st_press_set_enable_error:
-	return err;
+	return st_sensors_set_enable(indio_dev, true);
 }
 
 static int st_press_buffer_postenable(struct iio_dev *indio_dev)
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 11/17] iio:gp2ap020a00f: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (8 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 10/17] iio:st_pressure: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:14   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 12/17] staging:iio:lis3l02dq: " Lars-Peter Clausen
                   ` (7 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen, Jacek Anaszewski

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Jacek Anaszewski <j.anaszewski@samsung.com>
---
 drivers/iio/light/gp2ap020a00f.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/iio/light/gp2ap020a00f.c b/drivers/iio/light/gp2ap020a00f.c
index 2a65bc3..a530e77 100644
--- a/drivers/iio/light/gp2ap020a00f.c
+++ b/drivers/iio/light/gp2ap020a00f.c
@@ -1483,7 +1483,6 @@ error_unlock:
 }
 
 static const struct iio_buffer_setup_ops gp2ap020a00f_buffer_setup_ops = {
-	.preenable = &iio_sw_buffer_preenable,
 	.postenable = &gp2ap020a00f_buffer_postenable,
 	.predisable = &gp2ap020a00f_buffer_predisable,
 };
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 12/17] staging:iio:lis3l02dq: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (9 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 11/17] iio:gp2ap020a00f: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:15   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 13/17] staging:iio:mxs-lradc: " Lars-Peter Clausen
                   ` (6 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/staging/iio/accel/lis3l02dq_ring.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/iio/accel/lis3l02dq_ring.c b/drivers/staging/iio/accel/lis3l02dq_ring.c
index 2d559ba..79cefe0 100644
--- a/drivers/staging/iio/accel/lis3l02dq_ring.c
+++ b/drivers/staging/iio/accel/lis3l02dq_ring.c
@@ -382,7 +382,6 @@ error_ret:
 }
 
 static const struct iio_buffer_setup_ops lis3l02dq_buffer_setup_ops = {
-	.preenable = &iio_sw_buffer_preenable,
 	.postenable = &lis3l02dq_buffer_postenable,
 	.predisable = &lis3l02dq_buffer_predisable,
 };
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 13/17] staging:iio:mxs-lradc: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (10 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 12/17] staging:iio:lis3l02dq: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:15   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 14/17] staging:iio:simple-dummy: " Lars-Peter Clausen
                   ` (5 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen, Marek Vasut

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Marek Vasut <marex@denx.de>
---
 drivers/staging/iio/adc/mxs-lradc.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/staging/iio/adc/mxs-lradc.c b/drivers/staging/iio/adc/mxs-lradc.c
index dfd1bc1..1bb03e1 100644
--- a/drivers/staging/iio/adc/mxs-lradc.c
+++ b/drivers/staging/iio/adc/mxs-lradc.c
@@ -1041,10 +1041,6 @@ static int mxs_lradc_buffer_preenable(struct iio_dev *iio)
 		goto err_mem;
 	}
 
-	ret = iio_sw_buffer_preenable(iio);
-	if (ret < 0)
-		goto err_buf;
-
 	if (lradc->soc == IMX28_LRADC)
 		mxs_lradc_reg_clear(lradc, LRADC_CTRL1_MX28_LRADC_IRQ_EN_MASK,
 							LRADC_CTRL1);
@@ -1069,8 +1065,6 @@ static int mxs_lradc_buffer_preenable(struct iio_dev *iio)
 
 	return 0;
 
-err_buf:
-	kfree(lradc->buffer);
 err_mem:
 	mutex_unlock(&lradc->lock);
 	return ret;
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 14/17] staging:iio:simple-dummy: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (11 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 13/17] staging:iio:mxs-lradc: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:16   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 15/17] staging:iio:ad5933: " Lars-Peter Clausen
                   ` (4 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/staging/iio/iio_simple_dummy_buffer.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/staging/iio/iio_simple_dummy_buffer.c b/drivers/staging/iio/iio_simple_dummy_buffer.c
index 2612e87..46c134b 100644
--- a/drivers/staging/iio/iio_simple_dummy_buffer.c
+++ b/drivers/staging/iio/iio_simple_dummy_buffer.c
@@ -99,14 +99,6 @@ done:
 
 static const struct iio_buffer_setup_ops iio_simple_dummy_buffer_setup_ops = {
 	/*
-	 * iio_sw_buffer_preenable:
-	 * Generic function for equal sized ring elements + 64 bit timestamp
-	 * Assumes that any combination of channels can be enabled.
-	 * Typically replaced to implement restrictions on what combinations
-	 * can be captured (hardware scan modes).
-	 */
-	.preenable = &iio_sw_buffer_preenable,
-	/*
 	 * iio_triggered_buffer_postenable:
 	 * Generic function that simply attaches the pollfunc to the trigger.
 	 * Replace this to mess with hardware state before we attach the
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 15/17] staging:iio:ad5933: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (12 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 14/17] staging:iio:simple-dummy: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:16   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 16/17] staging:iio:ade7758: " Lars-Peter Clausen
                   ` (3 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/staging/iio/impedance-analyzer/ad5933.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c
index f570115..0a4298b 100644
--- a/drivers/staging/iio/impedance-analyzer/ad5933.c
+++ b/drivers/staging/iio/impedance-analyzer/ad5933.c
@@ -574,10 +574,6 @@ static int ad5933_ring_preenable(struct iio_dev *indio_dev)
 	if (bitmap_empty(indio_dev->active_scan_mask, indio_dev->masklength))
 		return -EINVAL;
 
-	ret = iio_sw_buffer_preenable(indio_dev);
-	if (ret < 0)
-		return ret;
-
 	ret = ad5933_reset(st);
 	if (ret < 0)
 		return ret;
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 16/17] staging:iio:ade7758: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (13 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 15/17] staging:iio:ad5933: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:16   ` Jonathan Cameron
  2013-10-14 16:49 ` [PATCH 17/17] iio: Remove unused iio_sw_buffer_preenable() Lars-Peter Clausen
                   ` (2 subsequent siblings)
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen

The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
so there is no need to do this from the driver anymore.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/staging/iio/meter/ade7758_ring.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/staging/iio/meter/ade7758_ring.c b/drivers/staging/iio/meter/ade7758_ring.c
index 7a448ff..c0accf8 100644
--- a/drivers/staging/iio/meter/ade7758_ring.c
+++ b/drivers/staging/iio/meter/ade7758_ring.c
@@ -87,15 +87,10 @@ static int ade7758_ring_preenable(struct iio_dev *indio_dev)
 {
 	struct ade7758_state *st = iio_priv(indio_dev);
 	unsigned channel;
-	int ret;
 
 	if (!bitmap_empty(indio_dev->active_scan_mask, indio_dev->masklength))
 		return -EINVAL;
 
-	ret = iio_sw_buffer_preenable(indio_dev);
-	if (ret < 0)
-		return ret;
-
 	channel = find_first_bit(indio_dev->active_scan_mask,
 				 indio_dev->masklength);
 
-- 
1.8.0

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [PATCH 17/17] iio: Remove unused iio_sw_buffer_preenable()
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (14 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 16/17] staging:iio:ade7758: " Lars-Peter Clausen
@ 2013-10-14 16:49 ` Lars-Peter Clausen
  2013-10-16 18:17   ` Jonathan Cameron
  2013-10-14 22:00 ` [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Jonathan Cameron
  2013-10-16 18:09 ` Jonathan Cameron
  17 siblings, 1 reply; 35+ messages in thread
From: Lars-Peter Clausen @ 2013-10-14 16:49 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen

The functionality implemented by iio_sw_buffer_preenable() is now done directly
in the IIO core and previous users of iio_sw_buffer_preenable() have all been
updated to not use it anymore. It is unused now and can be remove.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/iio/industrialio-buffer.c | 18 ------------------
 include/linux/iio/buffer.h        |  2 --
 2 files changed, 20 deletions(-)

diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
index 186f501..d7ab258 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -749,24 +749,6 @@ done:
 }
 EXPORT_SYMBOL(iio_buffer_store_enable);
 
-int iio_sw_buffer_preenable(struct iio_dev *indio_dev)
-{
-	struct iio_buffer *buffer;
-	unsigned bytes;
-	dev_dbg(&indio_dev->dev, "%s\n", __func__);
-
-	list_for_each_entry(buffer, &indio_dev->buffer_list, buffer_list)
-		if (buffer->access->set_bytes_per_datum) {
-			bytes = iio_compute_scan_bytes(indio_dev,
-						       buffer->scan_mask,
-						       buffer->scan_timestamp);
-
-			buffer->access->set_bytes_per_datum(buffer, bytes);
-		}
-	return 0;
-}
-EXPORT_SYMBOL(iio_sw_buffer_preenable);
-
 /**
  * iio_validate_scan_mask_onehot() - Validates that exactly one channel is selected
  * @indio_dev: the iio device
diff --git a/include/linux/iio/buffer.h b/include/linux/iio/buffer.h
index 6e428d9..15607b4 100644
--- a/include/linux/iio/buffer.h
+++ b/include/linux/iio/buffer.h
@@ -206,8 +206,6 @@ ssize_t iio_buffer_show_enable(struct device *dev,
 					   iio_buffer_show_enable,	\
 					   iio_buffer_store_enable)
 
-int iio_sw_buffer_preenable(struct iio_dev *indio_dev);
-
 bool iio_validate_scan_mask_onehot(struct iio_dev *indio_dev,
 	const unsigned long *mask);
 
-- 
1.8.0


^ permalink raw reply related	[flat|nested] 35+ messages in thread

* Re: [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (15 preceding siblings ...)
  2013-10-14 16:49 ` [PATCH 17/17] iio: Remove unused iio_sw_buffer_preenable() Lars-Peter Clausen
@ 2013-10-14 22:00 ` Jonathan Cameron
  2013-10-16 18:09 ` Jonathan Cameron
  17 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-14 22:00 UTC (permalink / raw)
  To: Lars-Peter Clausen
  Cc: linux-iio, Denis Ciocca, Marek Vasut, Zubair Lutfullah,
	Jacek Anaszewski

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> Currently a IIO device driver needs to make sure to update the buffer's bytes
> per datum after the scan mask has changed. This is usually done in the preenable
> callback by invoking iio_sw_buffer_preenable(). This is something that needs to
> be done and is done for virtually all devices which support buffers (we
> currently have only one exception). Also this a bit of a layering violation
> since we have to call the buffer setup ops from the device setup ops. This
> requires the device driver to know about the internal requirements of the buffer
> (e.g. whether we need to call the set_bytes_per_datum) callback. And especially
> with in-kernel buffer consumers, which allows to attach arbitrary buffers to a
> device, this is something that the driver can't know.
> 
> Moving this to the core allows us to drop the individual calls to
> iio_sw_buffer_preenable() from drivers.

A very sensible little cleanup.  I'll let this sit for a day or two to
let anyone else comment.  The previous approach was definitely one of
those bits of code that evolved into something far from ideal!

Thanks,

Jonathan
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Denis Ciocca <denis.ciocca@st.com>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Zubair Lutfullah <zubair.lutfullah@gmail.com>
> Cc: Jacek Anaszewski <j.anaszewski@samsung.com>
> ---
>  drivers/iio/industrialio-buffer.c | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
> index 796376a..186f501 100644
> --- a/drivers/iio/industrialio-buffer.c
> +++ b/drivers/iio/industrialio-buffer.c
> @@ -492,6 +492,20 @@ void iio_disable_all_buffers(struct iio_dev *indio_dev)
>  		indio_dev->setup_ops->postdisable(indio_dev);
>  }
>  
> +static void iio_buffer_update_bytes_per_datum(struct iio_dev *indio_dev,
> +	struct iio_buffer *buffer)
> +{
> +	unsigned int bytes;
> +
> +	if (!buffer->access->set_bytes_per_datum)
> +		return;
> +
> +	bytes = iio_compute_scan_bytes(indio_dev, buffer->scan_mask,
> +		buffer->scan_timestamp);
> +
> +	buffer->access->set_bytes_per_datum(buffer, bytes);
> +}
> +
>  static int __iio_update_buffers(struct iio_dev *indio_dev,
>  		       struct iio_buffer *insert_buffer,
>  		       struct iio_buffer *remove_buffer)
> @@ -589,7 +603,8 @@ static int __iio_update_buffers(struct iio_dev *indio_dev,
>  		iio_compute_scan_bytes(indio_dev,
>  				       indio_dev->active_scan_mask,
>  				       indio_dev->scan_timestamp);
> -	list_for_each_entry(buffer, &indio_dev->buffer_list, buffer_list)
> +	list_for_each_entry(buffer, &indio_dev->buffer_list, buffer_list) {
> +		iio_buffer_update_bytes_per_datum(indio_dev, buffer);
>  		if (buffer->access->request_update) {
>  			ret = buffer->access->request_update(buffer);
>  			if (ret) {
> @@ -598,6 +613,7 @@ static int __iio_update_buffers(struct iio_dev *indio_dev,
>  				goto error_run_postdisable;
>  			}
>  		}
> +	}
>  	if (indio_dev->info->update_scan_mode) {
>  		ret = indio_dev->info
>  			->update_scan_mode(indio_dev,
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask
  2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
                   ` (16 preceding siblings ...)
  2013-10-14 22:00 ` [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Jonathan Cameron
@ 2013-10-16 18:09 ` Jonathan Cameron
  17 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:09 UTC (permalink / raw)
  To: Lars-Peter Clausen
  Cc: linux-iio, Denis Ciocca, Marek Vasut, Zubair Lutfullah,
	Jacek Anaszewski

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> Currently a IIO device driver needs to make sure to update the buffer's bytes
> per datum after the scan mask has changed. This is usually done in the preenable
> callback by invoking iio_sw_buffer_preenable(). This is something that needs to
> be done and is done for virtually all devices which support buffers (we
> currently have only one exception). Also this a bit of a layering violation
> since we have to call the buffer setup ops from the device setup ops. This
> requires the device driver to know about the internal requirements of the buffer
> (e.g. whether we need to call the set_bytes_per_datum) callback. And especially
> with in-kernel buffer consumers, which allows to attach arbitrary buffers to a
> device, this is something that the driver can't know.
> 
> Moving this to the core allows us to drop the individual calls to
> iio_sw_buffer_preenable() from drivers.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Denis Ciocca <denis.ciocca@st.com>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Zubair Lutfullah <zubair.lutfullah@gmail.com>
> Cc: Jacek Anaszewski <j.anaszewski@samsung.com>
Applied to the togreg branch of iio.git

Thanks
> ---
>  drivers/iio/industrialio-buffer.c | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
> index 796376a..186f501 100644
> --- a/drivers/iio/industrialio-buffer.c
> +++ b/drivers/iio/industrialio-buffer.c
> @@ -492,6 +492,20 @@ void iio_disable_all_buffers(struct iio_dev *indio_dev)
>  		indio_dev->setup_ops->postdisable(indio_dev);
>  }
>  
> +static void iio_buffer_update_bytes_per_datum(struct iio_dev *indio_dev,
> +	struct iio_buffer *buffer)
> +{
> +	unsigned int bytes;
> +
> +	if (!buffer->access->set_bytes_per_datum)
> +		return;
> +
> +	bytes = iio_compute_scan_bytes(indio_dev, buffer->scan_mask,
> +		buffer->scan_timestamp);
> +
> +	buffer->access->set_bytes_per_datum(buffer, bytes);
> +}
> +
>  static int __iio_update_buffers(struct iio_dev *indio_dev,
>  		       struct iio_buffer *insert_buffer,
>  		       struct iio_buffer *remove_buffer)
> @@ -589,7 +603,8 @@ static int __iio_update_buffers(struct iio_dev *indio_dev,
>  		iio_compute_scan_bytes(indio_dev,
>  				       indio_dev->active_scan_mask,
>  				       indio_dev->scan_timestamp);
> -	list_for_each_entry(buffer, &indio_dev->buffer_list, buffer_list)
> +	list_for_each_entry(buffer, &indio_dev->buffer_list, buffer_list) {
> +		iio_buffer_update_bytes_per_datum(indio_dev, buffer);
>  		if (buffer->access->request_update) {
>  			ret = buffer->access->request_update(buffer);
>  			if (ret) {
> @@ -598,6 +613,7 @@ static int __iio_update_buffers(struct iio_dev *indio_dev,
>  				goto error_run_postdisable;
>  			}
>  		}
> +	}
>  	if (indio_dev->info->update_scan_mode) {
>  		ret = indio_dev->info
>  			->update_scan_mode(indio_dev,
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 02/17] iio:st_accel: Drop redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 ` [PATCH 02/17] iio:st_accel: Drop redundant call to iio_sw_buffer_preenable() Lars-Peter Clausen
@ 2013-10-16 18:11   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:11 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio, Denis Ciocca

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Denis Ciocca <denis.ciocca@st.com>
Applied to the togreg branch of iio.git

Thanks,
> ---
>  drivers/iio/accel/st_accel_buffer.c | 11 +----------
>  1 file changed, 1 insertion(+), 10 deletions(-)
> 
> diff --git a/drivers/iio/accel/st_accel_buffer.c b/drivers/iio/accel/st_accel_buffer.c
> index d9b3507..a1e642e 100644
> --- a/drivers/iio/accel/st_accel_buffer.c
> +++ b/drivers/iio/accel/st_accel_buffer.c
> @@ -32,16 +32,7 @@ int st_accel_trig_set_state(struct iio_trigger *trig, bool state)
>  
>  static int st_accel_buffer_preenable(struct iio_dev *indio_dev)
>  {
> -	int err;
> -
> -	err = st_sensors_set_enable(indio_dev, true);
> -	if (err < 0)
> -		goto st_accel_set_enable_error;
> -
> -	err = iio_sw_buffer_preenable(indio_dev);
> -
> -st_accel_set_enable_error:
> -	return err;
> +	return st_sensors_set_enable(indio_dev, true);
>  }
>  
>  static int st_accel_buffer_postenable(struct iio_dev *indio_dev)
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 03/17] iio:ad7266: Remove redundant call to iio_sw_preenable()
  2013-10-14 16:49 ` [PATCH 03/17] iio:ad7266: Remove redundant call to iio_sw_preenable() Lars-Peter Clausen
@ 2013-10-16 18:12   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:12 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Applied to the togreg branch of iio.git

Thanks
> ---
>  drivers/iio/adc/ad7266.c | 12 +-----------
>  1 file changed, 1 insertion(+), 11 deletions(-)
> 
> diff --git a/drivers/iio/adc/ad7266.c b/drivers/iio/adc/ad7266.c
> index f5723cb..58e9455 100644
> --- a/drivers/iio/adc/ad7266.c
> +++ b/drivers/iio/adc/ad7266.c
> @@ -61,17 +61,7 @@ static int ad7266_powerdown(struct ad7266_state *st)
>  static int ad7266_preenable(struct iio_dev *indio_dev)
>  {
>  	struct ad7266_state *st = iio_priv(indio_dev);
> -	int ret;
> -
> -	ret = ad7266_wakeup(st);
> -	if (ret)
> -		return ret;
> -
> -	ret = iio_sw_buffer_preenable(indio_dev);
> -	if (ret)
> -		ad7266_powerdown(st);
> -
> -	return ret;
> +	return ad7266_wakeup(st);
>  }
>  
>  static int ad7266_postdisable(struct iio_dev *indio_dev)
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 04/17] iio:ad7887: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 ` [PATCH 04/17] iio:ad7887: Remove redundant call to iio_sw_buffer_preenable() Lars-Peter Clausen
@ 2013-10-16 18:12   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:12 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Applied to the togreg branch of iio.git

Thanks
> ---
>  drivers/iio/adc/ad7887.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/iio/adc/ad7887.c b/drivers/iio/adc/ad7887.c
> index faedd0e..acb7f90 100644
> --- a/drivers/iio/adc/ad7887.c
> +++ b/drivers/iio/adc/ad7887.c
> @@ -78,11 +78,6 @@ enum ad7887_supported_device_ids {
>  static int ad7887_ring_preenable(struct iio_dev *indio_dev)
>  {
>  	struct ad7887_state *st = iio_priv(indio_dev);
> -	int ret;
> -
> -	ret = iio_sw_buffer_preenable(indio_dev);
> -	if (ret < 0)
> -		return ret;
>  
>  	/* We know this is a single long so can 'cheat' */
>  	switch (*indio_dev->active_scan_mask) {
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 05/17] iio:ad_sigma_delta: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 ` [PATCH 05/17] iio:ad_sigma_delta: " Lars-Peter Clausen
@ 2013-10-16 18:12   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:12 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Applied
> ---
>  drivers/iio/adc/ad_sigma_delta.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/iio/adc/ad_sigma_delta.c b/drivers/iio/adc/ad_sigma_delta.c
> index 2b59112..e6fbd3e 100644
> --- a/drivers/iio/adc/ad_sigma_delta.c
> +++ b/drivers/iio/adc/ad_sigma_delta.c
> @@ -397,7 +397,6 @@ static irqreturn_t ad_sd_trigger_handler(int irq, void *p)
>  }
>  
>  static const struct iio_buffer_setup_ops ad_sd_buffer_setup_ops = {
> -	.preenable = &iio_sw_buffer_preenable,
>  	.postenable = &ad_sd_buffer_postenable,
>  	.predisable = &iio_triggered_buffer_predisable,
>  	.postdisable = &ad_sd_buffer_postdisable,
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 06/17] iio:ti_am335x: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 ` [PATCH 06/17] iio:ti_am335x: " Lars-Peter Clausen
@ 2013-10-16 18:13   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:13 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio, Zubair Lutfullah

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer
> core, so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Zubair Lutfullah <zubair.lutfullah@gmail.com>
Applied to the togreg branch of iio.git

Thanks
> ---
>  drivers/iio/adc/ti_am335x_adc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
> index 8fb5429..ef54d8a 100644
> --- a/drivers/iio/adc/ti_am335x_adc.c
> +++ b/drivers/iio/adc/ti_am335x_adc.c
> @@ -166,7 +166,7 @@ static int tiadc_buffer_preenable(struct iio_dev *indio_dev)
>  	for (i = 0; i < fifo1count; i++)
>  		read = tiadc_readl(adc_dev, REG_FIFO1);
>  
> -	return iio_sw_buffer_preenable(indio_dev);
> +	return 0;
>  }
>  
>  static int tiadc_buffer_postenable(struct iio_dev *indio_dev)
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 07/17] iio:st_gyro: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 ` [PATCH 07/17] iio:st_gyro: " Lars-Peter Clausen
@ 2013-10-16 18:13   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:13 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio, Denis Ciocca

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Denis Ciocca <denis.ciocca@st.com>
Applied to the togreg branch of iio.git

Thanks
> ---
>  drivers/iio/gyro/st_gyro_buffer.c | 11 +----------
>  1 file changed, 1 insertion(+), 10 deletions(-)
> 
> diff --git a/drivers/iio/gyro/st_gyro_buffer.c b/drivers/iio/gyro/st_gyro_buffer.c
> index 69017c7..d67b17b 100644
> --- a/drivers/iio/gyro/st_gyro_buffer.c
> +++ b/drivers/iio/gyro/st_gyro_buffer.c
> @@ -32,16 +32,7 @@ int st_gyro_trig_set_state(struct iio_trigger *trig, bool state)
>  
>  static int st_gyro_buffer_preenable(struct iio_dev *indio_dev)
>  {
> -	int err;
> -
> -	err = st_sensors_set_enable(indio_dev, true);
> -	if (err < 0)
> -		goto st_gyro_set_enable_error;
> -
> -	err = iio_sw_buffer_preenable(indio_dev);
> -
> -st_gyro_set_enable_error:
> -	return err;
> +	return st_sensors_set_enable(indio_dev, true);
>  }
>  
>  static int st_gyro_buffer_postenable(struct iio_dev *indio_dev)
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 08/17] iio:triggered-buffer: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 ` [PATCH 08/17] iio:triggered-buffer: " Lars-Peter Clausen
@ 2013-10-16 18:13   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:13 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Applied
> ---
>  drivers/iio/industrialio-triggered-buffer.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/iio/industrialio-triggered-buffer.c b/drivers/iio/industrialio-triggered-buffer.c
> index c1cb1f9..d6f54930 100644
> --- a/drivers/iio/industrialio-triggered-buffer.c
> +++ b/drivers/iio/industrialio-triggered-buffer.c
> @@ -17,7 +17,6 @@
>  #include <linux/iio/trigger_consumer.h>
>  
>  static const struct iio_buffer_setup_ops iio_triggered_buffer_setup_ops = {
> -	.preenable = &iio_sw_buffer_preenable,
>  	.postenable = &iio_triggered_buffer_postenable,
>  	.predisable = &iio_triggered_buffer_predisable,
>  };
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 09/17] iio:st_magn: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 ` [PATCH 09/17] iio:st_magn: " Lars-Peter Clausen
@ 2013-10-16 18:14   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:14 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio, Denis Ciocca

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Denis Ciocca <denis.ciocca@st.com>
Applied to the togreg branch of iio.git

Thanks
> ---
>  drivers/iio/magnetometer/st_magn_buffer.c | 11 +----------
>  1 file changed, 1 insertion(+), 10 deletions(-)
> 
> diff --git a/drivers/iio/magnetometer/st_magn_buffer.c b/drivers/iio/magnetometer/st_magn_buffer.c
> index 708857b..bf427dc 100644
> --- a/drivers/iio/magnetometer/st_magn_buffer.c
> +++ b/drivers/iio/magnetometer/st_magn_buffer.c
> @@ -25,16 +25,7 @@
>  
>  static int st_magn_buffer_preenable(struct iio_dev *indio_dev)
>  {
> -	int err;
> -
> -	err = st_sensors_set_enable(indio_dev, true);
> -	if (err < 0)
> -		goto st_magn_set_enable_error;
> -
> -	err = iio_sw_buffer_preenable(indio_dev);
> -
> -st_magn_set_enable_error:
> -	return err;
> +	return st_sensors_set_enable(indio_dev, true);
>  }
>  
>  static int st_magn_buffer_postenable(struct iio_dev *indio_dev)
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 10/17] iio:st_pressure: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 ` [PATCH 10/17] iio:st_pressure: " Lars-Peter Clausen
@ 2013-10-16 18:14   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:14 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio, Denis Ciocca

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Denis Ciocca <denis.ciocca@st.com>
Applied to the togreg branch of iio.git

Thanks Lars
> ---
>  drivers/iio/pressure/st_pressure_buffer.c | 11 +----------
>  1 file changed, 1 insertion(+), 10 deletions(-)
> 
> diff --git a/drivers/iio/pressure/st_pressure_buffer.c b/drivers/iio/pressure/st_pressure_buffer.c
> index f877ef8..b37b1c9 100644
> --- a/drivers/iio/pressure/st_pressure_buffer.c
> +++ b/drivers/iio/pressure/st_pressure_buffer.c
> @@ -32,16 +32,7 @@ int st_press_trig_set_state(struct iio_trigger *trig, bool state)
>  
>  static int st_press_buffer_preenable(struct iio_dev *indio_dev)
>  {
> -	int err;
> -
> -	err = st_sensors_set_enable(indio_dev, true);
> -	if (err < 0)
> -		goto st_press_set_enable_error;
> -
> -	err = iio_sw_buffer_preenable(indio_dev);
> -
> -st_press_set_enable_error:
> -	return err;
> +	return st_sensors_set_enable(indio_dev, true);
>  }
>  
>  static int st_press_buffer_postenable(struct iio_dev *indio_dev)
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 11/17] iio:gp2ap020a00f: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 ` [PATCH 11/17] iio:gp2ap020a00f: " Lars-Peter Clausen
@ 2013-10-16 18:14   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:14 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio, Jacek Anaszewski

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Jacek Anaszewski <j.anaszewski@samsung.com>
Applied to the togreg branch of iio.git

thanks
> ---
>  drivers/iio/light/gp2ap020a00f.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/iio/light/gp2ap020a00f.c b/drivers/iio/light/gp2ap020a00f.c
> index 2a65bc3..a530e77 100644
> --- a/drivers/iio/light/gp2ap020a00f.c
> +++ b/drivers/iio/light/gp2ap020a00f.c
> @@ -1483,7 +1483,6 @@ error_unlock:
>  }
>  
>  static const struct iio_buffer_setup_ops gp2ap020a00f_buffer_setup_ops = {
> -	.preenable = &iio_sw_buffer_preenable,
>  	.postenable = &gp2ap020a00f_buffer_postenable,
>  	.predisable = &gp2ap020a00f_buffer_predisable,
>  };
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 12/17] staging:iio:lis3l02dq: Remove redundant call to iio_sw_buffer_preenable().
  2013-10-14 16:49 ` [PATCH 12/17] staging:iio:lis3l02dq: " Lars-Peter Clausen
@ 2013-10-16 18:15   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:15 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Applied to the togreg branch of iio.git

Thanks,
> ---
>  drivers/staging/iio/accel/lis3l02dq_ring.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/staging/iio/accel/lis3l02dq_ring.c b/drivers/staging/iio/accel/lis3l02dq_ring.c
> index 2d559ba..79cefe0 100644
> --- a/drivers/staging/iio/accel/lis3l02dq_ring.c
> +++ b/drivers/staging/iio/accel/lis3l02dq_ring.c
> @@ -382,7 +382,6 @@ error_ret:
>  }
>  
>  static const struct iio_buffer_setup_ops lis3l02dq_buffer_setup_ops = {
> -	.preenable = &iio_sw_buffer_preenable,
>  	.postenable = &lis3l02dq_buffer_postenable,
>  	.predisable = &lis3l02dq_buffer_predisable,
>  };
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 13/17] staging:iio:mxs-lradc: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 ` [PATCH 13/17] staging:iio:mxs-lradc: " Lars-Peter Clausen
@ 2013-10-16 18:15   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:15 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio, Marek Vasut

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Marek Vasut <marex@denx.de>
Applied to the togreg branch of iio.git

Thanks
> ---
>  drivers/staging/iio/adc/mxs-lradc.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/drivers/staging/iio/adc/mxs-lradc.c b/drivers/staging/iio/adc/mxs-lradc.c
> index dfd1bc1..1bb03e1 100644
> --- a/drivers/staging/iio/adc/mxs-lradc.c
> +++ b/drivers/staging/iio/adc/mxs-lradc.c
> @@ -1041,10 +1041,6 @@ static int mxs_lradc_buffer_preenable(struct iio_dev *iio)
>  		goto err_mem;
>  	}
>  
> -	ret = iio_sw_buffer_preenable(iio);
> -	if (ret < 0)
> -		goto err_buf;
> -
>  	if (lradc->soc == IMX28_LRADC)
>  		mxs_lradc_reg_clear(lradc, LRADC_CTRL1_MX28_LRADC_IRQ_EN_MASK,
>  							LRADC_CTRL1);
> @@ -1069,8 +1065,6 @@ static int mxs_lradc_buffer_preenable(struct iio_dev *iio)
>  
>  	return 0;
>  
> -err_buf:
> -	kfree(lradc->buffer);
>  err_mem:
>  	mutex_unlock(&lradc->lock);
>  	return ret;
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 14/17] staging:iio:simple-dummy: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 ` [PATCH 14/17] staging:iio:simple-dummy: " Lars-Peter Clausen
@ 2013-10-16 18:16   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:16 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Applied to the togreg branch of iio.git
> ---
>  drivers/staging/iio/iio_simple_dummy_buffer.c | 8 --------
>  1 file changed, 8 deletions(-)
> 
> diff --git a/drivers/staging/iio/iio_simple_dummy_buffer.c b/drivers/staging/iio/iio_simple_dummy_buffer.c
> index 2612e87..46c134b 100644
> --- a/drivers/staging/iio/iio_simple_dummy_buffer.c
> +++ b/drivers/staging/iio/iio_simple_dummy_buffer.c
> @@ -99,14 +99,6 @@ done:
>  
>  static const struct iio_buffer_setup_ops iio_simple_dummy_buffer_setup_ops = {
>  	/*
> -	 * iio_sw_buffer_preenable:
> -	 * Generic function for equal sized ring elements + 64 bit timestamp
> -	 * Assumes that any combination of channels can be enabled.
> -	 * Typically replaced to implement restrictions on what combinations
> -	 * can be captured (hardware scan modes).
> -	 */
> -	.preenable = &iio_sw_buffer_preenable,
> -	/*
>  	 * iio_triggered_buffer_postenable:
>  	 * Generic function that simply attaches the pollfunc to the trigger.
>  	 * Replace this to mess with hardware state before we attach the
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 15/17] staging:iio:ad5933: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 ` [PATCH 15/17] staging:iio:ad5933: " Lars-Peter Clausen
@ 2013-10-16 18:16   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:16 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Applied to the togreg branch of iio.git

thanks
> ---
>  drivers/staging/iio/impedance-analyzer/ad5933.c | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c
> index f570115..0a4298b 100644
> --- a/drivers/staging/iio/impedance-analyzer/ad5933.c
> +++ b/drivers/staging/iio/impedance-analyzer/ad5933.c
> @@ -574,10 +574,6 @@ static int ad5933_ring_preenable(struct iio_dev *indio_dev)
>  	if (bitmap_empty(indio_dev->active_scan_mask, indio_dev->masklength))
>  		return -EINVAL;
>  
> -	ret = iio_sw_buffer_preenable(indio_dev);
> -	if (ret < 0)
> -		return ret;
> -
>  	ret = ad5933_reset(st);
>  	if (ret < 0)
>  		return ret;
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 16/17] staging:iio:ade7758: Remove redundant call to iio_sw_buffer_preenable()
  2013-10-14 16:49 ` [PATCH 16/17] staging:iio:ade7758: " Lars-Peter Clausen
@ 2013-10-16 18:16   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:16 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The equivalent of iio_sw_buffer_preenable() is now done in the IIO buffer core,
> so there is no need to do this from the driver anymore.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Applied to the togreg branch of iio.git

Thanks
> ---
>  drivers/staging/iio/meter/ade7758_ring.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/staging/iio/meter/ade7758_ring.c b/drivers/staging/iio/meter/ade7758_ring.c
> index 7a448ff..c0accf8 100644
> --- a/drivers/staging/iio/meter/ade7758_ring.c
> +++ b/drivers/staging/iio/meter/ade7758_ring.c
> @@ -87,15 +87,10 @@ static int ade7758_ring_preenable(struct iio_dev *indio_dev)
>  {
>  	struct ade7758_state *st = iio_priv(indio_dev);
>  	unsigned channel;
> -	int ret;
>  
>  	if (!bitmap_empty(indio_dev->active_scan_mask, indio_dev->masklength))
>  		return -EINVAL;
>  
> -	ret = iio_sw_buffer_preenable(indio_dev);
> -	if (ret < 0)
> -		return ret;
> -
>  	channel = find_first_bit(indio_dev->active_scan_mask,
>  				 indio_dev->masklength);
>  
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: [PATCH 17/17] iio: Remove unused iio_sw_buffer_preenable()
  2013-10-14 16:49 ` [PATCH 17/17] iio: Remove unused iio_sw_buffer_preenable() Lars-Peter Clausen
@ 2013-10-16 18:17   ` Jonathan Cameron
  0 siblings, 0 replies; 35+ messages in thread
From: Jonathan Cameron @ 2013-10-16 18:17 UTC (permalink / raw)
  To: Lars-Peter Clausen; +Cc: linux-iio

On 10/14/13 17:49, Lars-Peter Clausen wrote:
> The functionality implemented by iio_sw_buffer_preenable() is now done directly
> in the IIO core and previous users of iio_sw_buffer_preenable() have all been
> updated to not use it anymore. It is unused now and can be remove.
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Applied to the togreg branch of iio.git

Thanks for the series.


> ---
>  drivers/iio/industrialio-buffer.c | 18 ------------------
>  include/linux/iio/buffer.h        |  2 --
>  2 files changed, 20 deletions(-)
> 
> diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
> index 186f501..d7ab258 100644
> --- a/drivers/iio/industrialio-buffer.c
> +++ b/drivers/iio/industrialio-buffer.c
> @@ -749,24 +749,6 @@ done:
>  }
>  EXPORT_SYMBOL(iio_buffer_store_enable);
>  
> -int iio_sw_buffer_preenable(struct iio_dev *indio_dev)
> -{
> -	struct iio_buffer *buffer;
> -	unsigned bytes;
> -	dev_dbg(&indio_dev->dev, "%s\n", __func__);
> -
> -	list_for_each_entry(buffer, &indio_dev->buffer_list, buffer_list)
> -		if (buffer->access->set_bytes_per_datum) {
> -			bytes = iio_compute_scan_bytes(indio_dev,
> -						       buffer->scan_mask,
> -						       buffer->scan_timestamp);
> -
> -			buffer->access->set_bytes_per_datum(buffer, bytes);
> -		}
> -	return 0;
> -}
> -EXPORT_SYMBOL(iio_sw_buffer_preenable);
> -
>  /**
>   * iio_validate_scan_mask_onehot() - Validates that exactly one channel is selected
>   * @indio_dev: the iio device
> diff --git a/include/linux/iio/buffer.h b/include/linux/iio/buffer.h
> index 6e428d9..15607b4 100644
> --- a/include/linux/iio/buffer.h
> +++ b/include/linux/iio/buffer.h
> @@ -206,8 +206,6 @@ ssize_t iio_buffer_show_enable(struct device *dev,
>  					   iio_buffer_show_enable,	\
>  					   iio_buffer_store_enable)
>  
> -int iio_sw_buffer_preenable(struct iio_dev *indio_dev);
> -
>  bool iio_validate_scan_mask_onehot(struct iio_dev *indio_dev,
>  	const unsigned long *mask);
>  
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2013-10-16 17:17 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-14 16:49 [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Lars-Peter Clausen
2013-10-14 16:49 ` [PATCH 02/17] iio:st_accel: Drop redundant call to iio_sw_buffer_preenable() Lars-Peter Clausen
2013-10-16 18:11   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 03/17] iio:ad7266: Remove redundant call to iio_sw_preenable() Lars-Peter Clausen
2013-10-16 18:12   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 04/17] iio:ad7887: Remove redundant call to iio_sw_buffer_preenable() Lars-Peter Clausen
2013-10-16 18:12   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 05/17] iio:ad_sigma_delta: " Lars-Peter Clausen
2013-10-16 18:12   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 06/17] iio:ti_am335x: " Lars-Peter Clausen
2013-10-16 18:13   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 07/17] iio:st_gyro: " Lars-Peter Clausen
2013-10-16 18:13   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 08/17] iio:triggered-buffer: " Lars-Peter Clausen
2013-10-16 18:13   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 09/17] iio:st_magn: " Lars-Peter Clausen
2013-10-16 18:14   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 10/17] iio:st_pressure: " Lars-Peter Clausen
2013-10-16 18:14   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 11/17] iio:gp2ap020a00f: " Lars-Peter Clausen
2013-10-16 18:14   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 12/17] staging:iio:lis3l02dq: " Lars-Peter Clausen
2013-10-16 18:15   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 13/17] staging:iio:mxs-lradc: " Lars-Peter Clausen
2013-10-16 18:15   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 14/17] staging:iio:simple-dummy: " Lars-Peter Clausen
2013-10-16 18:16   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 15/17] staging:iio:ad5933: " Lars-Peter Clausen
2013-10-16 18:16   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 16/17] staging:iio:ade7758: " Lars-Peter Clausen
2013-10-16 18:16   ` Jonathan Cameron
2013-10-14 16:49 ` [PATCH 17/17] iio: Remove unused iio_sw_buffer_preenable() Lars-Peter Clausen
2013-10-16 18:17   ` Jonathan Cameron
2013-10-14 22:00 ` [PATCH 01/17] iio: Update buffer's bytes per datum after updating the scan mask Jonathan Cameron
2013-10-16 18:09 ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).