From: Jonathan Cameron <jic23@kernel.org>
To: Dan Murphy <dmurphy@ti.com>,
Dan Carpenter <dan.carpenter@oracle.com>,
Peter Meerwald <pmeerw@pmeerw.net>
Cc: Hartmut Knaack <knaack.h@gmx.de>,
Lars-Peter Clausen <lars@metafoo.de>,
Krzysztof Kozlowski <k.kozlowski@samsung.com>,
linux-iio@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: Re: [patch] iio: tsl4531: fix error handling in tsl4531_check_id()
Date: Sat, 15 Aug 2015 14:36:53 +0000 [thread overview]
Message-ID: <55CF4E85.1010400@kernel.org> (raw)
In-Reply-To: <55CD0611.5060606@ti.com>
On 13/08/15 22:03, Dan Murphy wrote:
> Dan
>
> On 08/13/2015 03:21 PM, Dan Carpenter wrote:
>> The caller expect us to return zero if the ID doesn't match. Negative
>> error codes are treated as success.
>>
>> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>>
>> diff --git a/drivers/iio/light/tsl4531.c b/drivers/iio/light/tsl4531.c
>> index 2697918..730fd2b 100644
>> --- a/drivers/iio/light/tsl4531.c
>> +++ b/drivers/iio/light/tsl4531.c
>> @@ -151,7 +151,7 @@ static int tsl4531_check_id(struct i2c_client *client)
>> {
>> int ret = i2c_smbus_read_byte_data(client, TSL4531_ID);
>> if (ret < 0)
>> - return ret;
>> + return 0;
>>
>> switch (ret >> TSL4531_ID_SHIFT) {
>> case TSL45311_ID:
>
> Would this not be better to change the logic?
>
> Zero return is generally true and non-zero is false.
>
> Then this statement in the probe then can go from
>
> if (!tsl4531_check_id(client)) {
> dev_err(&client->dev, "no TSL4531 sensor\n");
> return -ENODEV;
> }
>
> to
>
> if (tsl4531_check_id(client)) {
> dev_err(&client->dev, "no TSL4531 sensor\n");
> return -ENODEV;
> }
>
> And if then return ret can be honored in probe.
>
> Dan
>
Oops, missed this email. I'd prefer to take it further and spit
out 0 for success as you suggest, but also do the error code
generation for no device in the check_id function, thus
allowing read failures to be passed up as well.
Jonathan
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <jic23@kernel.org>
To: Dan Murphy <dmurphy@ti.com>,
Dan Carpenter <dan.carpenter@oracle.com>,
Peter Meerwald <pmeerw@pmeerw.net>
Cc: Hartmut Knaack <knaack.h@gmx.de>,
Lars-Peter Clausen <lars@metafoo.de>,
Krzysztof Kozlowski <k.kozlowski@samsung.com>,
linux-iio@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: Re: [patch] iio: tsl4531: fix error handling in tsl4531_check_id()
Date: Sat, 15 Aug 2015 15:36:53 +0100 [thread overview]
Message-ID: <55CF4E85.1010400@kernel.org> (raw)
In-Reply-To: <55CD0611.5060606@ti.com>
On 13/08/15 22:03, Dan Murphy wrote:
> Dan
>
> On 08/13/2015 03:21 PM, Dan Carpenter wrote:
>> The caller expect us to return zero if the ID doesn't match. Negative
>> error codes are treated as success.
>>
>> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>>
>> diff --git a/drivers/iio/light/tsl4531.c b/drivers/iio/light/tsl4531.c
>> index 2697918..730fd2b 100644
>> --- a/drivers/iio/light/tsl4531.c
>> +++ b/drivers/iio/light/tsl4531.c
>> @@ -151,7 +151,7 @@ static int tsl4531_check_id(struct i2c_client *client)
>> {
>> int ret = i2c_smbus_read_byte_data(client, TSL4531_ID);
>> if (ret < 0)
>> - return ret;
>> + return 0;
>>
>> switch (ret >> TSL4531_ID_SHIFT) {
>> case TSL45311_ID:
>
> Would this not be better to change the logic?
>
> Zero return is generally true and non-zero is false.
>
> Then this statement in the probe then can go from
>
> if (!tsl4531_check_id(client)) {
> dev_err(&client->dev, "no TSL4531 sensor\n");
> return -ENODEV;
> }
>
> to
>
> if (tsl4531_check_id(client)) {
> dev_err(&client->dev, "no TSL4531 sensor\n");
> return -ENODEV;
> }
>
> And if then return ret can be honored in probe.
>
> Dan
>
Oops, missed this email. I'd prefer to take it further and spit
out 0 for success as you suggest, but also do the error code
generation for no device in the check_id function, thus
allowing read failures to be passed up as well.
Jonathan
next prev parent reply other threads:[~2015-08-15 14:36 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-13 20:21 [patch] iio: tsl4531: fix error handling in tsl4531_check_id() Dan Carpenter
2015-08-13 20:21 ` Dan Carpenter
2015-08-13 21:03 ` Dan Murphy
2015-08-13 21:03 ` Dan Murphy
2015-08-15 14:36 ` Jonathan Cameron [this message]
2015-08-15 14:36 ` Jonathan Cameron
2015-08-15 14:35 ` Jonathan Cameron
2015-08-15 14:35 ` Jonathan Cameron
2015-08-17 14:38 ` [patch v2] " Dan Carpenter
2015-08-17 14:38 ` Dan Carpenter
2015-08-17 14:51 ` Peter Meerwald
2015-08-17 14:51 ` Peter Meerwald
2015-08-17 15:05 ` Dan Murphy
2015-08-17 15:05 ` Dan Murphy
2015-08-18 9:16 ` [patch v3] " Dan Carpenter
2015-08-18 9:16 ` Dan Carpenter
2015-08-31 15:30 ` Jonathan Cameron
2015-08-31 15:30 ` 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=55CF4E85.1010400@kernel.org \
--to=jic23@kernel.org \
--cc=dan.carpenter@oracle.com \
--cc=dmurphy@ti.com \
--cc=k.kozlowski@samsung.com \
--cc=kernel-janitors@vger.kernel.org \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=pmeerw@pmeerw.net \
/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 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.