Message ID | 20200227182210.89512-12-andre.przywara@arm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | arm: calxeda: update DTS, bindings and MAINTAINERS | expand |
On Thu, Feb 27, 2020 at 06:22:08PM +0000, Andre Przywara wrote: > Convert the generic IPMI controller bindings to DT schema format > using json-schema. > > I removed the formerly mandatory device-type property, since this > is deprecated in the DT spec, except for the legacy CPU and memory > nodes. Yes, but it is still used by the ipmi driver to match on, so we should keep it. > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > Cc: Corey Minyard <minyard@acm.org> > Cc: openipmi-developer@lists.sourceforge.net > --- > .../devicetree/bindings/ipmi/ipmi-smic.txt | 25 --------- > .../devicetree/bindings/ipmi/ipmi-smic.yaml | 56 +++++++++++++++++++ > 2 files changed, 56 insertions(+), 25 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/ipmi/ipmi-smic.txt > create mode 100644 Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml > > diff --git a/Documentation/devicetree/bindings/ipmi/ipmi-smic.txt b/Documentation/devicetree/bindings/ipmi/ipmi-smic.txt > deleted file mode 100644 > index d5f1a877ed3e..000000000000 > --- a/Documentation/devicetree/bindings/ipmi/ipmi-smic.txt > +++ /dev/null > @@ -1,25 +0,0 @@ > -IPMI device > - > -Required properties: > -- compatible: should be one of ipmi-kcs, ipmi-smic, or ipmi-bt > -- device_type: should be ipmi > -- reg: Address and length of the register set for the device > - > -Optional properties: > -- interrupts: The interrupt for the device. Without this the interface > - is polled. > -- reg-size - The size of the register. Defaults to 1 > -- reg-spacing - The number of bytes between register starts. Defaults to 1 > -- reg-shift - The amount to shift the registers to the right to get the data > - into bit zero. > - > -Example: > - > -smic@fff3a000 { > - compatible = "ipmi-smic"; > - device_type = "ipmi"; > - reg = <0xfff3a000 0x1000>; > - interrupts = <0 24 4>; > - reg-size = <4>; > - reg-spacing = <4>; > -}; > diff --git a/Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml b/Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml > new file mode 100644 > index 000000000000..c859e0e959b9 > --- /dev/null > +++ b/Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml > @@ -0,0 +1,56 @@ > +# SPDX-License-Identifier: GPL-2.0 Anything I wrote which should be most of the series, you can relicense to: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/ipmi/ipmi-smic.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: IPMI device bindings > + > +description: IPMI device bindings > + > +maintainers: > + - Corey Minyard <cminyard@mvista.com> > + > +properties: > + compatible: > + enum: > + - ipmi-kcs > + - ipmi-smic > + - ipmi-bt > + > + reg: > + maxItems: 1 > + > + interrupts: > + description: Interface is polled if this property is omitted. > + maxItems: 1 > + > + reg-size: > + description: The access width of the register in bytes. Defaults to 1. > + allOf: > + - $ref: /schemas/types.yaml#/definitions/uint32 > + - enum: [1, 2, 4, 8] Does 8 really work? > + > + reg-spacing: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: The number of bytes between register starts. Defaults to 1. > + > + reg-shift: > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: | > + The amount of bits to shift the register content to the right to get > + the data into bit zero. either 24 or 56 would be the max, right? > + > +required: > + - compatible > + - reg > + > +examples: > + - | > + smic@fff3a000 { > + compatible = "ipmi-smic"; > + reg = <0xfff3a000 0x1000>; > + interrupts = <0 24 4>; > + reg-size = <4>; > + reg-spacing = <4>; > + }; > -- > 2.17.1 >
On 27/02/2020 22:21, Rob Herring wrote: Hi, > On Thu, Feb 27, 2020 at 06:22:08PM +0000, Andre Przywara wrote: >> Convert the generic IPMI controller bindings to DT schema format >> using json-schema. >> >> I removed the formerly mandatory device-type property, since this >> is deprecated in the DT spec, except for the legacy CPU and memory >> nodes. > > Yes, but it is still used by the ipmi driver to match on, so we should > keep it. Oh, indeed, I missed that. Should we: - Remove the .type field from the driver. - Mark/comment this as deprecated in the bindings, but - Keep in it in the DTs. to limit proliferation of device_type usage? > >> Signed-off-by: Andre Przywara <andre.przywara@arm.com> >> Cc: Corey Minyard <minyard@acm.org> >> Cc: openipmi-developer@lists.sourceforge.net >> --- >> .../devicetree/bindings/ipmi/ipmi-smic.txt | 25 --------- >> .../devicetree/bindings/ipmi/ipmi-smic.yaml | 56 +++++++++++++++++++ >> 2 files changed, 56 insertions(+), 25 deletions(-) >> delete mode 100644 Documentation/devicetree/bindings/ipmi/ipmi-smic.txt >> create mode 100644 Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml >> >> diff --git a/Documentation/devicetree/bindings/ipmi/ipmi-smic.txt b/Documentation/devicetree/bindings/ipmi/ipmi-smic.txt >> deleted file mode 100644 >> index d5f1a877ed3e..000000000000 >> --- a/Documentation/devicetree/bindings/ipmi/ipmi-smic.txt >> +++ /dev/null >> @@ -1,25 +0,0 @@ >> -IPMI device >> - >> -Required properties: >> -- compatible: should be one of ipmi-kcs, ipmi-smic, or ipmi-bt >> -- device_type: should be ipmi >> -- reg: Address and length of the register set for the device >> - >> -Optional properties: >> -- interrupts: The interrupt for the device. Without this the interface >> - is polled. >> -- reg-size - The size of the register. Defaults to 1 >> -- reg-spacing - The number of bytes between register starts. Defaults to 1 >> -- reg-shift - The amount to shift the registers to the right to get the data >> - into bit zero. >> - >> -Example: >> - >> -smic@fff3a000 { >> - compatible = "ipmi-smic"; >> - device_type = "ipmi"; >> - reg = <0xfff3a000 0x1000>; >> - interrupts = <0 24 4>; >> - reg-size = <4>; >> - reg-spacing = <4>; >> -}; >> diff --git a/Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml b/Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml >> new file mode 100644 >> index 000000000000..c859e0e959b9 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml >> @@ -0,0 +1,56 @@ >> +# SPDX-License-Identifier: GPL-2.0 > > Anything I wrote which should be most of the series, you can relicense > to: > > (GPL-2.0-only OR BSD-2-Clause) Oh, good point. I copied the header from some file I picked. > >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/ipmi/ipmi-smic.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: IPMI device bindings >> + >> +description: IPMI device bindings >> + >> +maintainers: >> + - Corey Minyard <cminyard@mvista.com> >> + >> +properties: >> + compatible: >> + enum: >> + - ipmi-kcs >> + - ipmi-smic >> + - ipmi-bt >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + description: Interface is polled if this property is omitted. >> + maxItems: 1 >> + >> + reg-size: >> + description: The access width of the register in bytes. Defaults to 1. >> + allOf: >> + - $ref: /schemas/types.yaml#/definitions/uint32 >> + - enum: [1, 2, 4, 8] > > Does 8 really work? The driver supports it, at least on architectures providing readq. > >> + >> + reg-spacing: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: The number of bytes between register starts. Defaults to 1. >> + >> + reg-shift: >> + $ref: /schemas/types.yaml#/definitions/uint32 >> + description: | >> + The amount of bits to shift the register content to the right to get >> + the data into bit zero. > > either 24 or 56 would be the max, right? True, will limit this to 56. Thanks! Andre > >> + >> +required: >> + - compatible >> + - reg >> + >> +examples: >> + - | >> + smic@fff3a000 { >> + compatible = "ipmi-smic"; >> + reg = <0xfff3a000 0x1000>; >> + interrupts = <0 24 4>; >> + reg-size = <4>; >> + reg-spacing = <4>; >> + }; >> -- >> 2.17.1 >>
diff --git a/Documentation/devicetree/bindings/ipmi/ipmi-smic.txt b/Documentation/devicetree/bindings/ipmi/ipmi-smic.txt deleted file mode 100644 index d5f1a877ed3e..000000000000 --- a/Documentation/devicetree/bindings/ipmi/ipmi-smic.txt +++ /dev/null @@ -1,25 +0,0 @@ -IPMI device - -Required properties: -- compatible: should be one of ipmi-kcs, ipmi-smic, or ipmi-bt -- device_type: should be ipmi -- reg: Address and length of the register set for the device - -Optional properties: -- interrupts: The interrupt for the device. Without this the interface - is polled. -- reg-size - The size of the register. Defaults to 1 -- reg-spacing - The number of bytes between register starts. Defaults to 1 -- reg-shift - The amount to shift the registers to the right to get the data - into bit zero. - -Example: - -smic@fff3a000 { - compatible = "ipmi-smic"; - device_type = "ipmi"; - reg = <0xfff3a000 0x1000>; - interrupts = <0 24 4>; - reg-size = <4>; - reg-spacing = <4>; -}; diff --git a/Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml b/Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml new file mode 100644 index 000000000000..c859e0e959b9 --- /dev/null +++ b/Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/ipmi/ipmi-smic.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: IPMI device bindings + +description: IPMI device bindings + +maintainers: + - Corey Minyard <cminyard@mvista.com> + +properties: + compatible: + enum: + - ipmi-kcs + - ipmi-smic + - ipmi-bt + + reg: + maxItems: 1 + + interrupts: + description: Interface is polled if this property is omitted. + maxItems: 1 + + reg-size: + description: The access width of the register in bytes. Defaults to 1. + allOf: + - $ref: /schemas/types.yaml#/definitions/uint32 + - enum: [1, 2, 4, 8] + + reg-spacing: + $ref: /schemas/types.yaml#/definitions/uint32 + description: The number of bytes between register starts. Defaults to 1. + + reg-shift: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + The amount of bits to shift the register content to the right to get + the data into bit zero. + +required: + - compatible + - reg + +examples: + - | + smic@fff3a000 { + compatible = "ipmi-smic"; + reg = <0xfff3a000 0x1000>; + interrupts = <0 24 4>; + reg-size = <4>; + reg-spacing = <4>; + };
Convert the generic IPMI controller bindings to DT schema format using json-schema. I removed the formerly mandatory device-type property, since this is deprecated in the DT spec, except for the legacy CPU and memory nodes. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Cc: Corey Minyard <minyard@acm.org> Cc: openipmi-developer@lists.sourceforge.net --- .../devicetree/bindings/ipmi/ipmi-smic.txt | 25 --------- .../devicetree/bindings/ipmi/ipmi-smic.yaml | 56 +++++++++++++++++++ 2 files changed, 56 insertions(+), 25 deletions(-) delete mode 100644 Documentation/devicetree/bindings/ipmi/ipmi-smic.txt create mode 100644 Documentation/devicetree/bindings/ipmi/ipmi-smic.yaml