From 86722ab0bba39a540e1690745fbb574240b3fa12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Wed, 8 Mar 2017 12:38:43 +0100 Subject: kernel: fix of_node handling in LEDs core code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- ...0002-leds-gpio-introduce-gpio_blink_set_t.patch | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch (limited to 'target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch') 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 +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 +Signed-off-by: Jacek Anaszewski +--- + 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( -- cgit v1.1