[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5064f8aa-7aff-bf51-212c-e4d7e465b36a@linaro.org>
Date: Tue, 13 Jun 2023 08:48:57 +0200
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Rob Herring <robh@...nel.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 09/06/2023 23:34, Rob Herring wrote:
> 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.
I think we can go with your patch, after double checking my previous
concerns are not relevant here - driver reads it as bool just like other
bool properties.
Best regards,
Krzysztof
Powered by blists - more mailing lists