Re: [PATCH 1/2] swap led_brightness from enum to typedef

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



	Hi Amy,

On Thu, 15 Jul 2021, Amy Parker wrote:
This commit changes how led_brightness, declared in header file
include/linux/leds.h, works throughout the kernel, and updates other
files in accordance.

The TODO located at drivers/leds/TODO requests:

* Get rid of led_brightness

It is really an integer, as maximum is configurable. Get rid of it, or
make it into typedef or something.

This patch changes the declaration of led_brightness from an enum to a
typedef. In order to hold the currently existing enum values, macro
definitions are provided. Files which use led_brightness are updated to
conform to the new types.

Signed-off-by: Amy Parker <apark0006@xxxxxxxxxxxxxxxxxxxx>

Thanks for your patch!

207 files changed, 437 insertions(+), 438 deletions(-)

This touches a lot of files, so we better get it right.

--- a/include/linux/leds.h
+++ b/include/linux/leds.h
@@ -26,12 +26,11 @@ struct device_node;
 */

/* 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,
-};
+typedef u8 led_brightness;

In general, typedefs are frowned upon in the kernel, but there can be a
good reason to use one.
What if the maximum brightness is larger than 255?
Using "unsigned int" sounds better to me, but let's wait for Pavel...

+#define LED_OFF 0
+#define LED_ON 1
+#define LED_HALF 127
+#define LED_FULL 255

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux