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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxx>

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.

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux