Re: [PATCH v1 4/4] leds: no longer use unnamed gpios

From: Dmitry Torokhov
Date: Wed Jan 07 2015 - 18:55:51 EST


On Wed, Jan 07, 2015 at 10:08:42AM +0100, Olliver Schinagl wrote:
> From: Olliver Schinagl <oliver@xxxxxxxxxxx>
>
> The gpio document says we should not use unnamed bindings for gpios.
> This patch uses the 'led-' prefix to the gpios and updates code and
> documents. Because the devm_get_gpiod_from_child() falls back to using
> old-style unnamed gpios, we can update the code first, and update
> dts files as time allows.
>
> Signed-off-by: Olliver Schinagl <oliver@xxxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/leds/leds-gpio.txt | 12 ++++++------
> drivers/leds/leds-gpio.c | 2 +-
> 2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/leds/leds-gpio.txt b/Documentation/devicetree/bindings/leds/leds-gpio.txt
> index d544cf1..2c138cc 100644
> --- a/Documentation/devicetree/bindings/leds/leds-gpio.txt
> +++ b/Documentation/devicetree/bindings/leds/leds-gpio.txt
> @@ -7,7 +7,7 @@ Each LED is represented as a sub-node of the gpio-leds device. Each
> node's name represents the name of the corresponding LED.
>
> LED sub-node properties:
> -- gpios : Should specify the LED's GPIO, see "gpios property" in
> +- led-gpios : Should specify the LED's GPIO, see "gpios property" in
> Documentation/devicetree/bindings/gpio/gpio.txt. Active low LEDs should be
> indicated using flags in the GPIO specifier.
> - label : (optional)
> @@ -32,12 +32,12 @@ leds {
> compatible = "gpio-leds";
> hdd {
> label = "IDE Activity";
> - gpios = <&mcu_pio 0 GPIO_ACTIVE_LOW>;
> + led-gpios = <&mcu_pio 0 GPIO_ACTIVE_LOW>;
> linux,default-trigger = "ide-disk";
> };
>
> fault {
> - gpios = <&mcu_pio 1 GPIO_ACTIVE_HIGH>;
> + led-gpios = <&mcu_pio 1 GPIO_ACTIVE_HIGH>;
> /* Keep LED on if BIOS detected hardware fault */
> default-state = "keep";
> };
> @@ -46,11 +46,11 @@ leds {
> run-control {
> compatible = "gpio-leds";
> red {
> - gpios = <&mpc8572 6 GPIO_ACTIVE_HIHG>;
> + led-gpios = <&mpc8572 6 GPIO_ACTIVE_HIHG>;
> default-state = "off";
> };
> green {
> - gpios = <&mpc8572 7 GPIO_ACTIVE_HIGH>;
> + led-gpios = <&mpc8572 7 GPIO_ACTIVE_HIGH>;
> default-state = "on";
> };
> };
> @@ -59,7 +59,7 @@ leds {
> compatible = "gpio-leds";
>
> charger-led {
> - gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
> + led-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
> linux,default-trigger = "max8903-charger-charging";
> retain-state-suspended;
> };
> diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c
> index 8e5af69..5b7bc84 100644
> --- a/drivers/leds/leds-gpio.c
> +++ b/drivers/leds/leds-gpio.c
> @@ -184,7 +184,7 @@ static struct gpio_leds_priv *gpio_leds_create(struct platform_device *pdev)
> struct gpio_led led = {};
> const char *state = NULL;
>
> - led.gpiod = devm_get_gpiod_from_child(dev, NULL, child);
> + led.gpiod = devm_get_gpiod_from_child(dev, "led", child);

Would not this break existing boards using old bindings? You need to
handle both cases: if you can't located "led-gpios" then you will have to
try just "gpios".

Thanks.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/