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

Jiapeng Chong posted 1 patch 4 years, 6 months ago
drivers/hwmon/nzxt-smart2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] hwmon: Use min() instead of doing it manually
Posted by Jiapeng Chong 4 years, 6 months ago
Eliminate following coccicheck warning:

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

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
---
 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

Re: [PATCH] hwmon: Use min() instead of doing it manually
Posted by Guenter Roeck 4 years, 6 months ago
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 <abaci@linux.alibaba.com>
> Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
> ---
>   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
Re: [PATCH] hwmon: Use min() instead of doing it manually
Posted by Aleksandr Mezin 4 years, 6 months ago
On Mon, Dec 27, 2021 at 9:43 PM Guenter Roeck <linux@roeck-us.net> 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 <abaci@linux.alibaba.com>
> > Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
> > ---
> >   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()".
Re: [PATCH] hwmon: Use min() instead of doing it manually
Posted by Guenter Roeck 4 years, 6 months ago
On 12/27/21 4:18 PM, Aleksandr Mezin wrote:
> On Mon, Dec 27, 2021 at 9:43 PM Guenter Roeck <linux@roeck-us.net> 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 <abaci@linux.alibaba.com>
>>> Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
>>> ---
>>>    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