All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v2 1/2] regulator: dt-bindings: qcom,rpmh: document supplies per variant
Date: Tue, 19 Apr 2022 12:31:36 -0500	[thread overview]
Message-ID: <Yl7x+LG9vdL3mcpC@robh.at.kernel.org> (raw)
In-Reply-To: <39b68e91-93cc-ad74-d064-a29ff01d60a6@linaro.org>

On Tue, Apr 19, 2022 at 08:44:48AM +0200, Krzysztof Kozlowski wrote:
> On 14/04/2022 17:51, Rob Herring wrote:
> > On Tue, Apr 12, 2022 at 09:31:22AM +0200, Krzysztof Kozlowski wrote:
> >> The RPMH regulator binding covers several devices with different
> >> regulator supplies, so it uses patterns matching broad range of these
> >> supplies.  This works fine but is not specific and might miss actual
> >> mistakes when a wrong supply property is used for given variant.
> >>
> >> Describe the supplies depending on the compatible, using a defs-allOf
> >> method.
> >>
> >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> >> ---
> >>  .../regulator/qcom,rpmh-regulator.yaml        | 290 +++++++++++++++++-
> >>  1 file changed, 276 insertions(+), 14 deletions(-)
> >>
> >> diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
> >> index 842ccef691b8..773536fe37c7 100644
> >> --- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
> >> +++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
> >> @@ -95,35 +95,297 @@ properties:
> >>    vdd-rgb-supply:
> >>      description: Input supply phandle of rgb.
> >>  
> >> -  vin-lvs-1-2-supply:
> >> -    description: Input supply phandle of one or more regulators.
> >> -
> >> -  vdd-bob-supply:
> >> -    description: BOB regulator parent supply phandle.
> >> -
> >>    bob:
> >>      type: object
> >>      $ref: "regulator.yaml#"
> >>      description: BOB regulator node.
> >>  
> >>  patternProperties:
> >> -  "^vdd-s([0-9]+)-supply$":
> >> -    description: Input supply phandle(s) of one or more regulators.
> >> -
> >> -  "^vdd-(l[0-9]+[-]){1,5}supply$":
> >> -    description: Input supply phandle(s) of one or more regulators.
> >> -
> >>    "^(smps|ldo|lvs)[0-9]+$":
> >>      type: object
> >>      $ref: "regulator.yaml#"
> >>      description: smps/ldo regulator nodes(s).
> >>  
> >> -additionalProperties: false
> >> -
> >>  required:
> >>    - compatible
> >>    - qcom,pmic-id
> >>  
> >> +allOf:
> >> +  - $ref: "#/$defs/pm6150"
> >> +  - $ref: "#/$defs/pm6150l"
> >> +  - $ref: "#/$defs/pm7325"
> >> +  - $ref: "#/$defs/pm8005"
> >> +  - $ref: "#/$defs/pm8009"
> >> +  - $ref: "#/$defs/pm8150"
> >> +  - $ref: "#/$defs/pm8150l"
> >> +  - $ref: "#/$defs/pm8350"
> >> +  - $ref: "#/$defs/pm8350c"
> >> +  - $ref: "#/$defs/pm8450"
> >> +  - $ref: "#/$defs/pm8998"
> >> +  - $ref: "#/$defs/pmg1110"
> >> +  - $ref: "#/$defs/pmi8998"
> >> +  - $ref: "#/$defs/pmr735a"
> >> +  - $ref: "#/$defs/pmx55"
> >> +  - $ref: "#/$defs/pmx65"
> >> +
> >> +unevaluatedProperties: false
> >> +
> >> +$defs:
> > 
> > I'm not following on why you need $defs here rather than putting the 
> > if/then schemas under the 'allOf'. $defs should primarily only be used 
> > where it saves duplicating a schema 2 or more times. That could be the 
> > case here if there's a case that's a subset of another case.
> 
> The allOf+defs is a workaround for schema behavior. The entire approach
> if defining properties in "if:then:" works only with
> unevaluatedProperties, not with additionalProperties. However
> unevaluatedProperties require to reference other schema, which I do not
> do here. I don't have other schema.
> 
> allOf+def has references tricking schema to accept unevaluatedProperties.

I'm going to relax the meta-schema instead.

Rob

  reply	other threads:[~2022-04-19 17:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-12  7:31 [PATCH v2 0/2] regulator: dt-bindings: qcom,rpmh: minor cleanups and extend supplies Krzysztof Kozlowski
2022-04-12  7:31 ` [PATCH v2 1/2] regulator: dt-bindings: qcom,rpmh: document supplies per variant Krzysztof Kozlowski
2022-04-14 15:51   ` Rob Herring
2022-04-19  6:44     ` Krzysztof Kozlowski
2022-04-19 17:31       ` Rob Herring [this message]
2022-04-12  7:31 ` [PATCH v2 2/2] regulator: dt-bindings: qcom,rpmh: document vdd-l7-bob-supply on PMR735A Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yl7x+LG9vdL3mcpC@robh.at.kernel.org \
    --to=robh@kernel.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.