Re: [PATCH] leds: ti-lmu-common: Fix coccinelle issue in TI LMU
Dan, On 8/27/19 3:37 PM, Dan Murphy wrote: > Jacek > > On 8/26/19 2:34 PM, Jacek Anaszewski wrote: >> Dan, >> >> On 8/26/19 4:53 PM, Dan Murphy wrote: >>> Jacek >>> >>> On 8/24/19 10:18 AM, Jacek Anaszewski wrote: Hi Dan, Thank you for the patch. On 8/23/19 9:55 PM, Dan Murphy wrote: > Fix the coccinelle issues found in the TI LMU common code > > drivers/leds/leds-ti-lmu-common.c:97:20-29: WARNING: Unsigned > expression compared with zero: ramp_down < 0 > drivers/leds/leds-ti-lmu-common.c:97:5-12: WARNING: Unsigned > expression compared with zero: ramp_up < 0 Wouldn't it make more sense to remove those pointless checks? Clearly a correct index of an array cannot be negative. Looking at the code I would make more int -> unsigned int conversions: - ramp_table should be unsigned int - ti_lmu_common_convert_ramp_to_index should return unsigned int >>> Yeah I was going to just remove the code but when I was writing the >>> original code my intent was >>> >>> to extend the ramp call to allow other TI LMU driver to pass in the >>> device specific ramp table. >>> >>> But since I don't currently have any devices on my plate that require >>> that I can just remove the code as well >> You don't need to remove, just do the conversions I proposed. >> Unless it introduces some other problems I am currently not aware of. >> > Well just converting those two would/did not fix the issue. I implicitly assumed that you'd just drop the check since it would make no sense to check unsigned int for being lower than 0. And I propose to not return any error code from ti_lmu_common_convert_ramp_to_index(), just make sure inside it you return sane value. Ramp should, well, ramp. > > But actually there is only 1 possibility that could happen if the > convert function returns -EINVAL > > So the check should be > > if (ramp_up == -EINVAL || ramp_down == -EINVAL) > > Because ramp_up/down should never be less then zero otherwise. > > Dan > > > -- Best regards, Jacek Anaszewski
Re: [PATCH] leds: ti-lmu-common: Fix coccinelle issue in TI LMU
Jacek On 8/26/19 2:34 PM, Jacek Anaszewski wrote: Dan, On 8/26/19 4:53 PM, Dan Murphy wrote: Jacek On 8/24/19 10:18 AM, Jacek Anaszewski wrote: Hi Dan, Thank you for the patch. On 8/23/19 9:55 PM, Dan Murphy wrote: Fix the coccinelle issues found in the TI LMU common code drivers/leds/leds-ti-lmu-common.c:97:20-29: WARNING: Unsigned expression compared with zero: ramp_down < 0 drivers/leds/leds-ti-lmu-common.c:97:5-12: WARNING: Unsigned expression compared with zero: ramp_up < 0 Wouldn't it make more sense to remove those pointless checks? Clearly a correct index of an array cannot be negative. Looking at the code I would make more int -> unsigned int conversions: - ramp_table should be unsigned int - ti_lmu_common_convert_ramp_to_index should return unsigned int Yeah I was going to just remove the code but when I was writing the original code my intent was to extend the ramp call to allow other TI LMU driver to pass in the device specific ramp table. But since I don't currently have any devices on my plate that require that I can just remove the code as well You don't need to remove, just do the conversions I proposed. Unless it introduces some other problems I am currently not aware of. Well just converting those two would/did not fix the issue. But actually there is only 1 possibility that could happen if the convert function returns -EINVAL So the check should be if (ramp_up == -EINVAL || ramp_down == -EINVAL) Because ramp_up/down should never be less then zero otherwise. Dan
Re: [PATCH] leds: ti-lmu-common: Fix coccinelle issue in TI LMU
Dan, On 8/26/19 4:53 PM, Dan Murphy wrote: > Jacek > > On 8/24/19 10:18 AM, Jacek Anaszewski wrote: >> Hi Dan, >> >> Thank you for the patch. >> >> On 8/23/19 9:55 PM, Dan Murphy wrote: >>> Fix the coccinelle issues found in the TI LMU common code >>> >>> drivers/leds/leds-ti-lmu-common.c:97:20-29: WARNING: Unsigned >>> expression compared with zero: ramp_down < 0 >>> drivers/leds/leds-ti-lmu-common.c:97:5-12: WARNING: Unsigned >>> expression compared with zero: ramp_up < 0 >> Wouldn't it make more sense to remove those pointless checks? >> Clearly a correct index of an array cannot be negative. >> Looking at the code I would make more int -> unsigned int conversions: >> >> - ramp_table should be unsigned int >> - ti_lmu_common_convert_ramp_to_index should return unsigned int >> > Yeah I was going to just remove the code but when I was writing the > original code my intent was > > to extend the ramp call to allow other TI LMU driver to pass in the > device specific ramp table. > > But since I don't currently have any devices on my plate that require > that I can just remove the code as well You don't need to remove, just do the conversions I proposed. Unless it introduces some other problems I am currently not aware of. -- Best regards, Jacek Anaszewski
Re: [PATCH] leds: ti-lmu-common: Fix coccinelle issue in TI LMU
Jacek On 8/24/19 10:18 AM, Jacek Anaszewski wrote: Hi Dan, Thank you for the patch. On 8/23/19 9:55 PM, Dan Murphy wrote: Fix the coccinelle issues found in the TI LMU common code drivers/leds/leds-ti-lmu-common.c:97:20-29: WARNING: Unsigned expression compared with zero: ramp_down < 0 drivers/leds/leds-ti-lmu-common.c:97:5-12: WARNING: Unsigned expression compared with zero: ramp_up < 0 Wouldn't it make more sense to remove those pointless checks? Clearly a correct index of an array cannot be negative. Looking at the code I would make more int -> unsigned int conversions: - ramp_table should be unsigned int - ti_lmu_common_convert_ramp_to_index should return unsigned int Yeah I was going to just remove the code but when I was writing the original code my intent was to extend the ramp call to allow other TI LMU driver to pass in the device specific ramp table. But since I don't currently have any devices on my plate that require that I can just remove the code as well Dan [...]
Re: [PATCH] leds: ti-lmu-common: Fix coccinelle issue in TI LMU
Hi Dan, Thank you for the patch. On 8/23/19 9:55 PM, Dan Murphy wrote: > Fix the coccinelle issues found in the TI LMU common code > > drivers/leds/leds-ti-lmu-common.c:97:20-29: WARNING: Unsigned expression > compared with zero: ramp_down < 0 > drivers/leds/leds-ti-lmu-common.c:97:5-12: WARNING: Unsigned expression > compared with zero: ramp_up < 0 Wouldn't it make more sense to remove those pointless checks? Clearly a correct index of an array cannot be negative. Looking at the code I would make more int -> unsigned int conversions: - ramp_table should be unsigned int - ti_lmu_common_convert_ramp_to_index should return unsigned int > Fixes: f717460ba4d7 ("leds: TI LMU: Add common code for TI LMU devices") > Signed-off-by: Dan Murphy > --- > drivers/leds/leds-ti-lmu-common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/leds/leds-ti-lmu-common.c > b/drivers/leds/leds-ti-lmu-common.c > index adc7293004f1..c9ab40d5a6ba 100644 > --- a/drivers/leds/leds-ti-lmu-common.c > +++ b/drivers/leds/leds-ti-lmu-common.c > @@ -84,7 +84,7 @@ static int ti_lmu_common_convert_ramp_to_index(unsigned int > usec) > int ti_lmu_common_set_ramp(struct ti_lmu_bank *lmu_bank) > { > struct regmap *regmap = lmu_bank->regmap; > - u8 ramp, ramp_up, ramp_down; > + int ramp, ramp_up, ramp_down; > > if (lmu_bank->ramp_up_usec == 0 && lmu_bank->ramp_down_usec == 0) { > ramp_up = 0; > -- Best regards, Jacek Anaszewski
[PATCH] leds: ti-lmu-common: Fix coccinelle issue in TI LMU
Fix the coccinelle issues found in the TI LMU common code drivers/leds/leds-ti-lmu-common.c:97:20-29: WARNING: Unsigned expression compared with zero: ramp_down < 0 drivers/leds/leds-ti-lmu-common.c:97:5-12: WARNING: Unsigned expression compared with zero: ramp_up < 0 Fixes: f717460ba4d7 ("leds: TI LMU: Add common code for TI LMU devices") Signed-off-by: Dan Murphy --- drivers/leds/leds-ti-lmu-common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/leds/leds-ti-lmu-common.c b/drivers/leds/leds-ti-lmu-common.c index adc7293004f1..c9ab40d5a6ba 100644 --- a/drivers/leds/leds-ti-lmu-common.c +++ b/drivers/leds/leds-ti-lmu-common.c @@ -84,7 +84,7 @@ static int ti_lmu_common_convert_ramp_to_index(unsigned int usec) int ti_lmu_common_set_ramp(struct ti_lmu_bank *lmu_bank) { struct regmap *regmap = lmu_bank->regmap; - u8 ramp, ramp_up, ramp_down; + int ramp, ramp_up, ramp_down; if (lmu_bank->ramp_up_usec == 0 && lmu_bank->ramp_down_usec == 0) { ramp_up = 0; -- 2.22.0.214.g8dca754b1e