diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2013-08-24 15:24:00 -0400 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2013-08-28 15:21:34 -0400 |
commit | 0eab65c64a2fbc6356f330b41f7bdadd1a094bbd (patch) | |
tree | 54b3c1cde1055590f5591dc43b4937638e67f843 | |
parent | 538ee7cbffc1663d76f257438c35c889b0664fcc (diff) |
staging: iio: ad7746: Use devm_iio_device_alloc
Using devm_iio_device_alloc makes code simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
-rw-r--r-- | drivers/staging/iio/cdc/ad7746.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/drivers/staging/iio/cdc/ad7746.c b/drivers/staging/iio/cdc/ad7746.c index 94f9ca726d1c..75a533bce021 100644 --- a/drivers/staging/iio/cdc/ad7746.c +++ b/drivers/staging/iio/cdc/ad7746.c | |||
@@ -699,11 +699,9 @@ static int ad7746_probe(struct i2c_client *client, | |||
699 | int ret = 0; | 699 | int ret = 0; |
700 | unsigned char regval = 0; | 700 | unsigned char regval = 0; |
701 | 701 | ||
702 | indio_dev = iio_device_alloc(sizeof(*chip)); | 702 | indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*chip)); |
703 | if (indio_dev == NULL) { | 703 | if (!indio_dev) |
704 | ret = -ENOMEM; | 704 | return -ENOMEM; |
705 | goto error_ret; | ||
706 | } | ||
707 | chip = iio_priv(indio_dev); | 705 | chip = iio_priv(indio_dev); |
708 | /* this is only used for device removal purposes */ | 706 | /* this is only used for device removal purposes */ |
709 | i2c_set_clientdata(client, indio_dev); | 707 | i2c_set_clientdata(client, indio_dev); |
@@ -748,20 +746,15 @@ static int ad7746_probe(struct i2c_client *client, | |||
748 | ret = i2c_smbus_write_byte_data(chip->client, | 746 | ret = i2c_smbus_write_byte_data(chip->client, |
749 | AD7746_REG_EXC_SETUP, regval); | 747 | AD7746_REG_EXC_SETUP, regval); |
750 | if (ret < 0) | 748 | if (ret < 0) |
751 | goto error_free_dev; | 749 | return ret; |
752 | 750 | ||
753 | ret = iio_device_register(indio_dev); | 751 | ret = iio_device_register(indio_dev); |
754 | if (ret) | 752 | if (ret) |
755 | goto error_free_dev; | 753 | return ret; |
756 | 754 | ||
757 | dev_info(&client->dev, "%s capacitive sensor registered\n", id->name); | 755 | dev_info(&client->dev, "%s capacitive sensor registered\n", id->name); |
758 | 756 | ||
759 | return 0; | 757 | return 0; |
760 | |||
761 | error_free_dev: | ||
762 | iio_device_free(indio_dev); | ||
763 | error_ret: | ||
764 | return ret; | ||
765 | } | 758 | } |
766 | 759 | ||
767 | static int ad7746_remove(struct i2c_client *client) | 760 | static int ad7746_remove(struct i2c_client *client) |
@@ -769,7 +762,6 @@ static int ad7746_remove(struct i2c_client *client) | |||
769 | struct iio_dev *indio_dev = i2c_get_clientdata(client); | 762 | struct iio_dev *indio_dev = i2c_get_clientdata(client); |
770 | 763 | ||
771 | iio_device_unregister(indio_dev); | 764 | iio_device_unregister(indio_dev); |
772 | iio_device_free(indio_dev); | ||
773 | 765 | ||
774 | return 0; | 766 | return 0; |
775 | } | 767 | } |