Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The schema documents a runtime restriction for `qcom,qup-multi-owner` but fails to enforce it programmatically, allowing invalid device trees to pass validation.
--
--- Patch [1]: [PATCH v9 1/4] dt-bindings: i2c: qcom,i2c-geni: Document multi-owner controller support ---
commit 744011d8e769def492430680cc665ca844b312d6
Author: Mukesh Kumar Savaliya <[email protected]>
dt-bindings: i2c: qcom,i2c-geni: Document multi-owner controller support
This commit documents a new qcom,qup-multi-owner property for QUP-based I2C
controllers that are shared with other system processors. It instructs the
operating system to avoid assuming exclusive ownership of the hardware.
> diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
> index 51534953a69cf..ed9b029603fdf 100644
> --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
> +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
[ ... ]
> @@ -60,6 +60,22 @@ properties:
> power-domains:
> maxItems: 1
>
> + qcom,qup-multi-owner:
> + type: boolean
> + description:
> + Indicates that the QUP-based controller is shared with one or more
> + other system processors and must not be assumed to have exclusive
> + ownership by the operating system.
> +
> + The associated GPIOs must not be reconfigured into a sleep state
> + during runtime suspend, as doing so may disrupt transactions
> + initiated by another owner of the controller.
[Severity: Medium]
The prose correctly documents that the GPIOs must not be put into a sleep
state when this property is present, but should this be enforced
programmatically in the schema?
Without an allOf conditional block restricting pinctrl-names to maxItems: 1
and disallowing pinctrl-1, device trees that mistakenly provide a sleep
pinctrl state alongside qcom,qup-multi-owner will silently pass
dt_binding_check and dtbs_check.
At runtime, the power management core would then automatically apply the sleep
state during runtime suspend, which disrupts the hardware as warned against in
the description.
> +
> + Each owner is responsible for maintaining any resource votes
> + required for operation of the shared controller (for example clocks,
> + power domains, interconnect bandwidth, or other platform-specific
> + resources)
>
> reg:
> maxItems: 1
--
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.