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