From: Krzysztof Kozlowski <krzk@kernel.org>
To: "Alex G." <mr.nuke.me@gmail.com>
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
devicetree@vger.kernel.org,
Bjorn Andersson <andersson@kernel.org>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
konradybcio@kernel.org, linux-arm-msm@vger.kernel.org,
linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH RFC 1/3] dt-bindings: remoteproc: qcom,ipq8074-wcss-pil: convert to DT schema
Date: Wed, 17 Dec 2025 08:55:47 +0100 [thread overview]
Message-ID: <a4e0bc9b-1482-49ac-8454-39edeaf3b676@kernel.org> (raw)
In-Reply-To: <f38764d7-9d7d-47f4-a099-b6ac6b12be6e@gmail.com>
On 17/12/2025 06:01, Alex G. wrote:
>> Filename based on the compatible, so for example:
>> qcom,ipq8074-wcss-pil.yaml
> Okay.
>>> @@ -0,0 +1,167 @@
>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/remoteproc/qcom,ipq9574-wcss-pil.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Qualcomm IPQ WCSS Peripheral Image Loader
>>> +
>>> +maintainers:
>>> + - Placeholder Maintainer <placeholder@kernel.org>
>>
>> This must be a real person. Fallback is your SoC maintainer.
>
> I can't find an official maintainer for IPQ8074 or IPQ9574. I could list
I don't think you looked then. get_maintainers gives you clear answer.
> myself, but you know a lot about these bindings. Is it okay if I list
> you as the maintainer of this binding, Krzysztof?
No. I am not the maintainer of this SoC.
>
>>> +
>>> + reg-names:
>>> + items:
>>> + - const: qdsp6
>>> + - const: rmb
>>> +
>>> + interrupts-extended:
>>
>> No, you only need interrupts. Please look at other bindings - how they
>> write this.
>
> I thought I needed interrupts-extended if the interrupts use more than
> one interrupt controller. Is that not the case?
Instead of asking the same question again, which would give you the same
answer "No, you only need interrupts" please rather think on the rest of
the answer - look at other bindings.
..
>>> + qcom,smem-states:
>>> + $ref: /schemas/types.yaml#/definitions/phandle-array
>>
>> That's incomplete - missing constraints. Are you sure you wrote this
>> code the same way we already did for other devices?
>
> I am not sure. It seems to match qcom,qcs404-cdsp-pil.yaml or
No, it does not.
Look at these files even - they have maxItems. Where do you see maxItems
here? So how this can be done the same way ("match")?
> qcom,wcnss.yaml. What constraints are you expecting here?
So you take the latest binding, e.g. pas-common for all new platforms.
Or qcom,qcs404-cdsp-pil.yaml. You need maxItems here and list of items
for the names.
>
>>> + description: States used by the AP to signal the remote processor
>>> +
>>> + qcom,smem-state-names:
>>> + description:
>>> + Names of the states used by the AP to signal the remote processor
>>> +
>>> + glink-edge:
>>> + $ref: /schemas/remoteproc/qcom,glink-edge.yaml#
>>> + description:
>>> + Qualcomm G-Link subnode which represents communication edge, channels
>>> + and devices related to the Modem.
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> + - reg-names
>>> + - interrupts-extended
>>> + - interrupt-names
>>> + - memory-region
>>> + - qcom,halt-regs
>>> + - qcom,smem-states
>>> + - qcom,smem-state-names
>>> +
>>> +allOf:
>>
>> Seems you do not reference other schemas. I am going to repeat myself
>> for 10th time: are you sure you followed other devices?
>
> It's the sixth time, but I see your point. Comparing to
> qcom,qcs404-cdsp-pil.yaml or qcom,wcnss.yaml, I can't see what's
> missing. What do I need here?
In previous cases you did not look at other binding, so I am questioning
now everything.
>
>>
>>> + - if:
>>> + properties:
>>> + compatible:
>>> + contains:
>>> + enum:
>>> + - qcom,ipq8074-wcss-pil
>>> + then:
>>> + properties:
>>> + qcom,smem-states:
>>> + items:
>>> + - description: Shutdown Q6
>>> + - description: Stop Q6
>>> + qcom,smem-state-names:
>>> + items:
>>> + - const: shutdown
>>> + - const: stop
>>
>> Missing clocks
>
> The text binding that this replaces implies no clocks for IPQ8074. What
> would you like me to add instead?
Disallow the clocks. See example-schema.
>
>> Missing blank line
>>
>>> + - if:
>>> + properties:
>>> + compatible:
>>> + contains:
>>> + enum:
>>> + - qcom,qcs404-wcss-pil
>>> + then:
>>> + properties:
>>> + qcom,smem-states:
>>> + maxItems: 1
>>> + qcom,smem-state-names:
>>> + items:
>>> + - const: stop
>>
>>> +
>>> + - if:
>>> + properties:
>>> + compatible:
>>> + contains:
>>> + enum:
>>> + - qcom,qcs404-wcss-pil
>>> + then:
>>> + properties:
>>> + clocks:
>>> + minItems: 10
>>> + maxItems: 10
>>> + clock-names:
>>> + items:
>>> + - const: xo
>>> + - const: gcc_abhs_cbcr
>>> + - const: gcc_axim_cbcr
>>> + - const: lcc_ahbfabric_cbc
>>> + - const: tcsr_lcc_cbc
>>> + - const: lcc_abhs_cbc
>>> + - const: lcc_tcm_slave_cbc
>>> + - const: lcc_abhm_cbc
>>> + - const: lcc_axim_cbc
>>> + - const: lcc_bcr_sleep
>>
>> All this goes to previous if.
>
> Okay
>
>>> + required:
>>> + - clocks
>>> + - clock-names
>>> + - cx-supply
>>> +
>>> +additionalProperties: false
>>
>> Missing example.
>
> I plan to add the example in the next patch in the series that adds
> IPQ9547 binding. I don't have the resources to test IPQ8074 or QCS404,
> and I want to be sure that the example I add is tested.
I don't understand what example has anything to do with testing. We
speak here ONLY about this binding. I do not review other code. This
patch should have the example, but if you cannot come with one, because
it does not exist in any existing sources, then you should just say
that. You have entire commit msg to explain every unusual thing. And
testing something on a device is not a reason, because you do not test
the binding on a device.
Best regards,
Krzysztof
next prev parent reply other threads:[~2025-12-17 7:55 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-10 0:37 [PATCH RFC 0/3] remoteproc/qcom,q6v5: introduce IPQ9574 Alexandru Gagniuc
2025-12-10 0:37 ` [PATCH RFC 1/3] dt-bindings: remoteproc: qcom,ipq8074-wcss-pil: convert to DT schema Alexandru Gagniuc
2025-12-16 5:53 ` Krzysztof Kozlowski
2025-12-17 5:01 ` Alex G.
2025-12-17 7:55 ` Krzysztof Kozlowski [this message]
2025-12-17 22:22 ` mr.nuke.me
2025-12-18 6:46 ` Krzysztof Kozlowski
2025-12-10 0:37 ` [PATCH RFC 2/3] dt-bindings: remoteproc: qcom: add IPQ9574 image loader Alexandru Gagniuc
2025-12-10 0:37 ` [PATCH RFC 3/3] arm64: dts: qcom: ipq8074: add remoteproc nodes Alexandru Gagniuc
2025-12-10 4:04 ` Dmitry Baryshkov
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=a4e0bc9b-1482-49ac-8454-39edeaf3b676@kernel.org \
--to=krzk@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=mr.nuke.me@gmail.com \
--cc=robh@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox