[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <cf335bfe5979e2e4936104eb9f6b953d00af13a1.camel@toradex.com>
Date: Tue, 17 Jan 2023 12:32:20 +0000
From: Philippe Schenker <philippe.schenker@...adex.com>
To: "robh@...nel.org" <robh@...nel.org>,
"linux-leds@...r.kernel.org" <linux-leds@...r.kernel.org>
CC: "pavel@....cz" <pavel@....cz>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"dmurphy@...com" <dmurphy@...com>,
"jacek.anaszewski@...il.com" <jacek.anaszewski@...il.com>
Subject: Re: [PATCH v2 2/2] dt-bindings: leds: Convert gpio-leds to DT schema
On Tue, 2020-01-07 at 18:17 -0600, Rob Herring wrote:
> Convert the gpio-leds binding to DT schema format.
>
> Drop the last example as the node name collides when built, and it
> doesn't
> add much value.
>
> Cc: Pavel Machek <pavel@....cz>
> Cc: Dan Murphy <dmurphy@...com>
> Acked-by: Jacek Anaszewski <jacek.anaszewski@...il.com>
> Signed-off-by: Rob Herring <robh@...nel.org>
> ---
> Jacek, Please take this via led tree
>
> v2:
> - no change
>
> .../devicetree/bindings/leds/leds-gpio.txt | 75 ----------------
> .../devicetree/bindings/leds/leds-gpio.yaml | 86
> +++++++++++++++++++
> 2 files changed, 86 insertions(+), 75 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/leds/leds-
> gpio.txt
> create mode 100644 Documentation/devicetree/bindings/leds/leds-
> gpio.yaml
>
> diff --git a/Documentation/devicetree/bindings/leds/leds-gpio.txt
> b/Documentation/devicetree/bindings/leds/leds-gpio.txt
> deleted file mode 100644
> index d21281b63d38..000000000000
> --- a/Documentation/devicetree/bindings/leds/leds-gpio.txt
> +++ /dev/null
> @@ -1,75 +0,0 @@
> -LEDs connected to GPIO lines
> -
> -Required properties:
> -- compatible : should be "gpio-leds".
> -
> -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
> - Documentation/devicetree/bindings/gpio/gpio.txt. Active low LEDs
> should be
> - indicated using flags in the GPIO specifier.
> -- function : (optional)
> - see Documentation/devicetree/bindings/leds/common.txt
> -- color : (optional)
> - see Documentation/devicetree/bindings/leds/common.txt
> -- label : (optional)
> - see Documentation/devicetree/bindings/leds/common.txt (deprecated)
> -- linux,default-trigger : (optional)
> - see Documentation/devicetree/bindings/leds/common.txt
> -- default-state: (optional) The initial state of the LED.
> - see Documentation/devicetree/bindings/leds/common.txt
> -- retain-state-suspended: (optional) The suspend state can be
> retained.Such
> - as charge-led gpio.
> -- retain-state-shutdown: (optional) Retain the state of the LED on
> shutdown.
> - Useful in BMC systems, for example when the BMC is rebooted while
> the host
> - remains up.
> -- panic-indicator : (optional)
> - see Documentation/devicetree/bindings/leds/common.txt
> -
> -Examples:
> -
> -#include <dt-bindings/gpio/gpio.h>
> -#include <dt-bindings/leds/common.h>
> -
> -leds {
> - compatible = "gpio-leds";
> - led0 {
> - gpios = <&mcu_pio 0 GPIO_ACTIVE_LOW>;
> - linux,default-trigger = "disk-activity";
> - function = LED_FUNCTION_DISK;
> - };
> -
> - led1 {
> - gpios = <&mcu_pio 1 GPIO_ACTIVE_HIGH>;
> - /* Keep LED on if BIOS detected hardware fault */
> - default-state = "keep";
> - function = LED_FUNCTION_FAULT;
> - };
> -};
> -
> -run-control {
> - compatible = "gpio-leds";
> - led0 {
> - gpios = <&mpc8572 6 GPIO_ACTIVE_HIGH>;
> - color = <LED_COLOR_ID_RED>;
> - default-state = "off";
> - };
> - led1 {
> - gpios = <&mpc8572 7 GPIO_ACTIVE_HIGH>;
> - color = <LED_COLOR_ID_GREEN>;
> - default-state = "on";
> - };
> -};
> -
> -leds {
> - compatible = "gpio-leds";
> -
> - led0 {
> - gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
> - linux,default-trigger = "max8903-charger-charging";
> - retain-state-suspended;
> - function = LED_FUNCTION_CHARGE;
> - };
> -};
> diff --git a/Documentation/devicetree/bindings/leds/leds-gpio.yaml
> b/Documentation/devicetree/bindings/leds/leds-gpio.yaml
> new file mode 100644
> index 000000000000..0e75b185dd19
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/leds-gpio.yaml
> @@ -0,0 +1,86 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: LEDs connected to GPIO lines
> +
> +maintainers:
> + - Jacek Anaszewski <jacek.anaszewski@...il.com>
> + - Pavel Machek <pavel@....cz>
> +
> +description:
> + Each LED is represented as a sub-node of the gpio-leds device.
> Each
> + node's name represents the name of the corresponding LED.
> +
> +properties:
> + compatible:
> + const: gpio-leds
> +
> +patternProperties:
> + # The first form is preferred, but fall back to just 'led' anywhere
> in the
> + # node name to at least catch some child nodes.
> + "(^led-[0-9a-f]$|led)":
Hi Rob, just stumbled on this regexp which I do not understand what you
meant with it.
It is limiting the amount of LEDs to 16 in the part "^led-[0-9a-f]$" but
then after the or "|" it is allowed to put any name containing "led"?
Is this really wanted?
Am I now needed to number my leds like "led-1, led-2, ..., led-f"?
Thanks in advance for the explanation.
Philippe
> + type: object
> +
> + allOf:
> + - $ref: common.yaml#
> +
> + properties:
> + gpios:
> + maxItems: 1
> +
> + retain-state-suspended:
> + description:
> + The suspend state can be retained.Such as charge-led gpio.
> + type: boolean
> +
> + retain-state-shutdown:
> + description:
> + Retain the state of the LED on shutdown. Useful in BMC
> systems, for
> + example when the BMC is rebooted while the host remains up.
> + type: boolean
> +
> + required:
> + - gpios
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> +
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/leds/common.h>
> +
> + leds {
> + compatible = "gpio-leds";
> + led-0 {
> + gpios = <&mcu_pio 0 GPIO_ACTIVE_LOW>;
> + linux,default-trigger = "disk-activity";
> + function = LED_FUNCTION_DISK;
> + };
> +
> + led-1 {
> + gpios = <&mcu_pio 1 GPIO_ACTIVE_HIGH>;
> + /* Keep LED on if BIOS detected hardware fault */
> + default-state = "keep";
> + function = LED_FUNCTION_FAULT;
> + };
> + };
> +
> + run-control {
> + compatible = "gpio-leds";
> + led-0 {
> + gpios = <&mpc8572 6 GPIO_ACTIVE_HIGH>;
> + color = <LED_COLOR_ID_RED>;
> + default-state = "off";
> + };
> + led-1 {
> + gpios = <&mpc8572 7 GPIO_ACTIVE_HIGH>;
> + color = <LED_COLOR_ID_GREEN>;
> + default-state = "on";
> + };
> + };
> +
> +...
Powered by blists - more mailing lists