From: Lee Jones <lee@kernel.org>
To: "Guilherme Giácomo Simões" <trintaeoitogc@gmail.com>
Cc: linux-leds@vger.kernel.org
Subject: Re: [RESEND LEDs] leds: remove led_brightness
Date: Thu, 25 Jul 2024 11:26:23 +0100 [thread overview]
Message-ID: <20240725102623.GF501857@google.com> (raw)
In-Reply-To: <CAM_RzfbuYYf7P2YK7H0BpUJut8hFvxa-Sm6hP1BKJe-jVFa62w@mail.gmail.com>
On Sun, 21 Jul 2024, Guilherme Giácomo Simões wrote:
> Hi community, I hope this email finds you well
> I maked a change in kernel linux, for fulfill a TODO in
> drivers/leds/TODO that say:
> >* On/off LEDs should have max_brightness of 1
> >* Get rid of enum led_brightness
> >
> >It is really an integer, as maximum is configurable. Get rid of it, or
> >make it into typedef or something.
>
> Then I removed the led_brightness. And in the files that enum
> led_brightness was used i replace to "int" ... And in the file
> "include/linux/leds.h" I created constants like:
> +#define LED_OFF 0
> +#define LED_ON 1
> +#define LED_HALF 127
> +#define LED_FULL 255
>
> because in some files when has a compare like "brightness == LED_OFF"
> it will work yet.
>
> The includes/linux/leds.h diff:
> -/* This is obsolete/useless. We now support variable maximum brightness. */
> -enum led_brightness {
> - LED_OFF = 0,
> - LED_ON = 1,
> - LED_HALF = 127,
> - LED_FULL = 255,
> -};
I'm not aware of the history of this, however I'm even less sure how
converting these from an enum to #defines makes this any better.
> +// default values for leds brightness
> +#define LED_OFF 0
> +#define LED_ON 1
> +#define LED_HALF 127
> +#define LED_FULL 255
>
> enum led_default_state {
> LEDS_DEFSTATE_OFF = 0,
> @@ -127,15 +125,15 @@ struct led_classdev {
> * that can sleep while setting brightness.
> */
> void (*brightness_set)(struct led_classdev *led_cdev,
> - enum led_brightness brightness);
> + int brightness);
> /*
> * Set LED brightness level immediately - it can block the caller for
> * the time required for accessing a LED device register.
> */
> int (*brightness_set_blocking)(struct led_classdev *led_cdev,
> - enum led_brightness brightness);
> + int brightness);
> /* Get LED brightness level */
> - enum led_brightness (*brightness_get)(struct led_classdev *led_cdev);
> + int (*brightness_get)(struct led_classdev *led_cdev);
>
> /*
> * Activate hardware accelerated blink, delays are in milliseconds
> @@ -486,7 +484,7 @@ int devm_led_trigger_register(struct device *dev,
> void led_trigger_register_simple(const char *name,
> struct led_trigger **trigger);
> void led_trigger_unregister_simple(struct led_trigger *trigger);
> -void led_trigger_event(struct led_trigger *trigger, enum
> led_brightness event);
> +void led_trigger_event(struct led_trigger *trigger, int event);
> void led_trigger_blink(struct led_trigger *trigger, unsigned long delay_on,
> unsigned long delay_off);
>
>
>
> How the kernel has a lot of files that use this led_brightness, the
> change is very very big.
> I have some questions:
>
> Does my change make sense?
>
> How can I split the change into several patches for sending to
> different email lists and still have the split change make sense in
> the email lists I'm going to send it to? can I reference the commit in
> which I delete the enum?
>
--
Lee Jones [李琼斯]
next prev parent reply other threads:[~2024-07-25 10:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-21 14:22 [RESEND LEDs] leds: remove led_brightness Guilherme Giácomo Simões
2024-07-25 10:26 ` Lee Jones [this message]
2024-07-25 12:34 ` Guilherme Giácomo Simões
2024-07-25 12:37 ` Pavel Machek
2024-07-25 13:07 ` Guilherme Giácomo Simões
2024-07-29 20:00 ` Guilherme Giácomo Simões
2024-08-01 12:36 ` Lee Jones
2024-07-29 20:37 ` Guilherme Giácomo Simões
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240725102623.GF501857@google.com \
--to=lee@kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=trintaeoitogc@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.