2022-07-12 07:15:32

by Yi Jiangshan

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

From: Jiangshan Yi <[email protected]>

Fix the following coccicheck warning:

drivers/base/component.c:544: WARNING opportunity for min().
drivers/base/component.c:740: 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: Jiangshan Yi <[email protected]>
---
drivers/base/component.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/base/component.c b/drivers/base/component.c
index 5eadeac6c532..349c54694481 100644
--- a/drivers/base/component.c
+++ b/drivers/base/component.c
@@ -541,7 +541,7 @@ int component_master_add_with_match(struct device *parent,

mutex_unlock(&component_mutex);

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

@@ -737,7 +737,7 @@ static int __component_add(struct device *dev, const struct component_ops *ops,
}
mutex_unlock(&component_mutex);

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

/**
--
2.25.1


2022-07-12 07:27:55

by Greg Kroah-Hartman

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

On Tue, Jul 12, 2022 at 03:12:23PM +0800, Jiangshan Yi wrote:
> From: Jiangshan Yi <[email protected]>
>
> Fix the following coccicheck warning:
>
> drivers/base/component.c:544: WARNING opportunity for min().
> drivers/base/component.c:740: 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: Jiangshan Yi <[email protected]>
> ---
> drivers/base/component.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/base/component.c b/drivers/base/component.c
> index 5eadeac6c532..349c54694481 100644
> --- a/drivers/base/component.c
> +++ b/drivers/base/component.c
> @@ -541,7 +541,7 @@ int component_master_add_with_match(struct device *parent,
>
> mutex_unlock(&component_mutex);
>
> - return ret < 0 ? ret : 0;
> + return min(ret, 0);

This is a traditional "if there is an error, report it, otherwise return
0" pattern, and not really a min() call. So perhaps the original should
stay, or be turned into:
if (ret < 0)
return ret
return 0;
to make it more obvious?

thanks,

greg k-h