From 24599ace004aeedf551700fef6743bc60e8cc6b2 Mon Sep 17 00:00:00 2001 From: juhosg Date: Sat, 20 Oct 2007 05:26:19 +0000 Subject: [PATCH] [adm5120] add patch for gpio-leds to support special brightness values, thanks to Bernhard Held (closes: #2572) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9360 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../203-gpio_leds_brightness.patch | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 target/linux/adm5120/patches-2.6.23/203-gpio_leds_brightness.patch diff --git a/target/linux/adm5120/patches-2.6.23/203-gpio_leds_brightness.patch b/target/linux/adm5120/patches-2.6.23/203-gpio_leds_brightness.patch new file mode 100644 index 000000000..9b6fc49c7 --- /dev/null +++ b/target/linux/adm5120/patches-2.6.23/203-gpio_leds_brightness.patch @@ -0,0 +1,29 @@ +Index: linux-2.6.23/drivers/leds/leds-gpio.c +=================================================================== +--- linux-2.6.23.orig/drivers/leds/leds-gpio.c ++++ linux-2.6.23/drivers/leds/leds-gpio.c +@@ -41,13 +41,17 @@ + container_of(led_cdev, struct gpio_led_data, cdev); + int level; + +- if (value == LED_OFF) +- level = 0; +- else +- level = 1; +- +- if (led_dat->active_low) +- level = !level; ++ switch (value) { ++ case LED_OFF: ++ level = led_dat->active_low ? 1 : 0; ++ break; ++ case LED_FULL: ++ level = led_dat->active_low ? 0 : 1; ++ break; ++ default: ++ level = value; ++ break; ++ } + + /* setting GPIOs with I2C/etc requires a preemptible task context */ + if (led_dat->can_sleep) { -- 2.20.1