[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <270389bf-3a6e-6e89-624f-006cace493ae@arm.com>
Date: Fri, 28 Feb 2020 00:21:31 +0000
From: André Przywara <andre.przywara@....com>
To: Rob Herring <robh@...nel.org>
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, Maxime Ripard <mripard@...nel.org>,
Robert Richter <rric@...nel.org>, soc@...nel.org,
Jon Loeliger <jdl@....com>,
Mark Langsdorf <mlangsdo@...hat.com>,
Eric Auger <eric.auger@...hat.com>,
Will Deacon <will@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
Corey Minyard <minyard@....org>,
openipmi-developer@...ts.sourceforge.net
Subject: Re: [PATCH v2 11/13] dt-bindings: ipmi: Convert IPMI-SMIC bindings to
json-schema
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@....com>
>> Cc: Corey Minyard <minyard@....org>
>> Cc: openipmi-developer@...ts.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@...3a000 {
>> - 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@...sta.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@...3a000 {
>> + compatible = "ipmi-smic";
>> + reg = <0xfff3a000 0x1000>;
>> + interrupts = <0 24 4>;
>> + reg-size = <4>;
>> + reg-spacing = <4>;
>> + };
>> --
>> 2.17.1
>>
Powered by blists - more mailing lists