Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

leds: led-core: Get rid of enum led_brightness

This gets rid of enum led_brightness in the main led files,
because it is deprecated, and an unsigned int can be used instead.

We can get rid of led_brightness completely and
patches can also be supplied for the other drivers' files.

Signed-off-by: Abanoub Sameh <abanoubsameh@protonmail.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>

authored by

Abanoub Sameh and committed by
Pavel Machek
af0bfab9 d8646452

+15 -26
+1 -2
drivers/leds/led-class.c
··· 145 145 device_remove_file(led_cdev->dev, &dev_attr_brightness_hw_changed); 146 146 } 147 147 148 - void led_classdev_notify_brightness_hw_changed(struct led_classdev *led_cdev, 149 - enum led_brightness brightness) 148 + void led_classdev_notify_brightness_hw_changed(struct led_classdev *led_cdev, unsigned int brightness) 150 149 { 151 150 if (WARN_ON(!led_cdev->brightness_hw_changed_kn)) 152 151 return;
+7 -13
drivers/leds/led-core.c
··· 39 39 }; 40 40 EXPORT_SYMBOL_GPL(led_colors); 41 41 42 - static int __led_set_brightness(struct led_classdev *led_cdev, 43 - enum led_brightness value) 42 + static int __led_set_brightness(struct led_classdev *led_cdev, unsigned int value) 44 43 { 45 44 if (!led_cdev->brightness_set) 46 45 return -ENOTSUPP; ··· 49 50 return 0; 50 51 } 51 52 52 - static int __led_set_brightness_blocking(struct led_classdev *led_cdev, 53 - enum led_brightness value) 53 + static int __led_set_brightness_blocking(struct led_classdev *led_cdev, unsigned int value) 54 54 { 55 55 if (!led_cdev->brightness_set_blocking) 56 56 return -ENOTSUPP; ··· 238 240 } 239 241 EXPORT_SYMBOL_GPL(led_stop_software_blink); 240 242 241 - void led_set_brightness(struct led_classdev *led_cdev, 242 - enum led_brightness brightness) 243 + void led_set_brightness(struct led_classdev *led_cdev, unsigned int brightness) 243 244 { 244 245 /* 245 246 * If software blink is active, delay brightness setting ··· 250 253 * work queue task to avoid problems in case we are called 251 254 * from hard irq context. 252 255 */ 253 - if (brightness == LED_OFF) { 256 + if (!brightness) { 254 257 set_bit(LED_BLINK_DISABLE, &led_cdev->work_flags); 255 258 schedule_work(&led_cdev->set_brightness_work); 256 259 } else { ··· 265 268 } 266 269 EXPORT_SYMBOL_GPL(led_set_brightness); 267 270 268 - void led_set_brightness_nopm(struct led_classdev *led_cdev, 269 - enum led_brightness value) 271 + void led_set_brightness_nopm(struct led_classdev *led_cdev, unsigned int value) 270 272 { 271 273 /* Use brightness_set op if available, it is guaranteed not to sleep */ 272 274 if (!__led_set_brightness(led_cdev, value)) ··· 277 281 } 278 282 EXPORT_SYMBOL_GPL(led_set_brightness_nopm); 279 283 280 - void led_set_brightness_nosleep(struct led_classdev *led_cdev, 281 - enum led_brightness value) 284 + void led_set_brightness_nosleep(struct led_classdev *led_cdev, unsigned int value) 282 285 { 283 286 led_cdev->brightness = min(value, led_cdev->max_brightness); 284 287 ··· 288 293 } 289 294 EXPORT_SYMBOL_GPL(led_set_brightness_nosleep); 290 295 291 - int led_set_brightness_sync(struct led_classdev *led_cdev, 292 - enum led_brightness value) 296 + int led_set_brightness_sync(struct led_classdev *led_cdev, unsigned int value) 293 297 { 294 298 if (led_cdev->blink_delay_on || led_cdev->blink_delay_off) 295 299 return -EBUSY;
+2 -4
drivers/leds/leds.h
··· 19 19 20 20 void led_init_core(struct led_classdev *led_cdev); 21 21 void led_stop_software_blink(struct led_classdev *led_cdev); 22 - void led_set_brightness_nopm(struct led_classdev *led_cdev, 23 - enum led_brightness value); 24 - void led_set_brightness_nosleep(struct led_classdev *led_cdev, 25 - enum led_brightness value); 22 + void led_set_brightness_nopm(struct led_classdev *led_cdev, unsigned int value); 23 + void led_set_brightness_nosleep(struct led_classdev *led_cdev, unsigned int value); 26 24 ssize_t led_trigger_read(struct file *filp, struct kobject *kobj, 27 25 struct bin_attribute *attr, char *buf, 28 26 loff_t pos, size_t count);
+5 -7
include/linux/leds.h
··· 63 63 64 64 struct led_classdev { 65 65 const char *name; 66 - enum led_brightness brightness; 67 - enum led_brightness max_brightness; 66 + unsigned int brightness; 67 + unsigned int max_brightness; 68 68 int flags; 69 69 70 70 /* Lower 16 bits reflect status */ ··· 253 253 * software blink timer that implements blinking when the 254 254 * hardware doesn't. This function is guaranteed not to sleep. 255 255 */ 256 - void led_set_brightness(struct led_classdev *led_cdev, 257 - enum led_brightness brightness); 256 + void led_set_brightness(struct led_classdev *led_cdev, unsigned int brightness); 258 257 259 258 /** 260 259 * led_set_brightness_sync - set LED brightness synchronously ··· 266 267 * 267 268 * Returns: 0 on success or negative error value on failure 268 269 */ 269 - int led_set_brightness_sync(struct led_classdev *led_cdev, 270 - enum led_brightness value); 270 + int led_set_brightness_sync(struct led_classdev *led_cdev, unsigned int value); 271 271 272 272 /** 273 273 * led_update_brightness - update LED brightness ··· 563 565 564 566 #ifdef CONFIG_LEDS_BRIGHTNESS_HW_CHANGED 565 567 void led_classdev_notify_brightness_hw_changed( 566 - struct led_classdev *led_cdev, enum led_brightness brightness); 568 + struct led_classdev *led_cdev, unsigned int brightness); 567 569 #else 568 570 static inline void led_classdev_notify_brightness_hw_changed( 569 571 struct led_classdev *led_cdev, enum led_brightness brightness) { }