All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc
@ 2013-07-30  8:44 Sachin Kamat
  2013-07-30  8:44 ` [PATCH 2/6] iio: imu: adis16480: " Sachin Kamat
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Sachin Kamat @ 2013-07-30  8:44 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Manuel Stahl

Using devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
---
This series compile tested on togreg branch of
git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
---
 drivers/iio/imu/adis16400_core.c |   10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/iio/imu/adis16400_core.c b/drivers/iio/imu/adis16400_core.c
index f60591f..3fb7757 100644
--- a/drivers/iio/imu/adis16400_core.c
+++ b/drivers/iio/imu/adis16400_core.c
@@ -871,7 +871,7 @@ static int adis16400_probe(struct spi_device *spi)
 	struct iio_dev *indio_dev;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return -ENOMEM;
 
@@ -893,12 +893,12 @@ static int adis16400_probe(struct spi_device *spi)
 
 	ret = adis_init(&st->adis, indio_dev, spi, &adis16400_data);
 	if (ret)
-		goto error_free_dev;
+		return ret;
 
 	ret = adis_setup_buffer_and_trigger(&st->adis, indio_dev,
 			adis16400_trigger_handler);
 	if (ret)
-		goto error_free_dev;
+		return ret;
 
 	/* Get the device into a sane initial state */
 	ret = adis16400_initial_setup(indio_dev);
@@ -913,8 +913,6 @@ static int adis16400_probe(struct spi_device *spi)
 
 error_cleanup_buffer:
 	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
-error_free_dev:
-	iio_device_free(indio_dev);
 	return ret;
 }
 
@@ -928,8 +926,6 @@ static int adis16400_remove(struct spi_device *spi)
 
 	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
 
-	iio_device_free(indio_dev);
-
 	return 0;
 }
 
-- 
1.7.9.5


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

* [PATCH 2/6] iio: imu: adis16480: Use devm_iio_device_alloc
  2013-07-30  8:44 [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc Sachin Kamat
@ 2013-07-30  8:44 ` Sachin Kamat
  2013-08-03 17:49   ` Jonathan Cameron
  2013-07-30  8:44 ` [PATCH 3/6] iio: imu: inv_mpu6050: " Sachin Kamat
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Sachin Kamat @ 2013-07-30  8:44 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Lars-Peter Clausen

Using devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Lars-Peter Clausen <lars@metafoo.de>
---
 drivers/iio/imu/adis16480.c |   10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/iio/imu/adis16480.c b/drivers/iio/imu/adis16480.c
index b7db383..dd4206c 100644
--- a/drivers/iio/imu/adis16480.c
+++ b/drivers/iio/imu/adis16480.c
@@ -839,7 +839,7 @@ static int adis16480_probe(struct spi_device *spi)
 	struct adis16480 *st;
 	int ret;
 
-	indio_dev = iio_device_alloc(sizeof(*st));
+	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
 	if (indio_dev == NULL)
 		return -ENOMEM;
 
@@ -857,11 +857,11 @@ static int adis16480_probe(struct spi_device *spi)
 
 	ret = adis_init(&st->adis, indio_dev, spi, &adis16480_data);
 	if (ret)
-		goto error_free_dev;
+		return ret;
 
 	ret = adis_setup_buffer_and_trigger(&st->adis, indio_dev, NULL);
 	if (ret)
-		goto error_free_dev;
+		return ret;
 
 	ret = adis16480_initial_setup(indio_dev);
 	if (ret)
@@ -879,8 +879,6 @@ error_stop_device:
 	adis16480_stop_device(indio_dev);
 error_cleanup_buffer:
 	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
-error_free_dev:
-	iio_device_free(indio_dev);
 	return ret;
 }
 
@@ -894,8 +892,6 @@ static int adis16480_remove(struct spi_device *spi)
 
 	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
 
-	iio_device_free(indio_dev);
-
 	return 0;
 }
 
-- 
1.7.9.5

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

* [PATCH 3/6] iio: imu: inv_mpu6050: Use devm_iio_device_alloc
  2013-07-30  8:44 [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc Sachin Kamat
  2013-07-30  8:44 ` [PATCH 2/6] iio: imu: adis16480: " Sachin Kamat
@ 2013-07-30  8:44 ` Sachin Kamat
  2013-08-03 17:50   ` Jonathan Cameron
  2013-07-30  8:44 ` [PATCH 4/6] iio: light: hid-sensor-als: " Sachin Kamat
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Sachin Kamat @ 2013-07-30  8:44 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat

Using devm_iio_device_alloc makes code simpler. While at
it include missing iio.h header file and do some cleanup.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c |   27 ++++++++++-----------------
 1 file changed, 10 insertions(+), 17 deletions(-)

diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
index 6a1ff80..df7f1e1 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
@@ -23,6 +23,7 @@
 #include <linux/interrupt.h>
 #include <linux/kfifo.h>
 #include <linux/spinlock.h>
+#include <linux/iio/iio.h>
 #include "inv_mpu_iio.h"
 
 /*
@@ -663,16 +664,13 @@ static int inv_mpu_probe(struct i2c_client *client,
 	int result;
 
 	if (!i2c_check_functionality(client->adapter,
-		I2C_FUNC_SMBUS_I2C_BLOCK)) {
+		I2C_FUNC_SMBUS_I2C_BLOCK))
+		return -ENOSYS;
+
+	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*st));
+	if (!indio_dev)
+		return -ENOMEM;
 
-		result = -ENOSYS;
-		goto out_no_free;
-	}
-	indio_dev = iio_device_alloc(sizeof(*st));
-	if (indio_dev == NULL) {
-		result =  -ENOMEM;
-		goto out_no_free;
-	}
 	st = iio_priv(indio_dev);
 	st->client = client;
 	st->plat_data = *(struct inv_mpu6050_platform_data
@@ -680,13 +678,13 @@ static int inv_mpu_probe(struct i2c_client *client,
 	/* power is turned on inside check chip type*/
 	result = inv_check_and_setup_chip(st, id);
 	if (result)
-		goto out_free;
+		return result;
 
 	result = inv_mpu6050_init_config(indio_dev);
 	if (result) {
 		dev_err(&client->dev,
 			"Could not initialize device.\n");
-		goto out_free;
+		return result;
 	}
 
 	i2c_set_clientdata(client, indio_dev);
@@ -705,7 +703,7 @@ static int inv_mpu_probe(struct i2c_client *client,
 	if (result) {
 		dev_err(&st->client->dev, "configure buffer fail %d\n",
 				result);
-		goto out_free;
+		return result;
 	}
 	result = inv_mpu6050_probe_trigger(indio_dev);
 	if (result) {
@@ -727,10 +725,6 @@ out_remove_trigger:
 	inv_mpu6050_remove_trigger(st);
 out_unreg_ring:
 	iio_triggered_buffer_cleanup(indio_dev);
-out_free:
-	iio_device_free(indio_dev);
-out_no_free:
-
 	return result;
 }
 
@@ -742,7 +736,6 @@ static int inv_mpu_remove(struct i2c_client *client)
 	iio_device_unregister(indio_dev);
 	inv_mpu6050_remove_trigger(st);
 	iio_triggered_buffer_cleanup(indio_dev);
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 4/6] iio: light: hid-sensor-als: Use devm_iio_device_alloc
  2013-07-30  8:44 [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc Sachin Kamat
  2013-07-30  8:44 ` [PATCH 2/6] iio: imu: adis16480: " Sachin Kamat
  2013-07-30  8:44 ` [PATCH 3/6] iio: imu: inv_mpu6050: " Sachin Kamat
@ 2013-07-30  8:44 ` Sachin Kamat
  2013-08-02 16:08   ` Srinivas Pandruvada
  2013-07-30  8:44 ` [PATCH 5/6] iio: light: lm3533-als: " Sachin Kamat
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: Sachin Kamat @ 2013-07-30  8:44 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Srinivas Pandruvada

Using devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com>
---
 drivers/iio/light/hid-sensor-als.c |   17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sensor-als.c
index 9adfef0..84cf004 100644
--- a/drivers/iio/light/hid-sensor-als.c
+++ b/drivers/iio/light/hid-sensor-als.c
@@ -249,11 +249,9 @@ static int hid_als_probe(struct platform_device *pdev)
 	struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data;
 	struct iio_chan_spec *channels;
 
-	indio_dev = iio_device_alloc(sizeof(struct als_state));
-	if (indio_dev == NULL) {
-		ret = -ENOMEM;
-		goto error_ret;
-	}
+	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(struct als_state));
+	if (!indio_dev)
+		return -ENOMEM;
 	platform_set_drvdata(pdev, indio_dev);
 
 	als_state = iio_priv(indio_dev);
@@ -264,14 +262,13 @@ static int hid_als_probe(struct platform_device *pdev)
 					&als_state->common_attributes);
 	if (ret) {
 		dev_err(&pdev->dev, "failed to setup common attributes\n");
-		goto error_free_dev;
+		return ret;
 	}
 
 	channels = kmemdup(als_channels, sizeof(als_channels), GFP_KERNEL);
 	if (!channels) {
-		ret = -ENOMEM;
 		dev_err(&pdev->dev, "failed to duplicate channels\n");
-		goto error_free_dev;
+		return -ENOMEM;
 	}
 
 	ret = als_parse_report(pdev, hsdev, channels,
@@ -329,9 +326,6 @@ error_unreg_buffer_funcs:
 	iio_triggered_buffer_cleanup(indio_dev);
 error_free_dev_mem:
 	kfree(indio_dev->channels);
-error_free_dev:
-	iio_device_free(indio_dev);
-error_ret:
 	return ret;
 }
 
@@ -346,7 +340,6 @@ static int hid_als_remove(struct platform_device *pdev)
 	hid_sensor_remove_trigger(indio_dev);
 	iio_triggered_buffer_cleanup(indio_dev);
 	kfree(indio_dev->channels);
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 5/6] iio: light: lm3533-als: Use devm_iio_device_alloc
  2013-07-30  8:44 [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc Sachin Kamat
                   ` (2 preceding siblings ...)
  2013-07-30  8:44 ` [PATCH 4/6] iio: light: hid-sensor-als: " Sachin Kamat
@ 2013-07-30  8:44 ` Sachin Kamat
  2013-08-03 17:54   ` Jonathan Cameron
  2013-07-30  8:44 ` [PATCH 6/6] iio: light: tsl2563: Use devm_* APIs Sachin Kamat
  2013-08-03 17:49 ` [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc Jonathan Cameron
  5 siblings, 1 reply; 14+ messages in thread
From: Sachin Kamat @ 2013-07-30  8:44 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Johan Hovold

Using devm_iio_device_alloc makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Johan Hovold <jhovold@gmail.com>
---
 drivers/iio/light/lm3533-als.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/light/lm3533-als.c b/drivers/iio/light/lm3533-als.c
index 5fa31a4..c1aadc6 100644
--- a/drivers/iio/light/lm3533-als.c
+++ b/drivers/iio/light/lm3533-als.c
@@ -847,7 +847,7 @@ static int lm3533_als_probe(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	indio_dev = iio_device_alloc(sizeof(*als));
+	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*als));
 	if (!indio_dev)
 		return -ENOMEM;
 
@@ -870,7 +870,7 @@ static int lm3533_als_probe(struct platform_device *pdev)
 	if (als->irq) {
 		ret = lm3533_als_setup_irq(als, indio_dev);
 		if (ret)
-			goto err_free_dev;
+			return ret;
 	}
 
 	ret = lm3533_als_setup(als, pdata);
@@ -894,8 +894,6 @@ err_disable:
 err_free_irq:
 	if (als->irq)
 		free_irq(als->irq, indio_dev);
-err_free_dev:
-	iio_device_free(indio_dev);
 
 	return ret;
 }
@@ -910,7 +908,6 @@ static int lm3533_als_remove(struct platform_device *pdev)
 	lm3533_als_disable(als);
 	if (als->irq)
 		free_irq(als->irq, indio_dev);
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* [PATCH 6/6] iio: light: tsl2563: Use devm_* APIs
  2013-07-30  8:44 [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc Sachin Kamat
                   ` (3 preceding siblings ...)
  2013-07-30  8:44 ` [PATCH 5/6] iio: light: lm3533-als: " Sachin Kamat
@ 2013-07-30  8:44 ` Sachin Kamat
  2013-07-30  9:07   ` Amit Kucheria
  2013-08-03 17:49 ` [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc Jonathan Cameron
  5 siblings, 1 reply; 14+ messages in thread
From: Sachin Kamat @ 2013-07-30  8:44 UTC (permalink / raw)
  To: linux-iio; +Cc: jic23, jic23, sachin.kamat, Amit Kucheria

devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Amit Kucheria <amit.kucheria@linaro.org>
---
 drivers/iio/light/tsl2563.c |   25 ++++++++-----------------
 1 file changed, 8 insertions(+), 17 deletions(-)

diff --git a/drivers/iio/light/tsl2563.c b/drivers/iio/light/tsl2563.c
index 1f529f3..ebb962c 100644
--- a/drivers/iio/light/tsl2563.c
+++ b/drivers/iio/light/tsl2563.c
@@ -702,7 +702,7 @@ static int tsl2563_probe(struct i2c_client *client,
 	int err = 0;
 	u8 id = 0;
 
-	indio_dev = iio_device_alloc(sizeof(*chip));
+	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*chip));
 	if (!indio_dev)
 		return -ENOMEM;
 
@@ -714,13 +714,13 @@ static int tsl2563_probe(struct i2c_client *client,
 	err = tsl2563_detect(chip);
 	if (err) {
 		dev_err(&client->dev, "detect error %d\n", -err);
-		goto fail1;
+		return err;
 	}
 
 	err = tsl2563_read_id(chip, &id);
 	if (err) {
 		dev_err(&client->dev, "read id error %d\n", -err);
-		goto fail1;
+		return err;
 	}
 
 	mutex_init(&chip->lock);
@@ -751,7 +751,7 @@ static int tsl2563_probe(struct i2c_client *client,
 		indio_dev->info = &tsl2563_info_no_irq;
 
 	if (client->irq) {
-		err = request_threaded_irq(client->irq,
+		err = devm_request_threaded_irq(&client->dev, client->irq,
 					   NULL,
 					   &tsl2563_event_handler,
 					   IRQF_TRIGGER_RISING | IRQF_ONESHOT,
@@ -759,14 +759,14 @@ static int tsl2563_probe(struct i2c_client *client,
 					   indio_dev);
 		if (err) {
 			dev_err(&client->dev, "irq request error %d\n", -err);
-			goto fail1;
+			return err;
 		}
 	}
 
 	err = tsl2563_configure(chip);
 	if (err) {
 		dev_err(&client->dev, "configure error %d\n", -err);
-		goto fail2;
+		return err;
 	}
 
 	INIT_DELAYED_WORK(&chip->poweroff_work, tsl2563_poweroff_work);
@@ -777,19 +777,14 @@ static int tsl2563_probe(struct i2c_client *client,
 	err = iio_device_register(indio_dev);
 	if (err) {
 		dev_err(&client->dev, "iio registration error %d\n", -err);
-		goto fail3;
+		goto fail;
 	}
 
 	return 0;
 
-fail3:
+fail:
 	cancel_delayed_work(&chip->poweroff_work);
 	flush_scheduled_work();
-fail2:
-	if (client->irq)
-		free_irq(client->irq, indio_dev);
-fail1:
-	iio_device_free(indio_dev);
 	return err;
 }
 
@@ -807,10 +802,6 @@ static int tsl2563_remove(struct i2c_client *client)
 				  chip->intr);
 	flush_scheduled_work();
 	tsl2563_set_power(chip, 0);
-	if (client->irq)
-		free_irq(client->irq, indio_dev);
-
-	iio_device_free(indio_dev);
 
 	return 0;
 }
-- 
1.7.9.5

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

* Re: [PATCH 6/6] iio: light: tsl2563: Use devm_* APIs
  2013-07-30  8:44 ` [PATCH 6/6] iio: light: tsl2563: Use devm_* APIs Sachin Kamat
@ 2013-07-30  9:07   ` Amit Kucheria
  2013-08-03 17:57     ` Jonathan Cameron
  0 siblings, 1 reply; 14+ messages in thread
From: Amit Kucheria @ 2013-07-30  9:07 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, jic23, jic23

On Tue, Jul 30, 2013 at 2:14 PM, Sachin Kamat <sachin.kamat@linaro.org> wrote:
> devm_* APIs are device managed and make code simpler.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Amit Kucheria <amit.kucheria@linaro.org>

Looks good. I don't have the device to test this on, though.

Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>

> ---
>  drivers/iio/light/tsl2563.c |   25 ++++++++-----------------
>  1 file changed, 8 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/iio/light/tsl2563.c b/drivers/iio/light/tsl2563.c
> index 1f529f3..ebb962c 100644
> --- a/drivers/iio/light/tsl2563.c
> +++ b/drivers/iio/light/tsl2563.c
> @@ -702,7 +702,7 @@ static int tsl2563_probe(struct i2c_client *client,
>         int err = 0;
>         u8 id = 0;
>
> -       indio_dev = iio_device_alloc(sizeof(*chip));
> +       indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*chip));
>         if (!indio_dev)
>                 return -ENOMEM;
>
> @@ -714,13 +714,13 @@ static int tsl2563_probe(struct i2c_client *client,
>         err = tsl2563_detect(chip);
>         if (err) {
>                 dev_err(&client->dev, "detect error %d\n", -err);
> -               goto fail1;
> +               return err;
>         }
>
>         err = tsl2563_read_id(chip, &id);
>         if (err) {
>                 dev_err(&client->dev, "read id error %d\n", -err);
> -               goto fail1;
> +               return err;
>         }
>
>         mutex_init(&chip->lock);
> @@ -751,7 +751,7 @@ static int tsl2563_probe(struct i2c_client *client,
>                 indio_dev->info = &tsl2563_info_no_irq;
>
>         if (client->irq) {
> -               err = request_threaded_irq(client->irq,
> +               err = devm_request_threaded_irq(&client->dev, client->irq,
>                                            NULL,
>                                            &tsl2563_event_handler,
>                                            IRQF_TRIGGER_RISING | IRQF_ONESHOT,
> @@ -759,14 +759,14 @@ static int tsl2563_probe(struct i2c_client *client,
>                                            indio_dev);
>                 if (err) {
>                         dev_err(&client->dev, "irq request error %d\n", -err);
> -                       goto fail1;
> +                       return err;
>                 }
>         }
>
>         err = tsl2563_configure(chip);
>         if (err) {
>                 dev_err(&client->dev, "configure error %d\n", -err);
> -               goto fail2;
> +               return err;
>         }
>
>         INIT_DELAYED_WORK(&chip->poweroff_work, tsl2563_poweroff_work);
> @@ -777,19 +777,14 @@ static int tsl2563_probe(struct i2c_client *client,
>         err = iio_device_register(indio_dev);
>         if (err) {
>                 dev_err(&client->dev, "iio registration error %d\n", -err);
> -               goto fail3;
> +               goto fail;
>         }
>
>         return 0;
>
> -fail3:
> +fail:
>         cancel_delayed_work(&chip->poweroff_work);
>         flush_scheduled_work();
> -fail2:
> -       if (client->irq)
> -               free_irq(client->irq, indio_dev);
> -fail1:
> -       iio_device_free(indio_dev);
>         return err;
>  }
>
> @@ -807,10 +802,6 @@ static int tsl2563_remove(struct i2c_client *client)
>                                   chip->intr);
>         flush_scheduled_work();
>         tsl2563_set_power(chip, 0);
> -       if (client->irq)
> -               free_irq(client->irq, indio_dev);
> -
> -       iio_device_free(indio_dev);
>
>         return 0;
>  }
> --
> 1.7.9.5
>

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

* Re: [PATCH 4/6] iio: light: hid-sensor-als: Use devm_iio_device_alloc
  2013-07-30  8:44 ` [PATCH 4/6] iio: light: hid-sensor-als: " Sachin Kamat
@ 2013-08-02 16:08   ` Srinivas Pandruvada
  2013-08-03 17:54     ` Jonathan Cameron
  0 siblings, 1 reply; 14+ messages in thread
From: Srinivas Pandruvada @ 2013-08-02 16:08 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, jic23, jic23, Srinivas Pandruvada

On 07/30/2013 01:44 AM, Sachin Kamat wrote:
> Using devm_iio_device_alloc makes code simpler.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com>
> ---
>   drivers/iio/light/hid-sensor-als.c |   17 +++++------------
>   1 file changed, 5 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sensor-als.c
> index 9adfef0..84cf004 100644
> --- a/drivers/iio/light/hid-sensor-als.c
> +++ b/drivers/iio/light/hid-sensor-als.c
> @@ -249,11 +249,9 @@ static int hid_als_probe(struct platform_device *pdev)
>   	struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data;
>   	struct iio_chan_spec *channels;
>   
> -	indio_dev = iio_device_alloc(sizeof(struct als_state));
> -	if (indio_dev == NULL) {
> -		ret = -ENOMEM;
> -		goto error_ret;
> -	}
> +	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(struct als_state));
> +	if (!indio_dev)
> +		return -ENOMEM;
>   	platform_set_drvdata(pdev, indio_dev);
>   
>   	als_state = iio_priv(indio_dev);
> @@ -264,14 +262,13 @@ static int hid_als_probe(struct platform_device *pdev)
>   					&als_state->common_attributes);
>   	if (ret) {
>   		dev_err(&pdev->dev, "failed to setup common attributes\n");
> -		goto error_free_dev;
> +		return ret;
>   	}
>   
>   	channels = kmemdup(als_channels, sizeof(als_channels), GFP_KERNEL);
>   	if (!channels) {
> -		ret = -ENOMEM;
Don't we have to free indio_dev?
>   		dev_err(&pdev->dev, "failed to duplicate channels\n");
> -		goto error_free_dev;
> +		return -ENOMEM;
>   	}
>   
>   	ret = als_parse_report(pdev, hsdev, channels,

Same here, What if any of the calls fail after this? free indio_dev?
> @@ -329,9 +326,6 @@ error_unreg_buffer_funcs:
>   	iio_triggered_buffer_cleanup(indio_dev);
>   error_free_dev_mem:
>   	kfree(indio_dev->channels);
> -error_free_dev:
> -	iio_device_free(indio_dev);
> -error_ret:
>   	return ret;
>   }
>   
> @@ -346,7 +340,6 @@ static int hid_als_remove(struct platform_device *pdev)
>   	hid_sensor_remove_trigger(indio_dev);
>   	iio_triggered_buffer_cleanup(indio_dev);
>   	kfree(indio_dev->channels);
> -	iio_device_free(indio_dev);
>   
>   	return 0;
>   }

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

* Re: [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc
  2013-07-30  8:44 [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc Sachin Kamat
                   ` (4 preceding siblings ...)
  2013-07-30  8:44 ` [PATCH 6/6] iio: light: tsl2563: Use devm_* APIs Sachin Kamat
@ 2013-08-03 17:49 ` Jonathan Cameron
  5 siblings, 0 replies; 14+ messages in thread
From: Jonathan Cameron @ 2013-08-03 17:49 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, jic23, Manuel Stahl

On 07/30/13 09:44, Sachin Kamat wrote:
> Using devm_iio_device_alloc makes code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Applied to the togreg branch of iio.git.  Thanks

Jonathan
> ---
> This series compile tested on togreg branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
> ---
>  drivers/iio/imu/adis16400_core.c |   10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/iio/imu/adis16400_core.c b/drivers/iio/imu/adis16400_core.c
> index f60591f..3fb7757 100644
> --- a/drivers/iio/imu/adis16400_core.c
> +++ b/drivers/iio/imu/adis16400_core.c
> @@ -871,7 +871,7 @@ static int adis16400_probe(struct spi_device *spi)
>  	struct iio_dev *indio_dev;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
>  	if (indio_dev == NULL)
>  		return -ENOMEM;
>  
> @@ -893,12 +893,12 @@ static int adis16400_probe(struct spi_device *spi)
>  
>  	ret = adis_init(&st->adis, indio_dev, spi, &adis16400_data);
>  	if (ret)
> -		goto error_free_dev;
> +		return ret;
>  
>  	ret = adis_setup_buffer_and_trigger(&st->adis, indio_dev,
>  			adis16400_trigger_handler);
>  	if (ret)
> -		goto error_free_dev;
> +		return ret;
>  
>  	/* Get the device into a sane initial state */
>  	ret = adis16400_initial_setup(indio_dev);
> @@ -913,8 +913,6 @@ static int adis16400_probe(struct spi_device *spi)
>  
>  error_cleanup_buffer:
>  	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
> -error_free_dev:
> -	iio_device_free(indio_dev);
>  	return ret;
>  }
>  
> @@ -928,8 +926,6 @@ static int adis16400_remove(struct spi_device *spi)
>  
>  	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
>  
> -	iio_device_free(indio_dev);
> -
>  	return 0;
>  }
>  
> 

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

* Re: [PATCH 2/6] iio: imu: adis16480: Use devm_iio_device_alloc
  2013-07-30  8:44 ` [PATCH 2/6] iio: imu: adis16480: " Sachin Kamat
@ 2013-08-03 17:49   ` Jonathan Cameron
  0 siblings, 0 replies; 14+ messages in thread
From: Jonathan Cameron @ 2013-08-03 17:49 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, jic23, Lars-Peter Clausen

On 07/30/13 09:44, Sachin Kamat wrote:
> Using devm_iio_device_alloc makes code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Lars-Peter Clausen <lars@metafoo.de>
Applied to the togreg branch of iio.git.

Thanks,

Jonathan
> ---
>  drivers/iio/imu/adis16480.c |   10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/iio/imu/adis16480.c b/drivers/iio/imu/adis16480.c
> index b7db383..dd4206c 100644
> --- a/drivers/iio/imu/adis16480.c
> +++ b/drivers/iio/imu/adis16480.c
> @@ -839,7 +839,7 @@ static int adis16480_probe(struct spi_device *spi)
>  	struct adis16480 *st;
>  	int ret;
>  
> -	indio_dev = iio_device_alloc(sizeof(*st));
> +	indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
>  	if (indio_dev == NULL)
>  		return -ENOMEM;
>  
> @@ -857,11 +857,11 @@ static int adis16480_probe(struct spi_device *spi)
>  
>  	ret = adis_init(&st->adis, indio_dev, spi, &adis16480_data);
>  	if (ret)
> -		goto error_free_dev;
> +		return ret;
>  
>  	ret = adis_setup_buffer_and_trigger(&st->adis, indio_dev, NULL);
>  	if (ret)
> -		goto error_free_dev;
> +		return ret;
>  
>  	ret = adis16480_initial_setup(indio_dev);
>  	if (ret)
> @@ -879,8 +879,6 @@ error_stop_device:
>  	adis16480_stop_device(indio_dev);
>  error_cleanup_buffer:
>  	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
> -error_free_dev:
> -	iio_device_free(indio_dev);
>  	return ret;
>  }
>  
> @@ -894,8 +892,6 @@ static int adis16480_remove(struct spi_device *spi)
>  
>  	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
>  
> -	iio_device_free(indio_dev);
> -
>  	return 0;
>  }
>  
> 

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

* Re: [PATCH 3/6] iio: imu: inv_mpu6050: Use devm_iio_device_alloc
  2013-07-30  8:44 ` [PATCH 3/6] iio: imu: inv_mpu6050: " Sachin Kamat
@ 2013-08-03 17:50   ` Jonathan Cameron
  0 siblings, 0 replies; 14+ messages in thread
From: Jonathan Cameron @ 2013-08-03 17:50 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, jic23

On 07/30/13 09:44, Sachin Kamat wrote:
> Using devm_iio_device_alloc makes code simpler. While at
> it include missing iio.h header file and do some cleanup.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Applied to the togreg branch of iio.git

Thanks,

> ---
>  drivers/iio/imu/inv_mpu6050/inv_mpu_core.c |   27 ++++++++++-----------------
>  1 file changed, 10 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> index 6a1ff80..df7f1e1 100644
> --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> @@ -23,6 +23,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/kfifo.h>
>  #include <linux/spinlock.h>
> +#include <linux/iio/iio.h>
>  #include "inv_mpu_iio.h"
>  
>  /*
> @@ -663,16 +664,13 @@ static int inv_mpu_probe(struct i2c_client *client,
>  	int result;
>  
>  	if (!i2c_check_functionality(client->adapter,
> -		I2C_FUNC_SMBUS_I2C_BLOCK)) {
> +		I2C_FUNC_SMBUS_I2C_BLOCK))
> +		return -ENOSYS;
> +
> +	indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*st));
> +	if (!indio_dev)
> +		return -ENOMEM;
>  
> -		result = -ENOSYS;
> -		goto out_no_free;
> -	}
> -	indio_dev = iio_device_alloc(sizeof(*st));
> -	if (indio_dev == NULL) {
> -		result =  -ENOMEM;
> -		goto out_no_free;
> -	}
>  	st = iio_priv(indio_dev);
>  	st->client = client;
>  	st->plat_data = *(struct inv_mpu6050_platform_data
> @@ -680,13 +678,13 @@ static int inv_mpu_probe(struct i2c_client *client,
>  	/* power is turned on inside check chip type*/
>  	result = inv_check_and_setup_chip(st, id);
>  	if (result)
> -		goto out_free;
> +		return result;
>  
>  	result = inv_mpu6050_init_config(indio_dev);
>  	if (result) {
>  		dev_err(&client->dev,
>  			"Could not initialize device.\n");
> -		goto out_free;
> +		return result;
>  	}
>  
>  	i2c_set_clientdata(client, indio_dev);
> @@ -705,7 +703,7 @@ static int inv_mpu_probe(struct i2c_client *client,
>  	if (result) {
>  		dev_err(&st->client->dev, "configure buffer fail %d\n",
>  				result);
> -		goto out_free;
> +		return result;
>  	}
>  	result = inv_mpu6050_probe_trigger(indio_dev);
>  	if (result) {
> @@ -727,10 +725,6 @@ out_remove_trigger:
>  	inv_mpu6050_remove_trigger(st);
>  out_unreg_ring:
>  	iio_triggered_buffer_cleanup(indio_dev);
> -out_free:
> -	iio_device_free(indio_dev);
> -out_no_free:
> -
>  	return result;
>  }
>  
> @@ -742,7 +736,6 @@ static int inv_mpu_remove(struct i2c_client *client)
>  	iio_device_unregister(indio_dev);
>  	inv_mpu6050_remove_trigger(st);
>  	iio_triggered_buffer_cleanup(indio_dev);
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 4/6] iio: light: hid-sensor-als: Use devm_iio_device_alloc
  2013-08-02 16:08   ` Srinivas Pandruvada
@ 2013-08-03 17:54     ` Jonathan Cameron
  0 siblings, 0 replies; 14+ messages in thread
From: Jonathan Cameron @ 2013-08-03 17:54 UTC (permalink / raw)
  To: Srinivas Pandruvada; +Cc: Sachin Kamat, linux-iio, jic23, Srinivas Pandruvada

On 08/02/13 17:08, Srinivas Pandruvada wrote:
> On 07/30/2013 01:44 AM, Sachin Kamat wrote:
>> Using devm_iio_device_alloc makes code simpler.
>>
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com>
Applied to the togreg branch of iio.git.
>> ---
>>   drivers/iio/light/hid-sensor-als.c |   17 +++++------------
>>   1 file changed, 5 insertions(+), 12 deletions(-)
>>
>> diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sensor-als.c
>> index 9adfef0..84cf004 100644
>> --- a/drivers/iio/light/hid-sensor-als.c
>> +++ b/drivers/iio/light/hid-sensor-als.c
>> @@ -249,11 +249,9 @@ static int hid_als_probe(struct platform_device *pdev)
>>       struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data;
>>       struct iio_chan_spec *channels;
>>   -    indio_dev = iio_device_alloc(sizeof(struct als_state));
>> -    if (indio_dev == NULL) {
>> -        ret = -ENOMEM;
>> -        goto error_ret;
>> -    }
>> +    indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(struct als_state));
>> +    if (!indio_dev)
>> +        return -ENOMEM;
>>       platform_set_drvdata(pdev, indio_dev);
>>         als_state = iio_priv(indio_dev);
>> @@ -264,14 +262,13 @@ static int hid_als_probe(struct platform_device *pdev)
>>                       &als_state->common_attributes);
>>       if (ret) {
>>           dev_err(&pdev->dev, "failed to setup common attributes\n");
>> -        goto error_free_dev;
>> +        return ret;
>>       }
>>         channels = kmemdup(als_channels, sizeof(als_channels), GFP_KERNEL);
>>       if (!channels) {
>> -        ret = -ENOMEM;
> Don't we have to free indio_dev?
Nope.  Not having to do that is what we gain from the managed interfaces.
Basically anything allocated for a particular devices will be freed (in reverse
order) on that device being freed.  The pdev->dev device will be freed if this
probe fails, taking everything else down with it.

Jonathan
>>           dev_err(&pdev->dev, "failed to duplicate channels\n");
>> -        goto error_free_dev;
>> +        return -ENOMEM;
>>       }
>>         ret = als_parse_report(pdev, hsdev, channels,
> 
> Same here, What if any of the calls fail after this? free indio_dev?
>> @@ -329,9 +326,6 @@ error_unreg_buffer_funcs:
>>       iio_triggered_buffer_cleanup(indio_dev);
>>   error_free_dev_mem:
>>       kfree(indio_dev->channels);
>> -error_free_dev:
>> -    iio_device_free(indio_dev);
>> -error_ret:
>>       return ret;
>>   }
>>   @@ -346,7 +340,6 @@ static int hid_als_remove(struct platform_device *pdev)
>>       hid_sensor_remove_trigger(indio_dev);
>>       iio_triggered_buffer_cleanup(indio_dev);
>>       kfree(indio_dev->channels);
>> -    iio_device_free(indio_dev);
>>         return 0;
>>   }
> 

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

* Re: [PATCH 5/6] iio: light: lm3533-als: Use devm_iio_device_alloc
  2013-07-30  8:44 ` [PATCH 5/6] iio: light: lm3533-als: " Sachin Kamat
@ 2013-08-03 17:54   ` Jonathan Cameron
  0 siblings, 0 replies; 14+ messages in thread
From: Jonathan Cameron @ 2013-08-03 17:54 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-iio, jic23, Johan Hovold

On 07/30/13 09:44, Sachin Kamat wrote:
> Using devm_iio_device_alloc makes code simpler.
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Johan Hovold <jhovold@gmail.com>
Applied to the togreg branch of iio.git

> ---
>  drivers/iio/light/lm3533-als.c |    7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/iio/light/lm3533-als.c b/drivers/iio/light/lm3533-als.c
> index 5fa31a4..c1aadc6 100644
> --- a/drivers/iio/light/lm3533-als.c
> +++ b/drivers/iio/light/lm3533-als.c
> @@ -847,7 +847,7 @@ static int lm3533_als_probe(struct platform_device *pdev)
>  		return -EINVAL;
>  	}
>  
> -	indio_dev = iio_device_alloc(sizeof(*als));
> +	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*als));
>  	if (!indio_dev)
>  		return -ENOMEM;
>  
> @@ -870,7 +870,7 @@ static int lm3533_als_probe(struct platform_device *pdev)
>  	if (als->irq) {
>  		ret = lm3533_als_setup_irq(als, indio_dev);
>  		if (ret)
> -			goto err_free_dev;
> +			return ret;
>  	}
>  
>  	ret = lm3533_als_setup(als, pdata);
> @@ -894,8 +894,6 @@ err_disable:
>  err_free_irq:
>  	if (als->irq)
>  		free_irq(als->irq, indio_dev);
> -err_free_dev:
> -	iio_device_free(indio_dev);
>  
>  	return ret;
>  }
> @@ -910,7 +908,6 @@ static int lm3533_als_remove(struct platform_device *pdev)
>  	lm3533_als_disable(als);
>  	if (als->irq)
>  		free_irq(als->irq, indio_dev);
> -	iio_device_free(indio_dev);
>  
>  	return 0;
>  }
> 

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

* Re: [PATCH 6/6] iio: light: tsl2563: Use devm_* APIs
  2013-07-30  9:07   ` Amit Kucheria
@ 2013-08-03 17:57     ` Jonathan Cameron
  0 siblings, 0 replies; 14+ messages in thread
From: Jonathan Cameron @ 2013-08-03 17:57 UTC (permalink / raw)
  To: Amit Kucheria; +Cc: Sachin Kamat, linux-iio, jic23

On 07/30/13 10:07, Amit Kucheria wrote:
> On Tue, Jul 30, 2013 at 2:14 PM, Sachin Kamat <sachin.kamat@linaro.org> wrote:
>> devm_* APIs are device managed and make code simpler.
>>
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> Cc: Amit Kucheria <amit.kucheria@linaro.org>
> 
> Looks good. I don't have the device to test this on, though.
> 
> Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
> 
Applied to the togreg branch of iio.git

Thanks,
>> ---
>>  drivers/iio/light/tsl2563.c |   25 ++++++++-----------------
>>  1 file changed, 8 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/iio/light/tsl2563.c b/drivers/iio/light/tsl2563.c
>> index 1f529f3..ebb962c 100644
>> --- a/drivers/iio/light/tsl2563.c
>> +++ b/drivers/iio/light/tsl2563.c
>> @@ -702,7 +702,7 @@ static int tsl2563_probe(struct i2c_client *client,
>>         int err = 0;
>>         u8 id = 0;
>>
>> -       indio_dev = iio_device_alloc(sizeof(*chip));
>> +       indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*chip));
>>         if (!indio_dev)
>>                 return -ENOMEM;
>>
>> @@ -714,13 +714,13 @@ static int tsl2563_probe(struct i2c_client *client,
>>         err = tsl2563_detect(chip);
>>         if (err) {
>>                 dev_err(&client->dev, "detect error %d\n", -err);
>> -               goto fail1;
>> +               return err;
>>         }
>>
>>         err = tsl2563_read_id(chip, &id);
>>         if (err) {
>>                 dev_err(&client->dev, "read id error %d\n", -err);
>> -               goto fail1;
>> +               return err;
>>         }
>>
>>         mutex_init(&chip->lock);
>> @@ -751,7 +751,7 @@ static int tsl2563_probe(struct i2c_client *client,
>>                 indio_dev->info = &tsl2563_info_no_irq;
>>
>>         if (client->irq) {
>> -               err = request_threaded_irq(client->irq,
>> +               err = devm_request_threaded_irq(&client->dev, client->irq,
>>                                            NULL,
>>                                            &tsl2563_event_handler,
>>                                            IRQF_TRIGGER_RISING | IRQF_ONESHOT,
>> @@ -759,14 +759,14 @@ static int tsl2563_probe(struct i2c_client *client,
>>                                            indio_dev);
>>                 if (err) {
>>                         dev_err(&client->dev, "irq request error %d\n", -err);
>> -                       goto fail1;
>> +                       return err;
>>                 }
>>         }
>>
>>         err = tsl2563_configure(chip);
>>         if (err) {
>>                 dev_err(&client->dev, "configure error %d\n", -err);
>> -               goto fail2;
>> +               return err;
>>         }
>>
>>         INIT_DELAYED_WORK(&chip->poweroff_work, tsl2563_poweroff_work);
>> @@ -777,19 +777,14 @@ static int tsl2563_probe(struct i2c_client *client,
>>         err = iio_device_register(indio_dev);
>>         if (err) {
>>                 dev_err(&client->dev, "iio registration error %d\n", -err);
>> -               goto fail3;
>> +               goto fail;
>>         }
>>
>>         return 0;
>>
>> -fail3:
>> +fail:
>>         cancel_delayed_work(&chip->poweroff_work);
>>         flush_scheduled_work();
>> -fail2:
>> -       if (client->irq)
>> -               free_irq(client->irq, indio_dev);
>> -fail1:
>> -       iio_device_free(indio_dev);
>>         return err;
>>  }
>>
>> @@ -807,10 +802,6 @@ static int tsl2563_remove(struct i2c_client *client)
>>                                   chip->intr);
>>         flush_scheduled_work();
>>         tsl2563_set_power(chip, 0);
>> -       if (client->irq)
>> -               free_irq(client->irq, indio_dev);
>> -
>> -       iio_device_free(indio_dev);
>>
>>         return 0;
>>  }
>> --
>> 1.7.9.5
>>

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

end of thread, other threads:[~2013-08-03 16:57 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-30  8:44 [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc Sachin Kamat
2013-07-30  8:44 ` [PATCH 2/6] iio: imu: adis16480: " Sachin Kamat
2013-08-03 17:49   ` Jonathan Cameron
2013-07-30  8:44 ` [PATCH 3/6] iio: imu: inv_mpu6050: " Sachin Kamat
2013-08-03 17:50   ` Jonathan Cameron
2013-07-30  8:44 ` [PATCH 4/6] iio: light: hid-sensor-als: " Sachin Kamat
2013-08-02 16:08   ` Srinivas Pandruvada
2013-08-03 17:54     ` Jonathan Cameron
2013-07-30  8:44 ` [PATCH 5/6] iio: light: lm3533-als: " Sachin Kamat
2013-08-03 17:54   ` Jonathan Cameron
2013-07-30  8:44 ` [PATCH 6/6] iio: light: tsl2563: Use devm_* APIs Sachin Kamat
2013-07-30  9:07   ` Amit Kucheria
2013-08-03 17:57     ` Jonathan Cameron
2013-08-03 17:49 ` [PATCH 1/6] iio: imu: adis16400: Use devm_iio_device_alloc Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.