[PATCH] Staging: leds: replace divide condition 'shift / 16' with 'shift >= 16'

Dipendra Khadka posted 1 patch 1 year, 4 months ago
drivers/leds/leds-bcm6328.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] Staging: leds: replace divide condition 'shift / 16' with 'shift >= 16'
Posted by Dipendra Khadka 1 year, 4 months ago
Smatch reported following:
'''
drivers/leds/leds-bcm6328.c:116 bcm6328_led_mode() warn: replace divide condition 'shift / 16' with 'shift >= 16'
drivers/leds/leds-bcm6328.c:360 bcm6328_led() warn: replace divide condition 'shift / 16' with 'shift >= 16'
'''
Replacing 'shift / 16' with 'shift >= 16'.

Signed-off-by: Dipendra Khadka <kdipendra88@gmail.com>
---
 drivers/leds/leds-bcm6328.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
index 246f1296ab09..13f535ccba0b 100644
--- a/drivers/leds/leds-bcm6328.c
+++ b/drivers/leds/leds-bcm6328.c
@@ -113,7 +113,7 @@ static void bcm6328_led_mode(struct bcm6328_led *led, unsigned long value)
 	unsigned long val, shift;
 
 	shift = bcm6328_pin2shift(led->pin);
-	if (shift / 16)
+	if (shift >= 16)
 		mode = led->mem + BCM6328_REG_MODE_HI;
 	else
 		mode = led->mem + BCM6328_REG_MODE_LO;
@@ -357,7 +357,7 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg,
 		break;
 	case LEDS_DEFSTATE_KEEP:
 		shift = bcm6328_pin2shift(led->pin);
-		if (shift / 16)
+		if (shift >= 16)
 			mode = mem + BCM6328_REG_MODE_HI;
 		else
 			mode = mem + BCM6328_REG_MODE_LO;
-- 
2.43.0
Re: [PATCH] Staging: leds: replace divide condition 'shift / 16' with 'shift >= 16'
Posted by Lee Jones 1 year, 4 months ago
Staging!  Why Staging?

On Sun, 22 Sep 2024, Dipendra Khadka wrote:

> Smatch reported following:
> '''
> drivers/leds/leds-bcm6328.c:116 bcm6328_led_mode() warn: replace divide condition 'shift / 16' with 'shift >= 16'
> drivers/leds/leds-bcm6328.c:360 bcm6328_led() warn: replace divide condition 'shift / 16' with 'shift >= 16'
> '''
> Replacing 'shift / 16' with 'shift >= 16'.

More info please.

- What is the current problem you're attempting to solve?
- How does this patch help with that?
- What are the consequences for not applying this fix?

> Signed-off-by: Dipendra Khadka <kdipendra88@gmail.com>
> ---
>  drivers/leds/leds-bcm6328.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/leds/leds-bcm6328.c b/drivers/leds/leds-bcm6328.c
> index 246f1296ab09..13f535ccba0b 100644
> --- a/drivers/leds/leds-bcm6328.c
> +++ b/drivers/leds/leds-bcm6328.c
> @@ -113,7 +113,7 @@ static void bcm6328_led_mode(struct bcm6328_led *led, unsigned long value)
>  	unsigned long val, shift;
>  
>  	shift = bcm6328_pin2shift(led->pin);
> -	if (shift / 16)
> +	if (shift >= 16)
>  		mode = led->mem + BCM6328_REG_MODE_HI;
>  	else
>  		mode = led->mem + BCM6328_REG_MODE_LO;
> @@ -357,7 +357,7 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg,
>  		break;
>  	case LEDS_DEFSTATE_KEEP:
>  		shift = bcm6328_pin2shift(led->pin);
> -		if (shift / 16)
> +		if (shift >= 16)
>  			mode = mem + BCM6328_REG_MODE_HI;
>  		else
>  			mode = mem + BCM6328_REG_MODE_LO;
> -- 
> 2.43.0
> 
> 

-- 
Lee Jones [李琼斯]
Re: [PATCH] Staging: leds: replace divide condition 'shift / 16' with 'shift >= 16'
Posted by Pavel Machek 1 year, 3 months ago
Hi!

> Staging!  Why Staging?
> 
> On Sun, 22 Sep 2024, Dipendra Khadka wrote:
> 
> > Smatch reported following:
> > '''
> > drivers/leds/leds-bcm6328.c:116 bcm6328_led_mode() warn: replace divide condition 'shift / 16' with 'shift >= 16'
> > drivers/leds/leds-bcm6328.c:360 bcm6328_led() warn: replace divide condition 'shift / 16' with 'shift >= 16'
> > '''
> > Replacing 'shift / 16' with 'shift >= 16'.
> 
> More info please.
> 
> - What is the current problem you're attempting to solve?
> - How does this patch help with that?
> - What are the consequences for not applying this fix?

Take a look at patch. Doing shift / 16 when testing on >= 16 is just
ugly. It is simple cleanup.

Reviewed-by: Pavel Machek <Pavel@ucw.cz>

Best regards,
						Pavel

> > @@ -113,7 +113,7 @@ static void bcm6328_led_mode(struct bcm6328_led *led, unsigned long value)
> >  	unsigned long val, shift;
> >  
> >  	shift = bcm6328_pin2shift(led->pin);
> > -	if (shift / 16)
> > +	if (shift >= 16)
> >  		mode = led->mem + BCM6328_REG_MODE_HI;
> >  	else
> >  		mode = led->mem + BCM6328_REG_MODE_LO;
> > @@ -357,7 +357,7 @@ static int bcm6328_led(struct device *dev, struct device_node *nc, u32 reg,
> >  		break;
> >  	case LEDS_DEFSTATE_KEEP:
> >  		shift = bcm6328_pin2shift(led->pin);
> > -		if (shift / 16)
> > +		if (shift >= 16)
> >  			mode = mem + BCM6328_REG_MODE_HI;
> >  		else
> >  			mode = mem + BCM6328_REG_MODE_LO;
> > -- 
> > 2.43.0
> > 
> > 
> 

-- 
People of Russia, stop Putin before his war on Ukraine escalates.
Re: [PATCH] Staging: leds: replace divide condition 'shift / 16' with 'shift >= 16'
Posted by Lee Jones 1 year, 3 months ago
On Fri, 11 Oct 2024, Pavel Machek wrote:

> Hi!
> 
> > Staging!  Why Staging?
> > 
> > On Sun, 22 Sep 2024, Dipendra Khadka wrote:
> > 
> > > Smatch reported following:
> > > '''
> > > drivers/leds/leds-bcm6328.c:116 bcm6328_led_mode() warn: replace divide condition 'shift / 16' with 'shift >= 16'
> > > drivers/leds/leds-bcm6328.c:360 bcm6328_led() warn: replace divide condition 'shift / 16' with 'shift >= 16'
> > > '''
> > > Replacing 'shift / 16' with 'shift >= 16'.
> > 
> > More info please.
> > 
> > - What is the current problem you're attempting to solve?
> > - How does this patch help with that?
> > - What are the consequences for not applying this fix?
> 
> Take a look at patch. Doing shift / 16 when testing on >= 16 is just
> ugly. It is simple cleanup.

You missed the point of the comments.

Copying / pasting the warning into the subject-line and commit message
without any additional wordage is sub-optimal.  Please improve the
commit message.

-- 
Lee Jones [李琼斯]
Re: [PATCH] Staging: leds: replace divide condition 'shift / 16' with 'shift >= 16'
Posted by Dipendra Khadka 1 year, 3 months ago
Hi,

On Tue, 15 Oct 2024 at 14:46, Lee Jones <lee@kernel.org> wrote:
>
> On Fri, 11 Oct 2024, Pavel Machek wrote:
>
> > Hi!
> >
> > > Staging!  Why Staging?
> > >
> > > On Sun, 22 Sep 2024, Dipendra Khadka wrote:
> > >
> > > > Smatch reported following:
> > > > '''
> > > > drivers/leds/leds-bcm6328.c:116 bcm6328_led_mode() warn: replace divide condition 'shift / 16' with 'shift >= 16'
> > > > drivers/leds/leds-bcm6328.c:360 bcm6328_led() warn: replace divide condition 'shift / 16' with 'shift >= 16'
> > > > '''
> > > > Replacing 'shift / 16' with 'shift >= 16'.
> > >
> > > More info please.
> > >
> > > - What is the current problem you're attempting to solve?
> > > - How does this patch help with that?
> > > - What are the consequences for not applying this fix?
> >
> > Take a look at patch. Doing shift / 16 when testing on >= 16 is just
> > ugly. It is simple cleanup.
>
> You missed the point of the comments.
>
> Copying / pasting the warning into the subject-line and commit message
> without any additional wordage is sub-optimal.  Please improve the
> commit message.
>

Sure, I will send a v2 for this.

> --
> Lee Jones [李琼斯]

Best regards,
Dipendra Khadka
Re: [PATCH] Staging: leds: replace divide condition 'shift / 16' with 'shift >= 16'
Posted by Pavel Machek 1 year, 4 months ago
On Sun 2024-09-22 17:40:19, Dipendra Khadka wrote:
> Smatch reported following:
> '''
> drivers/leds/leds-bcm6328.c:116 bcm6328_led_mode() warn: replace divide condition 'shift / 16' with 'shift >= 16'
> drivers/leds/leds-bcm6328.c:360 bcm6328_led() warn: replace divide condition 'shift / 16' with 'shift >= 16'
> '''
> Replacing 'shift / 16' with 'shift >= 16'.
> 
> Signed-off-by: Dipendra Khadka <kdipendra88@gmail.com>

Reviewed-by: Pavel Machek <pavel@ucw.cz>

BR,
								Pavel
-- 
People of Russia, stop Putin before his war on Ukraine escalates.