pinctrl: ret needs to be an int for -ve return value from regmap_update_bits
diff mbox

Message ID 20160911083625.7451-1-colin.king@canonical.com
State New
Headers show

Commit Message

Colin Ian King Sept. 11, 2016, 8:36 a.m. UTC
From: Colin Ian King <colin.king@canonical.com>

Macro regmap_update_bits can return a -ve on an error value so ret
needs to be an integer rather than a bool type.

Fixes warning found by static analysis with cppcheck:
[drivers/pinctrl/aspeed/pinctrl-aspeed.c:192]: (warning) Comparison of
  a boolean expression with an integer other than 0 or 1.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/pinctrl/aspeed/pinctrl-aspeed.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andrew Jeffery Sept. 12, 2016, 2 a.m. UTC | #1
On Sun, 2016-09-11 at 09:36 +0100, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> Macro regmap_update_bits can return a -ve on an error value so ret
> needs to be an integer rather than a bool type.
> 
> Fixes warning found by static analysis with cppcheck:
> [drivers/pinctrl/aspeed/pinctrl-aspeed.c:192]: (warning) Comparison of
>   a boolean expression with an integer other than 0 or 1.
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>

Thanks Colin. Arnd independently discovered this bug and Joel and I
have CC'ed you on our responses there - the intent is to take Arnd's
patch.

Cheers,

Andrew

> ---
>  drivers/pinctrl/aspeed/pinctrl-aspeed.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed.c b/drivers/pinctrl/aspeed/pinctrl-aspeed.c
> index 7d461fc..75935ab 100644
> --- a/drivers/pinctrl/aspeed/pinctrl-aspeed.c
> +++ b/drivers/pinctrl/aspeed/pinctrl-aspeed.c
> @@ -166,7 +166,7 @@ static bool aspeed_sig_expr_set(const struct aspeed_sig_expr *expr,
>  				bool enable, struct regmap *map)
>  {
>  	int i;
> -	bool ret;
> +	int ret;
>  
>  	ret = aspeed_sig_expr_eval(expr, enable, map);
>  	if (ret)
Linus Walleij Sept. 13, 2016, 8:44 a.m. UTC | #2
On Sun, Sep 11, 2016 at 10:36 AM, Colin King <colin.king@canonical.com> wrote:

> From: Colin Ian King <colin.king@canonical.com>
>
> Macro regmap_update_bits can return a -ve on an error value so ret
> needs to be an integer rather than a bool type.
>
> Fixes warning found by static analysis with cppcheck:
> [drivers/pinctrl/aspeed/pinctrl-aspeed.c:192]: (warning) Comparison of
>   a boolean expression with an integer other than 0 or 1.
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>

Dropping this but added your Reported-by to Arnds patch.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/drivers/pinctrl/aspeed/pinctrl-aspeed.c b/drivers/pinctrl/aspeed/pinctrl-aspeed.c
index 7d461fc..75935ab 100644
--- a/drivers/pinctrl/aspeed/pinctrl-aspeed.c
+++ b/drivers/pinctrl/aspeed/pinctrl-aspeed.c
@@ -166,7 +166,7 @@  static bool aspeed_sig_expr_set(const struct aspeed_sig_expr *expr,
 				bool enable, struct regmap *map)
 {
 	int i;
-	bool ret;
+	int ret;
 
 	ret = aspeed_sig_expr_eval(expr, enable, map);
 	if (ret)