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.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch | |
parent | 4124847772604773d05fbc8bd5d84f7c7b80edca (diff) | |
download | upstream-318f2d61016e69206ab9ec63017eb47e246c0b75.tar.gz upstream-318f2d61016e69206ab9ec63017eb47e246c0b75.tar.bz2 upstream-318f2d61016e69206ab9ec63017eb47e246c0b75.zip |
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.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch')
-rw-r--r-- | target/linux/generic/patches-4.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch b/target/linux/generic/patches-4.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch new file mode 100644 index 0000000000..0247fffb2a --- /dev/null +++ b/target/linux/generic/patches-4.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch @@ -0,0 +1,60 @@ +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> +Date: Mon, 6 Mar 2017 06:19:45 +0100 +Subject: [PATCH] leds: gpio: use OF variant of LED registering function +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In leds-gpio we support LEDs specified in DT so we should use +(devm_)of_led_classdev_register. This allows passing DT node as argument +for use by the LED subsystem. + +Signed-off-by: Rafał Miłecki <rafal@milecki.pl> +Acked-by: Pavel Machek <pavel@ucw.cz> +Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com> +--- + drivers/leds/leds-gpio.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +--- a/drivers/leds/leds-gpio.c ++++ b/drivers/leds/leds-gpio.c +@@ -77,7 +77,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, +- gpio_blink_set_t blink_set) ++ struct device_node *np, gpio_blink_set_t blink_set) + { + int ret, state; + +@@ -139,7 +139,7 @@ static int create_gpio_led(const struct + if (ret < 0) + return ret; + +- return devm_led_classdev_register(parent, &led_dat->cdev); ++ return devm_of_led_classdev_register(parent, np, &led_dat->cdev); + } + + struct gpio_leds_priv { +@@ -206,7 +206,7 @@ static struct gpio_leds_priv *gpio_leds_ + if (fwnode_property_present(child, "panic-indicator")) + led.panic_indicator = 1; + +- ret = create_gpio_led(&led, led_dat, dev, NULL); ++ ret = create_gpio_led(&led, led_dat, dev, np, NULL); + if (ret < 0) { + fwnode_handle_put(child); + return ERR_PTR(ret); +@@ -240,9 +240,9 @@ static int gpio_led_probe(struct platfor + + priv->num_leds = pdata->num_leds; + for (i = 0; i < priv->num_leds; i++) { +- ret = create_gpio_led(&pdata->leds[i], +- &priv->leds[i], +- &pdev->dev, pdata->gpio_blink_set); ++ ret = create_gpio_led(&pdata->leds[i], &priv->leds[i], ++ &pdev->dev, NULL, ++ pdata->gpio_blink_set); + if (ret < 0) + return ret; + } |