Re: [PATCH v2 1/2] dt-bindings: interrupt-controller: mpm: Pass MSG RAM slice through phandle

From: Konrad Dybcio
Date: Thu Apr 06 2023 - 15:55:50 EST




On 6.04.2023 19:45, Krzysztof Kozlowski wrote:
> On 05/04/2023 15:49, Konrad Dybcio wrote:
>>
>>
>> On 5.04.2023 15:47, Rob Herring wrote:
>>> On Wed, Apr 05, 2023 at 07:22:40AM -0500, Rob Herring wrote:
>>>>
>>>> On Wed, 05 Apr 2023 12:48:34 +0200, Konrad Dybcio wrote:
>>>>> Due to the wild nature of the Qualcomm RPM Message RAM, we can't really
>>>>> use 'reg' to point to the MPM's slice of Message RAM without cutting into
>>>>> an already-defined RPM MSG RAM node used for GLINK and SMEM.
>>>>>
>>>>> Document passing the register space as a slice of SRAM through the
>>>>> qcom,rpm-msg-ram property. This also makes 'reg' deprecated.
>>>>>
>>>>> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
>>>>> ---
>>>>> .../devicetree/bindings/interrupt-controller/qcom,mpm.yaml | 12 +++++++++---
>>>>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>>>>
>>>>
>>>> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
>>>> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>>>>
>>>> yamllint warnings/errors:
>>>>
>>>> dtschema/dtc warnings/errors:
>>>> Documentation/devicetree/bindings/interrupt-controller/qcom,mpm.example.dts:22.35-38.11: Warning (node_name_vs_property_name): /example-0/interrupt-controller: node name and property name conflict
>>>
>>> Looks like this is colliding with the example template which has to
>>> craft an interrupt provider for 'interrupts' properties. Either adding a
>>> parent node or using interrupts-extended instead should work-around it.
>> Check the devicetree-org issue linked in the cover letter, please!
>>
>> I suppose wrapping it in a parent node could work as a temporary
>> measure, but since it belongs outside /soc, I'd have to make up
>> a bogus simple-bus, I think.
>
> I don't think your issue in dtschema is accurate. As Rob suggested, you
> need wrapping node.
I don't really know what kind.. I can add something like:

rpm {
compatible = "qcom,rpm", "simple-mfd";

mpm: interrupt-controller {
...
};

And then only introduce a very simple YAML for "qcom,rpm"
describing what it is and documenting the compatible.

Or I can push it under rpm-requests{}.

Konrad
>
> Best regards,
> Krzysztof
>