Re: [PATCH v4 1/4] dt-bindings: Introduce SoC sleep stats bindings

From: Stephen Boyd
Date: Mon Mar 09 2020 - 14:23:10 EST


Quoting Maulik Shah (2020-03-09 04:14:14)
> From: Mahesh Sivasubramanian <msivasub@xxxxxxxxxxxxxx>
>
> Add device binding documentation for Qualcomm Technologies, Inc. (QTI)
> SoC sleep stats driver. The driver is used for displaying SoC sleep
> statistic maintained by Always On Processor or Resource Power Manager.
>
> Cc: devicetree@xxxxxxxxxxxxxxx
> Signed-off-by: Mahesh Sivasubramanian <msivasub@xxxxxxxxxxxxxx>
> Signed-off-by: Lina Iyer <ilina@xxxxxxxxxxxxxx>
> Signed-off-by: Maulik Shah <mkshah@xxxxxxxxxxxxxx>
> Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> ---
> .../bindings/soc/qcom/soc-sleep-stats.yaml | 46 ++++++++++++++++++++++
> 1 file changed, 46 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/soc/qcom/soc-sleep-stats.yaml
>
> diff --git a/Documentation/devicetree/bindings/soc/qcom/soc-sleep-stats.yaml b/Documentation/devicetree/bindings/soc/qcom/soc-sleep-stats.yaml
> new file mode 100644
> index 00000000..7c29c61
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/qcom/soc-sleep-stats.yaml
> @@ -0,0 +1,46 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/qcom/soc-sleep-stats.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm Technologies, Inc. (QTI) SoC sleep stats bindings
> +
> +maintainers:
> + - Maulik Shah <mkshah@xxxxxxxxxxxxxx>
> + - Lina Iyer <ilina@xxxxxxxxxxxxxx>
> +
> +description:
> + Always On Processor/Resource Power Manager maintains statistics of the SoC
> + sleep modes involving powering down of the rails and oscillator clock.
> +
> + Statistics includes SoC sleep mode type, number of times low power mode were
> + entered, time of last entry, time of last exit and accumulated sleep duration.
> +
> +properties:
> + compatible:
> + enum:
> + - qcom,rpmh-sleep-stats
> + - qcom,rpm-sleep-stats
> +
> + reg:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> +
> +examples:
> + # Example of rpmh sleep stats
> + - |
> + rpmh_sleep_stats@c3f0000 {
> + compatible = "qcom,rpmh-sleep-stats";
> + reg = <0 0xc3f0000 0 0x400>;
> + };
> + # Example of rpm sleep stats
> + - |
> + rpm_sleep_stats@4690000 {

Node names don't have underscores. It really feels like we should be able
to get away with not having this device node at all. Why can't we have
the rpm message ram be a node that covers the entire range and then have
that either create a platform device for debugfs stats or just have it
register the stat information from whatever driver attaches to that
node?

Carving this up into multiple nodes and making compatible strings
doesn't seem very useful here because we're essentially making device
nodes in DT for logical software components that exist in the rpm
message ram.