lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240131171857.GA1531631-robh@kernel.org>
Date: Wed, 31 Jan 2024 11:18:57 -0600
From: Rob Herring <robh@...nel.org>
To: Duje Mihanović <duje.mihanovic@...le.hr>
Cc: Conor Dooley <conor@...nel.org>, Vinod Koul <vkoul@...nel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
	dmaengine@...r.kernel.org, devicetree@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] dt-bindings: mmp-dma: convert to YAML

On Sun, Jan 28, 2024 at 07:01:36PM +0100, Duje Mihanović wrote:
> On Sunday, January 28, 2024 6:28:03 PM CET Conor Dooley wrote:
> > On Sat, Jan 27, 2024 at 05:53:45PM +0100, Duje Mihanović wrote:
> > > +allOf:
> > > +  - $ref: dma-controller.yaml#
> > > +  - if:
> > > +      properties:
> > > +        compatible:
> > > +          contains:
> > > +            enum:
> > > +              - marvell,adma-1.0
> > > +              - marvell,pxa910-squ
> > > +    then:
> > > +      properties:
> > > +        asram:
> > > +          description:
> > > +            phandle to the SRAM pool
> > > +          minItems: 1
> > > +          maxItems: 1
> > > +        iram:
> > 
> > > +          maxItems:
> > These properties are not mentioned in the text binding, nor commit
> > message. Where did they come from?
> 
> Both of them can be found in arch/arm/boot/dts/marvell/mmp2.dtsi. There is one 
> major difference between the two: iram is not mentioned at all by the mmp_tdma 
> driver (on the other hand, asram is not only used but also required for a 
> successful probe), but I left it here as it's still found in the MMP2 dtsi. On 
> second thought it should probably be dropped both here and in the dtsi.
> 
> > That said, for properties that are only usable on some platforms, please
> > define them at the top level and conditionally permit/constrain them.
> 
> Could you please point me to how to do so if this if/then does not do it 
> properly?

Negate the if and then:

then:
  properties:
    asram: false

There are lots of examples in the tree.

> 
> > > +unevaluatedProperties: false
> > > +
> > > +examples:
> > > +  # Peripheral controller
> > > +  - |
> > > +    pdma0: dma-controller@...00000 {
> > 
> > The label is not needed here or below.
> > In fact, I'd probably delete the second example as it shows nothing that
> > the first one does not.
> 
> I'd rather add the asram property in the second node (adding onto the above 
> comment, I now see that it shouldn't have even passed dt_binding_check because 
> of the missing asram, but it did).

It passed because 'required' is what checks for property presence and 
nowhere is asram required. It is missing a type definition which should 
have warned, but may not since it is under an 'if'.

Rob

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ