diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2017-03-08 12:38:43 +0100 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2017-03-08 13:06:16 +0100 |
commit | 318f2d61016e69206ab9ec63017eb47e246c0b75 (patch) | |
tree | 8d9b0f889c8994bc50fb5a9265033b659ca27b14 /target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch | |
parent | 4124847772604773d05fbc8bd5d84f7c7b80edca (diff) | |
download | mtk-20170518-318f2d61016e69206ab9ec63017eb47e246c0b75.zip mtk-20170518-318f2d61016e69206ab9ec63017eb47e246c0b75.tar.gz mtk-20170518-318f2d61016e69206ab9ec63017eb47e246c0b75.tar.bz2 |
kernel: fix of_node handling in LEDs core code
This backports fixes for setting of_node and making it possible to read
extra info from DT. This was partially fixed by:
[PATCH] leds: leds-gpio: Set of_node for created LED devices
but it didn't work during initialization.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch')
-rw-r--r-- | target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch b/target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch new file mode 100644 index 0000000..670d4ba --- /dev/null +++ b/target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch @@ -0,0 +1,61 @@ +From 68620e594c250ba8c43a78e77f5296cb9952582e Mon Sep 17 00:00:00 2001 +From: Heiner Kallweit <hkallweit1@gmail.com> +Date: Wed, 14 Sep 2016 20:54:12 +0200 +Subject: [PATCH] leds: gpio: introduce gpio_blink_set_t + +Introduce a typedef gpio_blink_set_t to improve readability of the code. + +Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> +Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com> +--- + drivers/leds/leds-gpio.c | 6 ++---- + include/linux/leds.h | 9 ++++++--- + 2 files changed, 8 insertions(+), 7 deletions(-) + +--- a/drivers/leds/leds-gpio.c ++++ b/drivers/leds/leds-gpio.c +@@ -29,8 +29,7 @@ struct gpio_led_data { + u8 new_level; + u8 can_sleep; + u8 blinking; +- int (*platform_gpio_blink_set)(struct gpio_desc *desc, int state, +- unsigned long *delay_on, unsigned long *delay_off); ++ gpio_blink_set_t platform_gpio_blink_set; + }; + + static void gpio_led_work(struct work_struct *work) +@@ -88,8 +87,7 @@ static int gpio_blink_set(struct led_cla + + static int create_gpio_led(const struct gpio_led *template, + struct gpio_led_data *led_dat, struct device *parent, +- int (*blink_set)(struct gpio_desc *, int, unsigned long *, +- unsigned long *)) ++ gpio_blink_set_t blink_set) + { + int ret, state; + +--- a/include/linux/leds.h ++++ b/include/linux/leds.h +@@ -330,6 +330,11 @@ struct led_platform_data { + struct led_info *leds; + }; + ++struct gpio_desc; ++typedef int (*gpio_blink_set_t)(struct gpio_desc *desc, int state, ++ unsigned long *delay_on, ++ unsigned long *delay_off); ++ + /* For the leds-gpio driver */ + struct gpio_led { + const char *name; +@@ -352,9 +357,7 @@ struct gpio_led_platform_data { + #define GPIO_LED_NO_BLINK_LOW 0 /* No blink GPIO state low */ + #define GPIO_LED_NO_BLINK_HIGH 1 /* No blink GPIO state high */ + #define GPIO_LED_BLINK 2 /* Please, blink */ +- int (*gpio_blink_set)(struct gpio_desc *desc, int state, +- unsigned long *delay_on, +- unsigned long *delay_off); ++ gpio_blink_set_t gpio_blink_set; + }; + + struct platform_device *gpio_led_register_device( |