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

From: Pratyush Yadav <[email-masked]>
Date: Thu, 20 Jan 2022 12:36:20 +0530

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 <[email-masked]>
> >> Reviewed-by: Sam Protsenko <[email-masked]>
> >> ---
> >>  .../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 <[email-masked]>
> >> +
> >> +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.

-- 
Regards,
Pratyush Yadav
Texas Instruments Inc.

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel