Re: [PATCH v3 2/4] spi: dt-bindings: samsung: convert to dtschema

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20/01/22 10:24AM, Krzysztof Kozlowski wrote:
> On Thu, Jan 20, 2022 at 02:30:02PM +0530, Pratyush Yadav wrote:
> > On 20/01/22 08:36AM, Krzysztof Kozlowski wrote:
> > > On 20/01/2022 08:06, Pratyush Yadav wrote:
> > > > On 19/01/22 08:49PM, Krzysztof Kozlowski wrote:
> > > >> On 19/01/2022 20:31, Pratyush Yadav wrote:
> > > >>> On 12/01/22 11:00AM, Krzysztof Kozlowski wrote:
> > > >>>> Convert the Samsung SoC (S3C24xx, S3C64xx, S5Pv210, Exynos) SPI
> > > >>>> controller bindings to DT schema format
> > > >>>>
> > > >>>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>
> > > >>>> Reviewed-by: Sam Protsenko <semen.protsenko@xxxxxxxxxx>
> > > >>>> ---
> > > >>>>  .../spi/samsung,spi-peripheral-props.yaml     |  35 ++++
> > > >>>>  .../devicetree/bindings/spi/samsung,spi.yaml  | 187 ++++++++++++++++++
> > > >>>>  .../bindings/spi/spi-peripheral-props.yaml    |   1 +
> > > >>>>  .../devicetree/bindings/spi/spi-samsung.txt   | 122 ------------
> > > >>>>  MAINTAINERS                                   |   2 +-
> > > >>>>  5 files changed, 224 insertions(+), 123 deletions(-)
> > > >>>>  create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml
> > > >>>>  create mode 100644 Documentation/devicetree/bindings/spi/samsung,spi.yaml
> > > >>>>  delete mode 100644 Documentation/devicetree/bindings/spi/spi-samsung.txt
> > > >>>>
> > > >>>> diff --git a/Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml b/Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml
> > > >>>> new file mode 100644
> > > >>>> index 000000000000..aa5a1f48494b
> > > >>>> --- /dev/null
> > > >>>> +++ b/Documentation/devicetree/bindings/spi/samsung,spi-peripheral-props.yaml
> > > >>>> @@ -0,0 +1,35 @@
> > > >>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > >>>> +%YAML 1.2
> > > >>>> +---
> > > >>>> +$id: http://devicetree.org/schemas/spi/samsung,spi-peripheral-props.yaml#
> > > >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > >>>> +
> > > >>>> +title: Peripheral-specific properties for Samsung S3C/S5P/Exynos SoC SPI controller
> > > >>>> +
> > > >>>> +maintainers:
> > > >>>> +  - Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx>
> > > >>>> +
> > > >>>> +description:
> > > >>>> +  See spi-peripheral-props.yaml for more info.
> > > >>>> +
> > > >>>> +properties:
> > > >>>> +  controller-data:
> > > >>>> +    type: object
> > > >>>> +    additionalProperties: false
> > > >>>> +
> > > >>>> +    properties:
> > > >>>> +      samsung,spi-feedback-delay:
> > > >>>> +        description: |
> > > >>>> +          The sampling phase shift to be applied on the miso line (to account
> > > >>>> +          for any lag in the miso line). Valid values:
> > > >>>> +           - 0: No phase shift.
> > > >>>> +           - 1: 90 degree phase shift sampling.
> > > >>>> +           - 2: 180 degree phase shift sampling.
> > > >>>> +           - 3: 270 degree phase shift sampling.
> > > >>>> +        $ref: /schemas/types.yaml#/definitions/uint32
> > > >>>> +        enum: [0, 1, 2, 3]
> > > >>>> +
> > > >>>> +    required:
> > > >>>> +      - samsung,spi-feedback-delay
> > > >>>
> > > >>> I am not quite sure if this required would work here. Let's say another 
> > > >>> controller also uses a controller-data node, but it contains a different 
> > > >>> set of properties. Won't this cause an error to be raised for that 
> > > >>> controller since this property is not there?
> > > >>
> > > >> The controller-data is Samsung SPI specific (does not exist in any other
> > > >> binding), so why would controller-data get added to a different controller?
> > > > 
> > > > It does not as of now, but the name is fairly generic and some 
> > > > controller in the future might use it. I do not think it is a good idea 
> > > > to list required properties in X-peripheral-props.yaml in general since 
> > > > all those will be collected by spi-peripheral-props.yaml and so will 
> > > > apply to _all_ controllers that reference it.
> > > 
> > > Right, but have in mind this is merely a bindings conversion. These were
> > > made like this long time ago.
> > 
> > Yes, but the bindings infrastructure is not capable of handling these 
> > required properties as of now. So even if your next patch was _not_ 
> > making it optional, I would still say you should drop the "required:". 
> > Even though the property is actually a required one, we currently do not 
> > have the means to express that.
> > 
> > > 
> > > I think we can drop the "required:" entirely with the commit 3/4 which
> > > makes it optional.
> > 
> > I would prefer you never add it in the first place.
> 
> If I understand correctly, you propose to squash next patch making it
> optional to this conversion? I believe there is a value in splitting
> conversion of existing bindings from making changes to the bindings, but
> I don't mind squashing them if that is desired.

No, I don't want you to squash the next patch. I want you to just drop 
the "required:" property and call it a lossy conversion since there is 
no way as of now to express that. In the ideal world you would have kept 
it, and removed it in the next patch.

> 
> Best regards,
> Krzysztof
> 

-- 
Regards,
Pratyush Yadav
Texas Instruments Inc.



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux