[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL_JsqJMpjW6a4Q6xUX6TEZ+vyLJJn5bDtwEdf_-E=BeA-Z_tA@mail.gmail.com>
Date: Fri, 9 Jun 2023 15:34:11 -0600
From: Rob Herring <robh@...nel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Bjorn Andersson <andersson@...nel.org>
Cc: Andy Gross <agross@...nel.org>,
Konrad Dybcio <konrad.dybcio@...aro.org>,
Linus Walleij <linus.walleij@...aro.org>,
linux-arm-msm@...r.kernel.org, linux-gpio@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] dt-bindings: pinctrl: qcom,pmic-mpp: Fix schema for "qcom,paired"
On Fri, Apr 21, 2023 at 1:48 PM Rob Herring <robh@...nel.org> wrote:
>
> On Wed, Apr 19, 2023 at 2:56 PM Krzysztof Kozlowski
> <krzysztof.kozlowski@...aro.org> wrote:
> >
> > On 18/04/2023 17:06, Rob Herring wrote:
> > > The "qcom,paired" schema is all wrong. First, it's a list rather than an
> > > object(dictionary). Second, it is missing a required type. The meta-schema
> > > normally catches this, but schemas under "$defs" was not getting checked.
> > > A fix for that is pending.
> > >
> > > Signed-off-by: Rob Herring <robh@...nel.org>
> > > ---
> > > Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.yaml | 5 +++--
> > > 1 file changed, 3 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.yaml
> > > index 9412b9362328..4c3e9ff82105 100644
> > > --- a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.yaml
> > > +++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.yaml
> > > @@ -144,8 +144,9 @@ $defs:
> > > enum: [0, 1, 2, 3, 4, 5, 6, 7]
> > >
> > > qcom,paired:
> > > - - description:
> > > - Indicates that the pin should be operating in paired mode.
> > > + type: boolean
> > > + description:
> > > + Indicates that the pin should be operating in paired mode.
> >
> > Current Linux implementation uses it as a generic pinconf param
> > pinconf_generic_params which is parsed by:
> >
> > pinconf_generic_parse_dt_config() -> parse_dt_cfg() ->
> > of_property_read_u32()
> >
> >
> > The pinctrl-spmi-mpp.c driver, using this schema, treat it as a bool,
> > but I still wonder how the code will parse bool with
> > of_property_read_u32(). Maybe it should be uint32 with value of 0 and 1?
>
> That should be an error because the length is too short so it should
> go with some default from the code.
>
> Looks like there is no user, though no property could mean keep the
> default/bootloader setting. Can you sort out which type is really
> desired here and hopefully we can get rid of the other type. It's not
> the first case of pinctrl properties with multiple types, but we don't
> really need more.
Still an issue here. Please sort out what functionality QCom wants here.
dtschema (main br) will now throw a warning on it.
Rob
Powered by blists - more mailing lists