From: Jonathan Cameron <jic23@kernel.org>
To: Sachin Kamat <sachin.kamat@linaro.org>
Cc: linux-iio@vger.kernel.org, lars@metafoo.de,
"J. August Brenner" <jbrenner@taosinc.com>
Subject: Re: [PATCH 02/12] staging: iio: tsl2583: Use devm_iio_device_alloc
Date: Sat, 07 Sep 2013 21:59:39 +0100 [thread overview]
Message-ID: <522B93BB.6030703@kernel.org> (raw)
In-Reply-To: <1378373397-22919-2-git-send-email-sachin.kamat@linaro.org>
On 09/05/13 10:29, Sachin Kamat wrote:
> devm_iio_device_alloc makes the code simple. While at it also
> fixed an uninitialized return with -EINVAL.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: J. August Brenner <jbrenner@taosinc.com>
Applied to the togreg branch of iio.git. Jon mentioned he was very
busy so I won't wait for his feedback on this. Ideally this would have
been two patches, the fix and the devm stuff on top of that so that
we could push the fix into stable if anyone cares. Here it is obscure
enough I doubt anyone ever will so never mind.
Applied to the togreg branch of iio.git
> ---
> drivers/staging/iio/light/tsl2583.c | 24 ++++++++----------------
> 1 file changed, 8 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/staging/iio/light/tsl2583.c b/drivers/staging/iio/light/tsl2583.c
> index b377dd3..d2aaf16 100644
> --- a/drivers/staging/iio/light/tsl2583.c
> +++ b/drivers/staging/iio/light/tsl2583.c
> @@ -815,12 +815,9 @@ static int taos_probe(struct i2c_client *clientp,
> return -EOPNOTSUPP;
> }
>
> - indio_dev = iio_device_alloc(sizeof(*chip));
> - if (indio_dev == NULL) {
> - ret = -ENOMEM;
> - dev_err(&clientp->dev, "iio allocation failed\n");
> - goto fail1;
> - }
> + indio_dev = devm_iio_device_alloc(&clientp->dev, sizeof(*chip));
> + if (!indio_dev)
> + return -ENOMEM;
> chip = iio_priv(indio_dev);
> chip->client = clientp;
> i2c_set_clientdata(clientp, indio_dev);
> @@ -835,14 +832,14 @@ static int taos_probe(struct i2c_client *clientp,
> if (ret < 0) {
> dev_err(&clientp->dev, "i2c_smbus_write_bytes() to cmd "
> "reg failed in taos_probe(), err = %d\n", ret);
> - goto fail2;
> + return ret;
> }
> ret = i2c_smbus_read_byte(clientp);
> if (ret < 0) {
> dev_err(&clientp->dev, "i2c_smbus_read_byte from "
> "reg failed in taos_probe(), err = %d\n", ret);
>
> - goto fail2;
> + return ret;
> }
> buf[i] = ret;
> }
> @@ -850,14 +847,14 @@ static int taos_probe(struct i2c_client *clientp,
> if (!taos_tsl258x_device(buf)) {
> dev_info(&clientp->dev, "i2c device found but does not match "
> "expected id in taos_probe()\n");
> - goto fail2;
> + return -EINVAL;
> }
>
> ret = i2c_smbus_write_byte(clientp, (TSL258X_CMD_REG | TSL258X_CNTRL));
> if (ret < 0) {
> dev_err(&clientp->dev, "i2c_smbus_write_byte() to cmd reg "
> "failed in taos_probe(), err = %d\n", ret);
> - goto fail2;
> + return ret;
> }
>
> indio_dev->info = &tsl2583_info;
> @@ -867,7 +864,7 @@ static int taos_probe(struct i2c_client *clientp,
> ret = iio_device_register(indio_dev);
> if (ret) {
> dev_err(&clientp->dev, "iio registration failed\n");
> - goto fail2;
> + return ret;
> }
>
> /* Load up the V2 defaults (these are hard coded defaults for now) */
> @@ -878,10 +875,6 @@ static int taos_probe(struct i2c_client *clientp,
>
> dev_info(&clientp->dev, "Light sensor found.\n");
> return 0;
> -fail1:
> - iio_device_free(indio_dev);
> -fail2:
> - return ret;
> }
>
> #ifdef CONFIG_PM_SLEEP
> @@ -926,7 +919,6 @@ static SIMPLE_DEV_PM_OPS(taos_pm_ops, taos_suspend, taos_resume);
> static int taos_remove(struct i2c_client *client)
> {
> iio_device_unregister(i2c_get_clientdata(client));
> - iio_device_free(i2c_get_clientdata(client));
>
> return 0;
> }
>
next prev parent reply other threads:[~2013-09-07 19:59 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-05 9:29 [PATCH 01/12] staging: iio: ad5933: Use devm_* APIs Sachin Kamat
2013-09-05 9:29 ` [PATCH 02/12] staging: iio: tsl2583: Use devm_iio_device_alloc Sachin Kamat
2013-09-07 20:59 ` Jonathan Cameron [this message]
2013-09-08 13:14 ` Sachin Kamat
2013-09-08 14:32 ` Jonathan Cameron
2013-09-05 9:29 ` [PATCH 03/12] staging: iio: ad5930: " Sachin Kamat
2013-09-07 21:00 ` Jonathan Cameron
2013-09-05 9:29 ` [PATCH 04/12] staging: iio: ad9832: Use devm_* APIs Sachin Kamat
2013-09-07 21:01 ` Jonathan Cameron
2013-09-05 9:29 ` [PATCH 05/12] staging: iio: ad9834: " Sachin Kamat
2013-09-07 21:02 ` Jonathan Cameron
2013-09-05 9:29 ` [PATCH 06/12] staging: iio: ad9850: Use devm_iio_device_alloc Sachin Kamat
2013-09-07 21:02 ` Jonathan Cameron
2013-09-05 9:29 ` [PATCH 07/12] staging: iio: ad9852: " Sachin Kamat
2013-09-07 21:03 ` Jonathan Cameron
2013-09-05 9:29 ` [PATCH 08/12] staging: iio: ad9910: " Sachin Kamat
2013-09-07 21:03 ` Jonathan Cameron
2013-09-05 9:29 ` [PATCH 09/12] staging: iio: ad9951: " Sachin Kamat
2013-09-07 21:04 ` Jonathan Cameron
2013-09-05 9:29 ` [PATCH 10/12] staging: iio: tsl2x7x_core: Use devm_* APIs Sachin Kamat
2013-09-07 21:05 ` Jonathan Cameron
2013-09-05 9:29 ` [PATCH 11/12] staging: iio: tsl2x7x_core: Fix sparse warning Sachin Kamat
2013-09-07 21:06 ` Jonathan Cameron
2013-09-05 9:29 ` [PATCH 12/12] staging: iio: hmc5843: Fix a trivial typo Sachin Kamat
2013-09-07 21:07 ` Jonathan Cameron
2013-09-07 20:53 ` [PATCH 01/12] staging: iio: ad5933: Use devm_* APIs Jonathan Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=522B93BB.6030703@kernel.org \
--to=jic23@kernel.org \
--cc=jbrenner@taosinc.com \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=sachin.kamat@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).