2021-12-27 11:36:48

by Jiapeng Chong

[permalink] [raw]
Subject: [PATCH] hwmon: Use min() instead of doing it manually

Eliminate following coccicheck warning:

./drivers/hwmon/nzxt-smart2.c:461:12-13: WARNING opportunity for min().

Reported-by: Abaci Robot <[email protected]>
Signed-off-by: Jiapeng Chong <[email protected]>
---
drivers/hwmon/nzxt-smart2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hwmon/nzxt-smart2.c b/drivers/hwmon/nzxt-smart2.c
index 534d39b8908e..b30de7441fbb 100644
--- a/drivers/hwmon/nzxt-smart2.c
+++ b/drivers/hwmon/nzxt-smart2.c
@@ -458,7 +458,7 @@ static int send_output_report(struct drvdata *drvdata, const void *data,

ret = hid_hw_output_report(drvdata->hid, drvdata->output_buffer,
sizeof(drvdata->output_buffer));
- return ret < 0 ? ret : 0;
+ return min(ret, 0);
}

static int set_pwm(struct drvdata *drvdata, int channel, long val)
--
2.20.1.7.g153144c



2021-12-27 15:51:24

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] hwmon: Use min() instead of doing it manually

On 12/27/21 3:36 AM, Jiapeng Chong wrote:
> Eliminate following coccicheck warning:
>
> ./drivers/hwmon/nzxt-smart2.c:461:12-13: WARNING opportunity for min().
>
> Reported-by: Abaci Robot <[email protected]>
> Signed-off-by: Jiapeng Chong <[email protected]>
> ---
> drivers/hwmon/nzxt-smart2.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/hwmon/nzxt-smart2.c b/drivers/hwmon/nzxt-smart2.c
> index 534d39b8908e..b30de7441fbb 100644
> --- a/drivers/hwmon/nzxt-smart2.c
> +++ b/drivers/hwmon/nzxt-smart2.c
> @@ -458,7 +458,7 @@ static int send_output_report(struct drvdata *drvdata, const void *data,
>
> ret = hid_hw_output_report(drvdata->hid, drvdata->output_buffer,
> sizeof(drvdata->output_buffer));
> - return ret < 0 ? ret : 0;
> + return min(ret, 0);

Nack, that is just confusing. ret is an error if < 0, and min obfuscates
that we want to return an error or 0.

Guenter

2021-12-28 00:18:52

by Aleksandr Mezin

[permalink] [raw]
Subject: Re: [PATCH] hwmon: Use min() instead of doing it manually

On Mon, Dec 27, 2021 at 9:43 PM Guenter Roeck <[email protected]> wrote:
>
> On 12/27/21 3:36 AM, Jiapeng Chong wrote:
> > Eliminate following coccicheck warning:
> >
> > ./drivers/hwmon/nzxt-smart2.c:461:12-13: WARNING opportunity for min().
> >
> > Reported-by: Abaci Robot <[email protected]>
> > Signed-off-by: Jiapeng Chong <[email protected]>
> > ---
> > drivers/hwmon/nzxt-smart2.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/hwmon/nzxt-smart2.c b/drivers/hwmon/nzxt-smart2.c
> > index 534d39b8908e..b30de7441fbb 100644
> > --- a/drivers/hwmon/nzxt-smart2.c
> > +++ b/drivers/hwmon/nzxt-smart2.c
> > @@ -458,7 +458,7 @@ static int send_output_report(struct drvdata *drvdata, const void *data,
> >
> > ret = hid_hw_output_report(drvdata->hid, drvdata->output_buffer,
> > sizeof(drvdata->output_buffer));
> > - return ret < 0 ? ret : 0;
> > + return min(ret, 0);
>
> Nack, that is just confusing. ret is an error if < 0, and min obfuscates
> that we want to return an error or 0.
>
> Guenter

Should I change that ternary operator to a full "if" maybe?
Apparently, both some people and some tools read it as "min()".

2021-12-28 00:36:39

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] hwmon: Use min() instead of doing it manually

On 12/27/21 4:18 PM, Aleksandr Mezin wrote:
> On Mon, Dec 27, 2021 at 9:43 PM Guenter Roeck <[email protected]> wrote:
>>
>> On 12/27/21 3:36 AM, Jiapeng Chong wrote:
>>> Eliminate following coccicheck warning:
>>>
>>> ./drivers/hwmon/nzxt-smart2.c:461:12-13: WARNING opportunity for min().
>>>
>>> Reported-by: Abaci Robot <[email protected]>
>>> Signed-off-by: Jiapeng Chong <[email protected]>
>>> ---
>>> drivers/hwmon/nzxt-smart2.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/hwmon/nzxt-smart2.c b/drivers/hwmon/nzxt-smart2.c
>>> index 534d39b8908e..b30de7441fbb 100644
>>> --- a/drivers/hwmon/nzxt-smart2.c
>>> +++ b/drivers/hwmon/nzxt-smart2.c
>>> @@ -458,7 +458,7 @@ static int send_output_report(struct drvdata *drvdata, const void *data,
>>>
>>> ret = hid_hw_output_report(drvdata->hid, drvdata->output_buffer,
>>> sizeof(drvdata->output_buffer));
>>> - return ret < 0 ? ret : 0;
>>> + return min(ret, 0);
>>
>> Nack, that is just confusing. ret is an error if < 0, and min obfuscates
>> that we want to return an error or 0.
>>
>> Guenter
>
> Should I change that ternary operator to a full "if" maybe?
> Apparently, both some people and some tools read it as "min()".
>
No, the code is good as is, using if() doesn't really make a difference,
and I _really_ don't want to encourage people to start submitting patches
to change the other 100+ instances of the same code in the kernel.

Guenter