Message ID | 20200108001738.8209-2-robh@kernel.org |
---|---|
State | New |
Headers | show |
Series | None | expand |
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@ucw.cz> > Cc: Dan Murphy <dmurphy@ti.com> > Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com> > Signed-off-by: Rob Herring <robh@kernel.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@gmail.com> > + - Pavel Machek <pavel@ucw.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"; > + }; > + }; > + > +...
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@gmail.com> + - Pavel Machek <pavel@ucw.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)": + 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"; + }; + }; + +...