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]
Date:   Tue, 26 Oct 2021 15:31:53 -0500
From:   Rob Herring <robh@...nel.org>
To:     Kunihiko Hayashi <hayashi.kunihiko@...ionext.com>
Cc:     Linus Walleij <linus.walleij@...aro.org>,
        Masami Hiramatsu <mhiramat@...nel.org>,
        linux-gpio@...r.kernel.org, devicetree@...r.kernel.org,
        linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] dt-bindings: pinctrl: uniphier: Add child node
 definitions to describe pin mux and configuration

On Wed, Oct 13, 2021 at 11:54:08PM +0900, Kunihiko Hayashi wrote:
> In arch/arm/boot/dts/uniphier-pinctrl.dtsi, there are child nodes of
> pinctrl that defines pinmux and pincfg, however, there are no rules about
> that in dt-bindings.
> 
> 'make dtbs_check' results an error with the following message:
> 
>    pinctrl: 'ain1', 'ain2', 'ainiec1', 'aout', 'aout1', 'aout2', ...
>    ... 'usb2', 'usb3' do not match any of the regexes: 'pinctrl-[0-9]+'
> 
> To avoid this issue, add the rules of pinmux and pincfg in each child node
> and grandchild node.
> 
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@...ionext.com>
> ---
>  .../pinctrl/socionext,uniphier-pinctrl.yaml        | 46 +++++++++++++++++++++-
>  1 file changed, 44 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml
> index a804d9bc1602..4567330fe536 100644
> --- a/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml
> @@ -26,11 +26,53 @@ properties:
>        - socionext,uniphier-pxs3-pinctrl
>        - socionext,uniphier-nx1-pinctrl
>  
> -required:
> -  - compatible
> +patternProperties:
> +  "^.*$":
> +    if:
> +      type: object
> +    then:

After coming up with this hack, I found a better way using 
additionalProperties:

additionalProperties:
  type: object

and then all this:

> +      allOf:
> +        - $ref: pincfg-node.yaml#
> +        - $ref: pinmux-node.yaml#
> +
> +      properties:
> +        phandle: true
> +        function: true
> +        groups: true
> +        pins: true
> +        bias-pull-up: true
> +        bias-pull-down: true
> +        bias-pull-pin-default: true
> +        drive-strength: true
> +
> +      patternProperties:
> +        "^.*$":
> +          if:
> +            type: object
> +          then:

Same thing here.

> +            allOf:
> +              - $ref: pincfg-node.yaml#
> +              - $ref: pinmux-node.yaml#
> +
> +            properties:
> +              phandle: true
> +              function: true
> +              groups: true
> +              pins: true
> +              bias-pull-up: true
> +              bias-pull-down: true
> +              bias-pull-pin-default: true
> +              drive-strength: true
> +
> +            unevaluatedProperties: false
> +
> +      unevaluatedProperties: false
>  
>  additionalProperties: false
>  
> +required:
> +  - compatible
> +
>  examples:
>    - |
>      // The UniPhier pinctrl should be a subnode of a "syscon" compatible node.
> -- 
> 2.7.4
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ