Skip to content

Commit

Permalink
leds: led-core: Get rid of enum led_brightness
Browse files Browse the repository at this point in the history
This gets rid of enum led_brightness in the main led files,
because it is deprecated, and an int can be used instead,
or maybe even a uint8_t since it only goes up to 255.
Next we can also patch the other files to get rid of it completely.

Signed-off-by: Abanoub Sameh <abanoubsameh@protonmail.com>
  • Loading branch information
Abanoub8 authored and intel-lab-lkp committed Dec 10, 2020
1 parent 98650b0 commit 1720737
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 24 deletions.
3 changes: 1 addition & 2 deletions drivers/leds/led-class.c
Expand Up @@ -145,8 +145,7 @@ static void led_remove_brightness_hw_changed(struct led_classdev *led_cdev)
device_remove_file(led_cdev->dev, &dev_attr_brightness_hw_changed);
}

void led_classdev_notify_brightness_hw_changed(struct led_classdev *led_cdev,
enum led_brightness brightness)
void led_classdev_notify_brightness_hw_changed(struct led_classdev *led_cdev, int brightness)
{
if (WARN_ON(!led_cdev->brightness_hw_changed_kn))
return;
Expand Down
20 changes: 7 additions & 13 deletions drivers/leds/led-core.c
Expand Up @@ -39,8 +39,7 @@ const char * const led_colors[LED_COLOR_ID_MAX] = {
};
EXPORT_SYMBOL_GPL(led_colors);

static int __led_set_brightness(struct led_classdev *led_cdev,
enum led_brightness value)
static int __led_set_brightness(struct led_classdev *led_cdev, int value)
{
if (!led_cdev->brightness_set)
return -ENOTSUPP;
Expand All @@ -50,8 +49,7 @@ static int __led_set_brightness(struct led_classdev *led_cdev,
return 0;
}

static int __led_set_brightness_blocking(struct led_classdev *led_cdev,
enum led_brightness value)
static int __led_set_brightness_blocking(struct led_classdev *led_cdev, int value)
{
if (!led_cdev->brightness_set_blocking)
return -ENOTSUPP;
Expand Down Expand Up @@ -240,8 +238,7 @@ void led_stop_software_blink(struct led_classdev *led_cdev)
}
EXPORT_SYMBOL_GPL(led_stop_software_blink);

void led_set_brightness(struct led_classdev *led_cdev,
enum led_brightness brightness)
void led_set_brightness(struct led_classdev *led_cdev, int brightness)
{
/*
* If software blink is active, delay brightness setting
Expand All @@ -253,7 +250,7 @@ void led_set_brightness(struct led_classdev *led_cdev,
* work queue task to avoid problems in case we are called
* from hard irq context.
*/
if (brightness == LED_OFF) {
if (!brightness) {
set_bit(LED_BLINK_DISABLE, &led_cdev->work_flags);
schedule_work(&led_cdev->set_brightness_work);
} else {
Expand All @@ -268,8 +265,7 @@ void led_set_brightness(struct led_classdev *led_cdev,
}
EXPORT_SYMBOL_GPL(led_set_brightness);

void led_set_brightness_nopm(struct led_classdev *led_cdev,
enum led_brightness value)
void led_set_brightness_nopm(struct led_classdev *led_cdev, int value)
{
/* Use brightness_set op if available, it is guaranteed not to sleep */
if (!__led_set_brightness(led_cdev, value))
Expand All @@ -281,8 +277,7 @@ void led_set_brightness_nopm(struct led_classdev *led_cdev,
}
EXPORT_SYMBOL_GPL(led_set_brightness_nopm);

void led_set_brightness_nosleep(struct led_classdev *led_cdev,
enum led_brightness value)
void led_set_brightness_nosleep(struct led_classdev *led_cdev, int value)
{
led_cdev->brightness = min(value, led_cdev->max_brightness);

Expand All @@ -293,8 +288,7 @@ void led_set_brightness_nosleep(struct led_classdev *led_cdev,
}
EXPORT_SYMBOL_GPL(led_set_brightness_nosleep);

int led_set_brightness_sync(struct led_classdev *led_cdev,
enum led_brightness value)
int led_set_brightness_sync(struct led_classdev *led_cdev, int value)
{
if (led_cdev->blink_delay_on || led_cdev->blink_delay_off)
return -EBUSY;
Expand Down
6 changes: 2 additions & 4 deletions drivers/leds/leds.h
Expand Up @@ -19,10 +19,8 @@ static inline int led_get_brightness(struct led_classdev *led_cdev)

void led_init_core(struct led_classdev *led_cdev);
void led_stop_software_blink(struct led_classdev *led_cdev);
void led_set_brightness_nopm(struct led_classdev *led_cdev,
enum led_brightness value);
void led_set_brightness_nosleep(struct led_classdev *led_cdev,
enum led_brightness value);
void led_set_brightness_nopm(struct led_classdev *led_cdev, int value);
void led_set_brightness_nosleep(struct led_classdev *led_cdev, int value);
ssize_t led_trigger_read(struct file *filp, struct kobject *kobj,
struct bin_attribute *attr, char *buf,
loff_t pos, size_t count);
Expand Down
8 changes: 3 additions & 5 deletions include/linux/leds.h
Expand Up @@ -253,8 +253,7 @@ void led_blink_set_oneshot(struct led_classdev *led_cdev,
* software blink timer that implements blinking when the
* hardware doesn't. This function is guaranteed not to sleep.
*/
void led_set_brightness(struct led_classdev *led_cdev,
enum led_brightness brightness);
void led_set_brightness(struct led_classdev *led_cdev, int brightness);

/**
* led_set_brightness_sync - set LED brightness synchronously
Expand All @@ -267,8 +266,7 @@ void led_set_brightness(struct led_classdev *led_cdev,
*
* Returns: 0 on success or negative error value on failure
*/
int led_set_brightness_sync(struct led_classdev *led_cdev,
enum led_brightness value);
int led_set_brightness_sync(struct led_classdev *led_cdev, int value);

/**
* led_update_brightness - update LED brightness
Expand Down Expand Up @@ -565,7 +563,7 @@ static inline void ledtrig_cpu(enum cpu_led_event evt)

#ifdef CONFIG_LEDS_BRIGHTNESS_HW_CHANGED
void led_classdev_notify_brightness_hw_changed(
struct led_classdev *led_cdev, enum led_brightness brightness);
struct led_classdev *led_cdev, int brightness);
#else
static inline void led_classdev_notify_brightness_hw_changed(
struct led_classdev *led_cdev, enum led_brightness brightness) { }
Expand Down

0 comments on commit 1720737

Please sign in to comment.