On 13/10/2019 18:36, Jacek Anaszewski wrote:
On 10/13/19 1:45 PM, Pavel Machek wrote:
Hi!
@@ -112,11 +113,11 @@ tlc591xx_brightness_set(struct led_classdev *led_cdev,
struct tlc591xx_priv *priv = led->priv;
int err;
- switch (brightness) {
+ switch ((int)brightness) {
case 0:
Can we get a rid of the cast here? Do we need to move away from the
enum for the brightness?
I at first also wanted to ask for dropping the cast but first tried
to do it myself. Then I found out compiler (or sparse, I don't recall
exactly) complains about TLC591XX_MAX_BRIGHTNESS not being a value of
enum led_brighteess type. That's the reason for the cast Jean added,
I presume.
Indeed that cast is to fix the warning.
JJ
Added tag:
Fixes: e370d010a5fe ("leds: tlc591xx: Driver for the TI 8/16 Channel i2c
LED driver")
and applied to the for-5.5 branch.
Actually, careful with the Fixes tag. -stable people will want to
apply it, and it may not be a good idea in this case. Maximum
brightness of 256 is pretty unusual, so I'd call this "a bit risky".
I entirely disagree. Not seeing anything risky in that since
max_brightness is also initialized to this value. If userspace properly
uses the ABI, then it will be safe.
Best regards,
Pavel