2020-06-24 15:05:37

by Lee Jones

[permalink] [raw]
Subject: [PATCH 7/8] backlight: lm3630a_bl: Remove invalid checks for unsigned int < 0

unsigned ints 'sources' and 'bank' cannot be less than LM3630A_SINK_0 (0)
and LM3630A_BANK_0 (0) respecitively, so change the logic to only check
for thier two possible valid values.

Fixes W=1 warnings:

drivers/video/backlight/lm3630a_bl.c: In function ‘lm3630a_parse_led_sources’:
drivers/video/backlight/lm3630a_bl.c:394:18: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
394 | if (sources[i] < LM3630A_SINK_0 || sources[i] > LM3630A_SINK_1)
| ^
drivers/video/backlight/lm3630a_bl.c: In function ‘lm3630a_parse_bank’:
drivers/video/backlight/lm3630a_bl.c:415:11: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
415 | if (bank < LM3630A_BANK_0 || bank > LM3630A_BANK_1)
| ^

Cc: <[email protected]>
Cc: Bartlomiej Zolnierkiewicz <[email protected]>
Cc: Daniel Jeong <[email protected]>
Cc: LDD MLP <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
---
drivers/video/backlight/lm3630a_bl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
index ee320883b7108..e88a2b0e59046 100644
--- a/drivers/video/backlight/lm3630a_bl.c
+++ b/drivers/video/backlight/lm3630a_bl.c
@@ -391,7 +391,7 @@ static int lm3630a_parse_led_sources(struct fwnode_handle *node,
return ret;

for (i = 0; i < num_sources; i++) {
- if (sources[i] < LM3630A_SINK_0 || sources[i] > LM3630A_SINK_1)
+ if (sources[i] != LM3630A_SINK_0 && sources[i] != LM3630A_SINK_1)
return -EINVAL;

ret |= BIT(sources[i]);
@@ -412,7 +412,7 @@ static int lm3630a_parse_bank(struct lm3630a_platform_data *pdata,
if (ret)
return ret;

- if (bank < LM3630A_BANK_0 || bank > LM3630A_BANK_1)
+ if (bank != LM3630A_BANK_0 && bank != LM3630A_BANK_1)
return -EINVAL;

led_sources = lm3630a_parse_led_sources(node, BIT(bank));
--
2.25.1


2020-06-25 10:05:44

by Daniel Thompson

[permalink] [raw]
Subject: Re: [PATCH 7/8] backlight: lm3630a_bl: Remove invalid checks for unsigned int < 0

On Wed, Jun 24, 2020 at 03:57:20PM +0100, Lee Jones wrote:
> unsigned ints 'sources' and 'bank' cannot be less than LM3630A_SINK_0 (0)
> and LM3630A_BANK_0 (0) respecitively, so change the logic to only check
> for thier two possible valid values.
>
> Fixes W=1 warnings:
>
> drivers/video/backlight/lm3630a_bl.c: In function ‘lm3630a_parse_led_sources’:
> drivers/video/backlight/lm3630a_bl.c:394:18: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
> 394 | if (sources[i] < LM3630A_SINK_0 || sources[i] > LM3630A_SINK_1)
> | ^
> drivers/video/backlight/lm3630a_bl.c: In function ‘lm3630a_parse_bank’:
> drivers/video/backlight/lm3630a_bl.c:415:11: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
> 415 | if (bank < LM3630A_BANK_0 || bank > LM3630A_BANK_1)
> | ^
>
> Cc: <[email protected]>
> Cc: Bartlomiej Zolnierkiewicz <[email protected]>
> Cc: Daniel Jeong <[email protected]>
> Cc: LDD MLP <[email protected]>
> Signed-off-by: Lee Jones <[email protected]>

Reviewed-by: Daniel Thompson <[email protected]>


> ---
> drivers/video/backlight/lm3630a_bl.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
> index ee320883b7108..e88a2b0e59046 100644
> --- a/drivers/video/backlight/lm3630a_bl.c
> +++ b/drivers/video/backlight/lm3630a_bl.c
> @@ -391,7 +391,7 @@ static int lm3630a_parse_led_sources(struct fwnode_handle *node,
> return ret;
>
> for (i = 0; i < num_sources; i++) {
> - if (sources[i] < LM3630A_SINK_0 || sources[i] > LM3630A_SINK_1)
> + if (sources[i] != LM3630A_SINK_0 && sources[i] != LM3630A_SINK_1)
> return -EINVAL;
>
> ret |= BIT(sources[i]);
> @@ -412,7 +412,7 @@ static int lm3630a_parse_bank(struct lm3630a_platform_data *pdata,
> if (ret)
> return ret;
>
> - if (bank < LM3630A_BANK_0 || bank > LM3630A_BANK_1)
> + if (bank != LM3630A_BANK_0 && bank != LM3630A_BANK_1)
> return -EINVAL;
>
> led_sources = lm3630a_parse_led_sources(node, BIT(bank));
> --
> 2.25.1
>