Re: [PATCH] dt-bindings: pinctrl: qcom,pmic-mpp: Fix schema for "qcom,paired"

From: Rob Herring
Date: Fri Jun 09 2023 - 17:34:35 EST


On Fri, Apr 21, 2023 at 1:48 PM Rob Herring <robh@xxxxxxxxxx> wrote:
>
> On Wed, Apr 19, 2023 at 2:56 PM Krzysztof Kozlowski
> <krzysztof.kozlowski@xxxxxxxxxx> 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@xxxxxxxxxx>
> > > ---
> > > 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