lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4bbc7303-759f-4e00-a397-d233a013f620@gmail.com>
Date: Wed, 17 Dec 2025 16:22:42 -0600
From: mr.nuke.me@...il.com
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org,
 devicetree@...r.kernel.org, Bjorn Andersson <andersson@...nel.org>,
 Mathieu Poirier <mathieu.poirier@...aro.org>, konradybcio@...nel.org,
 linux-arm-msm@...r.kernel.org, linux-remoteproc@...r.kernel.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH RFC 1/3] dt-bindings: remoteproc: qcom,ipq8074-wcss-pil:
 convert to DT schema



On 12/17/25 1:55 AM, Krzysztof Kozlowski wrote:
> 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@...nel.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.

get_maintainers on qcom,q6v5.txt gives five generic subsystem 
maintainers, and you are on of them! I'll take something more specific, 
but just defaulting to get_maintainers is not helpful here.

>> 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.

Thank you for confirming you do not wish to be listed as the maintainer 
here.

>>>> +
>>>> +  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.

No. It's a clarifying question with additional context. I think I should 
be expected to ask them when I still have doubts.
>>>> +  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.

Okay. I wasn't sure if that's the appropriate solution when QCS404 and 
IPQ8074 take a different number of smem-states.
>>
>>>> +    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.I resent the accusation. I looked at several other bindings to see the 
best way to write this one in a manner that also works with "make 
dt_binding_check". I have done my homework, and think it is unproductive 
to accuse me of not doing it because I did not do it to your standards 
or liking.

>>
>>>
>>>> +  - 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.

Okay. Makes sense (clocks: false).

>>
>>> 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.

I will mention this discrepant in the commit message.

> Best regards,
> Krzysztof


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ