aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2013-08-13 02:34:00 -0400
committerJonathan Cameron <jic23@kernel.org>2013-08-17 10:50:56 -0400
commitd243b3c06d4d462ccc8d29dacb894cb25d56972f (patch)
tree1dc198b3fdd050c3c5c07ffedee83b51a3d29c02 /drivers/iio
parent6694cf9652c718b624c459867e7833c759665225 (diff)
iio: gyro: itg3200_core: Use devm_iio_device_alloc
Using devm_iio_device_alloc makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Cc: Christian Strobel <christian.strobel@iis.fraunhofer.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio')
-rw-r--r--drivers/iio/gyro/itg3200_core.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/iio/gyro/itg3200_core.c b/drivers/iio/gyro/itg3200_core.c
index d66605d2629d..4d3f3b92b361 100644
--- a/drivers/iio/gyro/itg3200_core.c
+++ b/drivers/iio/gyro/itg3200_core.c
@@ -309,11 +309,9 @@ static int itg3200_probe(struct i2c_client *client,
309 309
310 dev_dbg(&client->dev, "probe I2C dev with IRQ %i", client->irq); 310 dev_dbg(&client->dev, "probe I2C dev with IRQ %i", client->irq);
311 311
312 indio_dev = iio_device_alloc(sizeof(*st)); 312 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*st));
313 if (indio_dev == NULL) { 313 if (!indio_dev)
314 ret = -ENOMEM; 314 return -ENOMEM;
315 goto error_ret;
316 }
317 315
318 st = iio_priv(indio_dev); 316 st = iio_priv(indio_dev);
319 317
@@ -330,7 +328,7 @@ static int itg3200_probe(struct i2c_client *client,
330 328
331 ret = itg3200_buffer_configure(indio_dev); 329 ret = itg3200_buffer_configure(indio_dev);
332 if (ret) 330 if (ret)
333 goto error_free_dev; 331 return ret;
334 332
335 if (client->irq) { 333 if (client->irq) {
336 ret = itg3200_probe_trigger(indio_dev); 334 ret = itg3200_probe_trigger(indio_dev);
@@ -353,9 +351,6 @@ error_remove_trigger:
353 itg3200_remove_trigger(indio_dev); 351 itg3200_remove_trigger(indio_dev);
354error_unconfigure_buffer: 352error_unconfigure_buffer:
355 itg3200_buffer_unconfigure(indio_dev); 353 itg3200_buffer_unconfigure(indio_dev);
356error_free_dev:
357 iio_device_free(indio_dev);
358error_ret:
359 return ret; 354 return ret;
360} 355}
361 356
@@ -370,8 +365,6 @@ static int itg3200_remove(struct i2c_client *client)
370 365
371 itg3200_buffer_unconfigure(indio_dev); 366 itg3200_buffer_unconfigure(indio_dev);
372 367
373 iio_device_free(indio_dev);
374
375 return 0; 368 return 0;
376} 369}
377 370