2022-05-14 02:09:30

by Guo Zhengkui

[permalink] [raw]
Subject: [PATCH] drivers: comedi: replace ternary operator with min()

Fix the following coccicheck warning:

drivers/comedi/drivers.c:857:12-13: WARNING opportunity for min().

min() macro is defined in include/linux/minmax.h. It avoids multiple
evaluations of the arguments when non-constant and performs strict
type-checking.

Signed-off-by: Guo Zhengkui <[email protected]>
---
drivers/comedi/drivers.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/comedi/drivers.c b/drivers/comedi/drivers.c
index 8eb1f699a857..d4e2ed709bfc 100644
--- a/drivers/comedi/drivers.c
+++ b/drivers/comedi/drivers.c
@@ -854,7 +854,7 @@ int comedi_load_firmware(struct comedi_device *dev,
release_firmware(fw);
}

- return ret < 0 ? ret : 0;
+ return min(ret, 0);
}
EXPORT_SYMBOL_GPL(comedi_load_firmware);

--
2.20.1



2022-05-14 02:45:28

by Ian Abbott

[permalink] [raw]
Subject: Re: [PATCH] drivers: comedi: replace ternary operator with min()

On 13/05/2022 08:16, Guo Zhengkui wrote:
> Fix the following coccicheck warning:
>
> drivers/comedi/drivers.c:857:12-13: WARNING opportunity for min().
>
> min() macro is defined in include/linux/minmax.h. It avoids multiple
> evaluations of the arguments when non-constant and performs strict
> type-checking.
>
> Signed-off-by: Guo Zhengkui <[email protected]>
> ---
> drivers/comedi/drivers.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/comedi/drivers.c b/drivers/comedi/drivers.c
> index 8eb1f699a857..d4e2ed709bfc 100644
> --- a/drivers/comedi/drivers.c
> +++ b/drivers/comedi/drivers.c
> @@ -854,7 +854,7 @@ int comedi_load_firmware(struct comedi_device *dev,
> release_firmware(fw);
> }
>
> - return ret < 0 ? ret : 0;
> + return min(ret, 0);
> }
> EXPORT_SYMBOL_GPL(comedi_load_firmware);
>

Looks good thanks.

I was wondering if it could be replaced with a simple `return ret;`, but
unfortunately the `ret = cb(...);` call returns a non-negative value on
success for some of the drivers' callback functions. (The usbdux*
drivers return the result of a call to `usb_control_msg(...)`.)

Reviewed-by: Ian Abbott <[email protected]>

--
-=( Ian Abbott <[email protected]> || MEV Ltd. is a company )=-
-=( registered in England & Wales. Regd. number: 02862268. )=-
-=( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=-
-=( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || http://www.mev.co.uk )=-