* [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs @ 2022-09-21 1:56 Yinbo Zhu 2022-09-21 1:56 ` [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema Yinbo Zhu ` (2 more replies) 0 siblings, 3 replies; 19+ messages in thread From: Yinbo Zhu @ 2022-09-21 1:56 UTC (permalink / raw) To: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski, linux-pm, devicetree, linux-kernel Cc: zhanghongchen, Yinbo Zhu Add zhanghongchen and myself as maintainer of the loongson2 SoC series thermal driver. Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> --- Change in v2: 1. Update file name. MAINTAINERS | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 589517372408..63076e12c91a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -11899,6 +11899,14 @@ F: drivers/*/*loongarch* F: Documentation/loongarch/ F: Documentation/translations/zh_CN/loongarch/ +LOONGSON2 SOC SERIES THERMAL DRIVER +M: zhanghongchen <zhanghongchen@loongson.cn> +M: Yinbo Zhu <zhuyinbo@loongson.cn> +L: linux-pm@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml +F: drivers/thermal/loongson2_thermal.c + LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) M: Sathya Prakash <sathya.prakash@broadcom.com> M: Sreekanth Reddy <sreekanth.reddy@broadcom.com> -- 2.31.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-21 1:56 [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs Yinbo Zhu @ 2022-09-21 1:56 ` Yinbo Zhu 2022-09-21 6:59 ` Krzysztof Kozlowski 2022-09-21 7:05 ` Krzysztof Kozlowski 2022-09-21 1:56 ` [PATCH v2 3/3] thermal: loongson2: add thermal management support Yinbo Zhu 2022-09-21 2:06 ` [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs Joe Perches 2 siblings, 2 replies; 19+ messages in thread From: Yinbo Zhu @ 2022-09-21 1:56 UTC (permalink / raw) To: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski, linux-pm, devicetree, linux-kernel Cc: zhanghongchen, Yinbo Zhu Convert the loongson2 thermal binding to DT schema format using json-schema. Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> --- Change in v2: 1. Add description and type about the "id". 2. Make the filename was based on compatible. .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml new file mode 100644 index 000000000000..2994ae3a56aa --- /dev/null +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml @@ -0,0 +1,52 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Thermal sensors on loongson2 SoCs + +maintainers: + - zhanghongchen <zhanghongchen@loongson.cn> + - Yinbo Zhu <zhuyinbo@loongson.cn> + +properties: + compatible: + const: loongson,loongson2-thermal + + reg: + maxItems: 1 + + id: + $ref: '//schemas/types.yaml#/definitions/uint32' + description: | + Specify the thermal sensor id. + minimum: 0 + maximum: 3 + + interrupts: + maxItems: 1 + + "#thermal-sensor-cells": + const: 1 + +required: + - compatible + - reg + - id + - interrupt-parent + - interrupts + - '#thermal-sensor-cells' + +additionalProperties: false + +examples: + - | + thermal: thermal@1fe01500 { + compatible = "loongson,loongson2-thermal"; + reg = <0 0x1fe01500 0 0x30>; + id = <0>; + interrupt-parent = <&icu>; + interrupts = <7>; + #thermal-sensor-cells = <1>; + }; -- 2.31.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-21 1:56 ` [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema Yinbo Zhu @ 2022-09-21 6:59 ` Krzysztof Kozlowski 2022-09-21 7:05 ` Krzysztof Kozlowski 1 sibling, 0 replies; 19+ messages in thread From: Krzysztof Kozlowski @ 2022-09-21 6:59 UTC (permalink / raw) To: Yinbo Zhu Cc: Amit Kucheria, Rafael J . Wysocki, Zhang Rui, linux-pm, zhanghongchen, Daniel Lezcano, linux-kernel, Krzysztof Kozlowski, devicetree, Rob Herring On Wed, 21 Sep 2022 09:56:04 +0800, Yinbo Zhu wrote: > Convert the loongson2 thermal binding to DT schema format using > json-schema. > > Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> > --- > Change in v2: > 1. Add description and type about the "id". > 2. Make the filename was based on compatible. > > .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ > 1 file changed, 52 insertions(+) > create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > 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: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml: properties:id:$ref: '//schemas/types.yaml#/definitions/uint32' does not match '^(/schemas/|\\.\\./|#(/|$)|[a-zA-Z0-9]+)' from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# ./Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml: <urlopen error [Errno -2] Name or service not known> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml: ignoring, error in schema: properties: id: $ref Documentation/devicetree/bindings/thermal/loongson2-thermal.example.dtb:0:0: /example-0/thermal@1fe01500: failed to match any schema with compatible: ['loongson,loongson2-thermal'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/ This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-21 1:56 ` [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema Yinbo Zhu 2022-09-21 6:59 ` Krzysztof Kozlowski @ 2022-09-21 7:05 ` Krzysztof Kozlowski 2022-09-21 9:22 ` 朱银波 1 sibling, 1 reply; 19+ messages in thread From: Krzysztof Kozlowski @ 2022-09-21 7:05 UTC (permalink / raw) To: Yinbo Zhu, Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski, linux-pm, devicetree, linux-kernel Cc: zhanghongchen On 21/09/2022 03:56, Yinbo Zhu wrote: > Convert the loongson2 thermal binding to DT schema format using > json-schema. Incorrect subject and incorrect commit msg. There is no conversion here. > > Signed-off-by: Yinbo Zhu <c> > --- > Change in v2: > 1. Add description and type about the "id". > 2. Make the filename was based on compatible. > > .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ > 1 file changed, 52 insertions(+) > create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > > diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > new file mode 100644 > index 000000000000..2994ae3a56aa > --- /dev/null > +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml No improvements here. You ignore my comments, so I am going to NAK it. > @@ -0,0 +1,52 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Thermal sensors on loongson2 SoCs > + > +maintainers: > + - zhanghongchen <zhanghongchen@loongson.cn> > + - Yinbo Zhu <zhuyinbo@loongson.cn> > + > +properties: > + compatible: > + const: loongson,loongson2-thermal > + > + reg: > + maxItems: 1 > + > + id: > + $ref: '//schemas/types.yaml#/definitions/uint32' No improvements here, so let me be specific - you need to really justify such property or it cannot go to schema. > + description: | > + Specify the thermal sensor id. > + minimum: 0 > + maximum: 3 > + > + interrupts: > + maxItems: 1 > + > + "#thermal-sensor-cells": > + const: 1 > + > +required: > + - compatible > + - reg > + - id > + - interrupt-parent Why? > + - interrupts > + - '#thermal-sensor-cells' Use the same style of quote: ' or ". > + > +additionalProperties: false > + > +examples: > + - | > + thermal: thermal@1fe01500 { How other similar nodes are named (in other DTS files)? Best regards, Krzysztof ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-21 7:05 ` Krzysztof Kozlowski @ 2022-09-21 9:22 ` 朱银波 2022-09-21 9:31 ` Krzysztof Kozlowski 0 siblings, 1 reply; 19+ messages in thread From: 朱银波 @ 2022-09-21 9:22 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen > -----原始邮件----- > 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> > 发送时间:2022-09-21 15:05:00 (星期三) > 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org > 抄送: zhanghongchen <zhanghongchen@loongson.cn> > 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > > On 21/09/2022 03:56, Yinbo Zhu wrote: > > Convert the loongson2 thermal binding to DT schema format using > > json-schema. > > Incorrect subject and incorrect commit msg. There is no conversion here. Our soc architecture is the loongson2 series, so we will modify it accordingly. > > > > > Signed-off-by: Yinbo Zhu <c> > > --- > > Change in v2: > > 1. Add description and type about the "id". > > 2. Make the filename was based on compatible. > > > > .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ > > 1 file changed, 52 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > > > > diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > > new file mode 100644 > > index 000000000000..2994ae3a56aa > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > > > No improvements here. You ignore my comments, so I am going to NAK it. I don't get your point, that dts compatible is "loongson,loongson2-thermal", so this driver file name is named loongson2-thermal that according what you said about "Filename based on compatible." If what I understand is not what you expect, please tell me how to modify it. > > > > @@ -0,0 +1,52 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Thermal sensors on loongson2 SoCs > > + > > +maintainers: > > + - zhanghongchen <zhanghongchen@loongson.cn> > > + - Yinbo Zhu <zhuyinbo@loongson.cn> > > + > > +properties: > > + compatible: > > + const: loongson,loongson2-thermal > > + > > + reg: > > + maxItems: 1 > > + > > + id: > > + $ref: '//schemas/types.yaml#/definitions/uint32' > > No improvements here, so let me be specific - you need to really justify > such property or it cannot go to schema. The loongson2_thermal.c driver need parse this "id" property. > > > + description: | > > + Specify the thermal sensor id. > > + minimum: 0 > > + maximum: 3 > > + > > + interrupts: > > + maxItems: 1 > > + > > + "#thermal-sensor-cells": > > + const: 1 > > + > > +required: > > + - compatible > > + - reg > > + - id > > + - interrupt-parent > > Why? The interrupts of our dts do not specify an interrupt parent, eg. interrupts = <7 IRQ_TYPE_LEVEL_LOW> so we need to add an interrupt parent property. > > > + - interrupts > > + - '#thermal-sensor-cells' > > Use the same style of quote: ' or ". okay, I will have a change. > > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + thermal: thermal@1fe01500 { > > How other similar nodes are named (in other DTS files)? I refer qoriq platform, tmu@f0000 { compatible = "fsl,qoriq-tmu"; You mean to modify it like this - thermal: thermal@1fe01500 { + thermal@1fe01500 { right ? Thanks, yinbo. BRs. > > > > Best regards, > Krzysztof 本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-21 9:22 ` 朱银波 @ 2022-09-21 9:31 ` Krzysztof Kozlowski 2022-09-22 1:39 ` 朱银波 0 siblings, 1 reply; 19+ messages in thread From: Krzysztof Kozlowski @ 2022-09-21 9:31 UTC (permalink / raw) To: 朱银波 Cc: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen On 21/09/2022 11:22, 朱银波 wrote: >> -----原始邮件----- >> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> >> 发送时间:2022-09-21 15:05:00 (星期三) >> 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org >> 抄送: zhanghongchen <zhanghongchen@loongson.cn> >> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >> >> On 21/09/2022 03:56, Yinbo Zhu wrote: >>> Convert the loongson2 thermal binding to DT schema format using >>> json-schema. >> >> Incorrect subject and incorrect commit msg. There is no conversion here. > Our soc architecture is the loongson2 series, so we will modify it accordingly. How the soc architecture is related to my comment that you do not perform conversion? > >> >>> >>> Signed-off-by: Yinbo Zhu <c> >>> --- >>> Change in v2: >>> 1. Add description and type about the "id". >>> 2. Make the filename was based on compatible. >>> >>> .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ >>> 1 file changed, 52 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>> new file mode 100644 >>> index 000000000000..2994ae3a56aa >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >> >> >> No improvements here. You ignore my comments, so I am going to NAK it. > I don't get your point, that dts compatible is "loongson,loongson2-thermal", so this driver file name is named > loongson2-thermal that according what you said about "Filename based on compatible." > If what I understand is not what you expect, please tell me how to modify it. Filename must match the compatible, so: loongson,loongson2-thermal.yaml >> >> >>> @@ -0,0 +1,52 @@ >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>> +%YAML 1.2 >>> +--- >>> +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>> + >>> +title: Thermal sensors on loongson2 SoCs >>> + >>> +maintainers: >>> + - zhanghongchen <zhanghongchen@loongson.cn> >>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>> + >>> +properties: >>> + compatible: >>> + const: loongson,loongson2-thermal >>> + >>> + reg: >>> + maxItems: 1 >>> + >>> + id: >>> + $ref: '//schemas/types.yaml#/definitions/uint32' >> >> No improvements here, so let me be specific - you need to really justify >> such property or it cannot go to schema. > The loongson2_thermal.c driver need parse this "id" property. This is not reason to add properties to DT. DT describes the hardware, not driver behavior. Why hardware needs arbitrary, additional addressing number instead of standard unit address? >> >>> + description: | >>> + Specify the thermal sensor id. >>> + minimum: 0 >>> + maximum: 3 >>> + >>> + interrupts: >>> + maxItems: 1 >>> + >>> + "#thermal-sensor-cells": >>> + const: 1 >>> + >>> +required: >>> + - compatible >>> + - reg >>> + - id >>> + - interrupt-parent >> >> Why? > The interrupts of our dts do not specify an interrupt parent, > eg. interrupts = <7 IRQ_TYPE_LEVEL_LOW> > so we need to add an interrupt parent property. You can add but I am asking why is it required? >> >>> + - interrupts >>> + - '#thermal-sensor-cells' >> >> Use the same style of quote: ' or ". > okay, I will have a change. >> >>> + >>> +additionalProperties: false >>> + >>> +examples: >>> + - | >>> + thermal: thermal@1fe01500 { >> >> How other similar nodes are named (in other DTS files)? > I refer qoriq platform, > tmu@f0000 { > compatible = "fsl,qoriq-tmu"; > > You mean to modify it like this > - thermal: thermal@1fe01500 { > + thermal@1fe01500 { > No, just thermal-sensor@1fe01500 Best regards, Krzysztof ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-21 9:31 ` Krzysztof Kozlowski @ 2022-09-22 1:39 ` 朱银波 2022-09-22 6:25 ` Krzysztof Kozlowski 2022-09-24 17:42 ` Rob Herring 0 siblings, 2 replies; 19+ messages in thread From: 朱银波 @ 2022-09-22 1:39 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen > -----原始邮件----- > 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> > 发送时间:2022-09-21 17:31:11 (星期三) > 收件人: "朱银波" <zhuyinbo@loongson.cn> > 抄送: "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> > 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > > On 21/09/2022 11:22, 朱银波 wrote: > >> -----原始邮件----- > >> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> > >> 发送时间:2022-09-21 15:05:00 (星期三) > >> 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org > >> 抄送: zhanghongchen <zhanghongchen@loongson.cn> > >> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > >> > >> On 21/09/2022 03:56, Yinbo Zhu wrote: > >>> Convert the loongson2 thermal binding to DT schema format using > >>> json-schema. > >> > >> Incorrect subject and incorrect commit msg. There is no conversion here. > > Our soc architecture is the loongson2 series, so we will modify it accordingly. > > How the soc architecture is related to my comment that you do not > perform conversion? I got it, and I will aad a conversion. > > > > >> > >>> > >>> Signed-off-by: Yinbo Zhu <c> > >>> --- > >>> Change in v2: > >>> 1. Add description and type about the "id". > >>> 2. Make the filename was based on compatible. > >>> > >>> .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ > >>> 1 file changed, 52 insertions(+) > >>> create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > >>> > >>> diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > >>> new file mode 100644 > >>> index 000000000000..2994ae3a56aa > >>> --- /dev/null > >>> +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > >> > >> > >> No improvements here. You ignore my comments, so I am going to NAK it. > > I don't get your point, that dts compatible is "loongson,loongson2-thermal", so this driver file name is named > > loongson2-thermal that according what you said about "Filename based on compatible." > > If what I understand is not what you expect, please tell me how to modify it. > > > Filename must match the compatible, so: loongson,loongson2-thermal.yaml I got it, and I will add a conversion. > > >> > >> > >>> @@ -0,0 +1,52 @@ > >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > >>> +%YAML 1.2 > >>> +--- > >>> +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# > >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >>> + > >>> +title: Thermal sensors on loongson2 SoCs > >>> + > >>> +maintainers: > >>> + - zhanghongchen <zhanghongchen@loongson.cn> > >>> + - Yinbo Zhu <zhuyinbo@loongson.cn> > >>> + > >>> +properties: > >>> + compatible: > >>> + const: loongson,loongson2-thermal > >>> + > >>> + reg: > >>> + maxItems: 1 > >>> + > >>> + id: > >>> + $ref: '//schemas/types.yaml#/definitions/uint32' > >> > >> No improvements here, so let me be specific - you need to really justify > >> such property or it cannot go to schema. > > The loongson2_thermal.c driver need parse this "id" property. > > This is not reason to add properties to DT. DT describes the hardware, > not driver behavior. > > Why hardware needs arbitrary, additional addressing number instead of > standard unit address? The loongson2 series soc supports up to four sensors, but the 2K1000 has only one sensor, so the ID must be 0. For the 2K1000, in order to distinguish the differences between different hardware in the Loongson2 SoC series, the ID is added to the dts > > >> > >>> + description: | > >>> + Specify the thermal sensor id. > >>> + minimum: 0 > >>> + maximum: 3 > >>> + > >>> + interrupts: > >>> + maxItems: 1 > >>> + > >>> + "#thermal-sensor-cells": > >>> + const: 1 > >>> + > >>> +required: > >>> + - compatible > >>> + - reg > >>> + - id > >>> + - interrupt-parent > >> > >> Why? > > The interrupts of our dts do not specify an interrupt parent, > > eg. interrupts = <7 IRQ_TYPE_LEVEL_LOW> > > so we need to add an interrupt parent property. > > You can add but I am asking why is it required? Since there is more than one interrupt controller in the Loongson2 series soc, that need to specify the interrupt controller in the dts, that is, the interrupt parent. If different interrupt parents are used in dts, the interrupt numbers are different. > > >> > >>> + - interrupts > >>> + - '#thermal-sensor-cells' > >> > >> Use the same style of quote: ' or ". > > okay, I will have a change. > >> > >>> + > >>> +additionalProperties: false > >>> + > >>> +examples: > >>> + - | > >>> + thermal: thermal@1fe01500 { > >> > >> How other similar nodes are named (in other DTS files)? > > I refer qoriq platform, > > tmu@f0000 { > > compatible = "fsl,qoriq-tmu"; > > > > You mean to modify it like this > > - thermal: thermal@1fe01500 { > > + thermal@1fe01500 { > > > > No, just thermal-sensor@1fe01500 okay, I got it. > > > Best regards, > Krzysztof 本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-22 1:39 ` 朱银波 @ 2022-09-22 6:25 ` Krzysztof Kozlowski 2022-09-24 17:42 ` Rob Herring 1 sibling, 0 replies; 19+ messages in thread From: Krzysztof Kozlowski @ 2022-09-22 6:25 UTC (permalink / raw) To: 朱银波 Cc: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen On 22/09/2022 03:39, 朱银波 wrote: > > > >> -----原始邮件----- >> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> >> 发送时间:2022-09-21 17:31:11 (星期三) >> 收件人: "朱银波" <zhuyinbo@loongson.cn> >> 抄送: "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> >> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >> >> On 21/09/2022 11:22, 朱银波 wrote: >>>> -----原始邮件----- >>>> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> >>>> 发送时间:2022-09-21 15:05:00 (星期三) >>>> 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org >>>> 抄送: zhanghongchen <zhanghongchen@loongson.cn> >>>> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >>>> >>>> On 21/09/2022 03:56, Yinbo Zhu wrote: >>>>> Convert the loongson2 thermal binding to DT schema format using >>>>> json-schema. >>>> >>>> Incorrect subject and incorrect commit msg. There is no conversion here. >>> Our soc architecture is the loongson2 series, so we will modify it accordingly. >> >> How the soc architecture is related to my comment that you do not >> perform conversion? > I got it, and I will aad a conversion. >> >>> >>>> >>>>> >>>>> Signed-off-by: Yinbo Zhu <c> >>>>> --- >>>>> Change in v2: >>>>> 1. Add description and type about the "id". >>>>> 2. Make the filename was based on compatible. >>>>> >>>>> .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ >>>>> 1 file changed, 52 insertions(+) >>>>> create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>>> new file mode 100644 >>>>> index 000000000000..2994ae3a56aa >>>>> --- /dev/null >>>>> +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>> >>>> >>>> No improvements here. You ignore my comments, so I am going to NAK it. >>> I don't get your point, that dts compatible is "loongson,loongson2-thermal", so this driver file name is named >>> loongson2-thermal that according what you said about "Filename based on compatible." >>> If what I understand is not what you expect, please tell me how to modify it. >> >> >> Filename must match the compatible, so: loongson,loongson2-thermal.yaml > I got it, and I will add a conversion. >> >>>> >>>> >>>>> @@ -0,0 +1,52 @@ >>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>>> +%YAML 1.2 >>>>> +--- >>>>> +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# >>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>> + >>>>> +title: Thermal sensors on loongson2 SoCs >>>>> + >>>>> +maintainers: >>>>> + - zhanghongchen <zhanghongchen@loongson.cn> >>>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>>> + >>>>> +properties: >>>>> + compatible: >>>>> + const: loongson,loongson2-thermal >>>>> + >>>>> + reg: >>>>> + maxItems: 1 >>>>> + >>>>> + id: >>>>> + $ref: '//schemas/types.yaml#/definitions/uint32' >>>> >>>> No improvements here, so let me be specific - you need to really justify >>>> such property or it cannot go to schema. >>> The loongson2_thermal.c driver need parse this "id" property. >> >> This is not reason to add properties to DT. DT describes the hardware, >> not driver behavior. >> >> Why hardware needs arbitrary, additional addressing number instead of >> standard unit address? > The loongson2 series soc supports up to four sensors, but the 2K1000 has only one sensor, so the ID must be 0. > For the 2K1000, in order to distinguish the differences between different hardware in the Loongson2 SoC series, > the ID is added to the dts That's not an explanation at all. All other SoCs have multiple sensors and we do not have such "id" fields. >> >>>> >>>>> + description: | >>>>> + Specify the thermal sensor id. >>>>> + minimum: 0 >>>>> + maximum: 3 >>>>> + >>>>> + interrupts: >>>>> + maxItems: 1 >>>>> + >>>>> + "#thermal-sensor-cells": >>>>> + const: 1 >>>>> + >>>>> +required: >>>>> + - compatible >>>>> + - reg >>>>> + - id >>>>> + - interrupt-parent >>>> >>>> Why? >>> The interrupts of our dts do not specify an interrupt parent, >>> eg. interrupts = <7 IRQ_TYPE_LEVEL_LOW> >>> so we need to add an interrupt parent property. >> >> You can add but I am asking why is it required? > Since there is more than one interrupt controller in the Loongson2 series soc, that need to specify the interrupt > controller in the dts, that is, the interrupt parent. If different interrupt parents are used in dts, the interrupt > numbers are different. You describe now the overall SoC, but this is a schema for a device, not entire SoC. I still do not see why interrupt-parent is necessary for this device. > This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. You keep ignoring this one. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-22 1:39 ` 朱银波 2022-09-22 6:25 ` Krzysztof Kozlowski @ 2022-09-24 17:42 ` Rob Herring 2022-09-26 4:00 ` Yinbo Zhu 1 sibling, 1 reply; 19+ messages in thread From: Rob Herring @ 2022-09-24 17:42 UTC (permalink / raw) To: 朱银波 Cc: Krzysztof Kozlowski, Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen On Thu, Sep 22, 2022 at 09:39:30AM +0800, 朱银波 wrote: > > > > > -----原始邮件----- > > 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> > > 发送时间:2022-09-21 17:31:11 (星期三) > > 收件人: "朱银波" <zhuyinbo@loongson.cn> > > 抄送: "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> > > 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > > > > On 21/09/2022 11:22, 朱银波 wrote: > > >> -----原始邮件----- > > >> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> > > >> 发送时间:2022-09-21 15:05:00 (星期三) > > >> 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org > > >> 抄送: zhanghongchen <zhanghongchen@loongson.cn> > > >> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > > >> > > >> On 21/09/2022 03:56, Yinbo Zhu wrote: > > >>> Convert the loongson2 thermal binding to DT schema format using > > >>> json-schema. > > >> > > >> Incorrect subject and incorrect commit msg. There is no conversion here. > > > Our soc architecture is the loongson2 series, so we will modify it accordingly. > > > > How the soc architecture is related to my comment that you do not > > perform conversion? > I got it, and I will aad a conversion. > > > > > > > >> > > >>> > > >>> Signed-off-by: Yinbo Zhu <c> > > >>> --- > > >>> Change in v2: > > >>> 1. Add description and type about the "id". > > >>> 2. Make the filename was based on compatible. > > >>> > > >>> .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ > > >>> 1 file changed, 52 insertions(+) > > >>> create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > > >>> > > >>> diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > > >>> new file mode 100644 > > >>> index 000000000000..2994ae3a56aa > > >>> --- /dev/null > > >>> +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > > >> > > >> > > >> No improvements here. You ignore my comments, so I am going to NAK it. > > > I don't get your point, that dts compatible is "loongson,loongson2-thermal", so this driver file name is named > > > loongson2-thermal that according what you said about "Filename based on compatible." > > > If what I understand is not what you expect, please tell me how to modify it. > > > > > > Filename must match the compatible, so: loongson,loongson2-thermal.yaml > I got it, and I will add a conversion. > > > > >> > > >> > > >>> @@ -0,0 +1,52 @@ > > >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > >>> +%YAML 1.2 > > >>> +--- > > >>> +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# > > >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# > > >>> + > > >>> +title: Thermal sensors on loongson2 SoCs > > >>> + > > >>> +maintainers: > > >>> + - zhanghongchen <zhanghongchen@loongson.cn> > > >>> + - Yinbo Zhu <zhuyinbo@loongson.cn> > > >>> + > > >>> +properties: > > >>> + compatible: > > >>> + const: loongson,loongson2-thermal > > >>> + > > >>> + reg: > > >>> + maxItems: 1 > > >>> + > > >>> + id: > > >>> + $ref: '//schemas/types.yaml#/definitions/uint32' > > >> > > >> No improvements here, so let me be specific - you need to really justify > > >> such property or it cannot go to schema. > > > The loongson2_thermal.c driver need parse this "id" property. > > > > This is not reason to add properties to DT. DT describes the hardware, > > not driver behavior. > > > > Why hardware needs arbitrary, additional addressing number instead of > > standard unit address? > The loongson2 series soc supports up to four sensors, but the 2K1000 has only one sensor, so the ID must be 0. > For the 2K1000, in order to distinguish the differences between different hardware in the Loongson2 SoC series, > the ID is added to the dts Differences in SoCs is what 'compatible' is for. If 'loongson2' is not a specific SoC, then your compatible string is not specific enough. > > > > >> > > >>> + description: | > > >>> + Specify the thermal sensor id. > > >>> + minimum: 0 > > >>> + maximum: 3 > > >>> + > > >>> + interrupts: > > >>> + maxItems: 1 > > >>> + > > >>> + "#thermal-sensor-cells": > > >>> + const: 1 If one SoC only has 1 sensor, then this could be 0. However, you don't have to do that, but it's another way to distinguish differences. > > >>> + > > >>> +required: > > >>> + - compatible > > >>> + - reg > > >>> + - id > > >>> + - interrupt-parent > > >> > > >> Why? > > > The interrupts of our dts do not specify an interrupt parent, > > > eg. interrupts = <7 IRQ_TYPE_LEVEL_LOW> > > > so we need to add an interrupt parent property. > > > > You can add but I am asking why is it required? > Since there is more than one interrupt controller in the Loongson2 series soc, that need to specify the interrupt > controller in the dts, that is, the interrupt parent. If different interrupt parents are used in dts, the interrupt > numbers are different. It is perfectly valid for the 'interrupt-parent' to be in *any* parent node. So it is never required by any binding. Rob ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Re: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-24 17:42 ` Rob Herring @ 2022-09-26 4:00 ` Yinbo Zhu 2022-09-26 6:21 ` Krzysztof Kozlowski 0 siblings, 1 reply; 19+ messages in thread From: Yinbo Zhu @ 2022-09-26 4:00 UTC (permalink / raw) To: Rob Herring Cc: Krzysztof Kozlowski, Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen, Yinbo Zhu, 刘佩宝 > -----原始邮件----- > 发件人: "Rob Herring" <robh@kernel.org> > 发送时间:2022-09-25 01:42:58 (星期日) > 收件人: "朱银波" <zhuyinbo@loongson.cn> > 抄送: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> > 主题: Re: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > > On Thu, Sep 22, 2022 at 09:39:30AM +0800, 朱银波 wrote: > > > > > > > > > -----原始邮件----- > > > 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> > > > 发送时间:2022-09-21 17:31:11 (星期三) > > > 收件人: "朱银波" <zhuyinbo@loongson.cn> > > > 抄送: "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> > > > 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > > > > > > On 21/09/2022 11:22, 朱银波 wrote: > > > >> -----原始邮件----- > > > >> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> > > > >> 发送时间:2022-09-21 15:05:00 (星期三) > > > >> 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org > > > >> 抄送: zhanghongchen <zhanghongchen@loongson.cn> > > > >> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > > > >> > > > >> On 21/09/2022 03:56, Yinbo Zhu wrote: > > > >>> Convert the loongson2 thermal binding to DT schema format using > > > >>> json-schema. > > > >> > > > >> Incorrect subject and incorrect commit msg. There is no conversion here. > > > > Our soc architecture is the loongson2 series, so we will modify it accordingly. > > > > > > How the soc architecture is related to my comment that you do not > > > perform conversion? > > I got it, and I will aad a conversion. > > > > > > > > > > >> > > > >>> > > > >>> Signed-off-by: Yinbo Zhu <c> > > > >>> --- > > > >>> Change in v2: > > > >>> 1. Add description and type about the "id". > > > >>> 2. Make the filename was based on compatible. > > > >>> > > > >>> .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ > > > >>> 1 file changed, 52 insertions(+) > > > >>> create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > > > >>> > > > >>> diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > > > >>> new file mode 100644 > > > >>> index 000000000000..2994ae3a56aa > > > >>> --- /dev/null > > > >>> +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > > > >> > > > >> > > > >> No improvements here. You ignore my comments, so I am going to NAK it. > > > > I don't get your point, that dts compatible is "loongson,loongson2-thermal", so this driver file name is named > > > > loongson2-thermal that according what you said about "Filename based on compatible." > > > > If what I understand is not what you expect, please tell me how to modify it. > > > > > > > > > Filename must match the compatible, so: loongson,loongson2-thermal.yaml > > I got it, and I will add a conversion. > > > > > > >> > > > >> > > > >>> @@ -0,0 +1,52 @@ > > > >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > > >>> +%YAML 1.2 > > > >>> +--- > > > >>> +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# > > > >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > >>> + > > > >>> +title: Thermal sensors on loongson2 SoCs > > > >>> + > > > >>> +maintainers: > > > >>> + - zhanghongchen <zhanghongchen@loongson.cn> > > > >>> + - Yinbo Zhu <zhuyinbo@loongson.cn> > > > >>> + > > > >>> +properties: > > > >>> + compatible: > > > >>> + const: loongson,loongson2-thermal > > > >>> + > > > >>> + reg: > > > >>> + maxItems: 1 > > > >>> + > > > >>> + id: > > > >>> + $ref: '//schemas/types.yaml#/definitions/uint32' > > > >> > > > >> No improvements here, so let me be specific - you need to really justify > > > >> such property or it cannot go to schema. > > > > The loongson2_thermal.c driver need parse this "id" property. > > > > > > This is not reason to add properties to DT. DT describes the hardware, > > > not driver behavior. > > > > > > Why hardware needs arbitrary, additional addressing number instead of > > > standard unit address? > > The loongson2 series soc supports up to four sensors, but the 2K1000 has only one sensor, so the ID must be 0. > > For the 2K1000, in order to distinguish the differences between different hardware in the Loongson2 SoC series, > > the ID is added to the dts > > Differences in SoCs is what 'compatible' is for. If 'loongson2' is not a > specific SoC, then your compatible string is not specific enough. If other loongson2 platforms are different from the thermal sensor, I will add compatible "loongson,loongson2-thermal-xxx", please you note. > > > > > > > >> > > > >>> + description: | > > > >>> + Specify the thermal sensor id. > > > >>> + minimum: 0 > > > >>> + maximum: 3 > > > >>> + > > > >>> + interrupts: > > > >>> + maxItems: 1 > > > >>> + > > > >>> + "#thermal-sensor-cells": > > > >>> + const: 1 > > If one SoC only has 1 sensor, then this could be 0. However, you don't > have to do that, but it's another way to distinguish differences. okay ,I got it. > > > > >>> + > > > >>> +required: > > > >>> + - compatible > > > >>> + - reg > > > >>> + - id > > > >>> + - interrupt-parent > > > >> > > > >> Why? > > > > The interrupts of our dts do not specify an interrupt parent, > > > > eg. interrupts = <7 IRQ_TYPE_LEVEL_LOW> > > > > so we need to add an interrupt parent property. > > > > > > You can add but I am asking why is it required? > > Since there is more than one interrupt controller in the Loongson2 series soc, that need to specify the interrupt > > controller in the dts, that is, the interrupt parent. If different interrupt parents are used in dts, the interrupt > > numbers are different. > > It is perfectly valid for the 'interrupt-parent' to be in *any* parent > node. So it is never required by any binding. I don't get your meaning, You mean I can add it in the dts, but I don't need to add it in the binding file, right? > > Rob 本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-26 4:00 ` Yinbo Zhu @ 2022-09-26 6:21 ` Krzysztof Kozlowski 2022-09-26 8:38 ` Yinbo Zhu 2022-09-27 11:08 ` Yinbo Zhu 0 siblings, 2 replies; 19+ messages in thread From: Krzysztof Kozlowski @ 2022-09-26 6:21 UTC (permalink / raw) To: Yinbo Zhu, Rob Herring Cc: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen, 刘佩宝 On 26/09/2022 06:00, Yinbo Zhu wrote: > > > >> -----原始邮件----- >> 发件人: "Rob Herring" <robh@kernel.org> >> 发送时间:2022-09-25 01:42:58 (星期日) >> 收件人: "朱银波" <zhuyinbo@loongson.cn> >> 抄送: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> >> 主题: Re: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >> >> On Thu, Sep 22, 2022 at 09:39:30AM +0800, 朱银波 wrote: >>> >>> >>> >>>> -----原始邮件----- >>>> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> >>>> 发送时间:2022-09-21 17:31:11 (星期三) >>>> 收件人: "朱银波" <zhuyinbo@loongson.cn> >>>> 抄送: "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> >>>> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >>>> >>>> On 21/09/2022 11:22, 朱银波 wrote: >>>>>> -----原始邮件----- >>>>>> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> >>>>>> 发送时间:2022-09-21 15:05:00 (星期三) >>>>>> 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org >>>>>> 抄送: zhanghongchen <zhanghongchen@loongson.cn> >>>>>> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >>>>>> >>>>>> On 21/09/2022 03:56, Yinbo Zhu wrote: >>>>>>> Convert the loongson2 thermal binding to DT schema format using >>>>>>> json-schema. >>>>>> >>>>>> Incorrect subject and incorrect commit msg. There is no conversion here. >>>>> Our soc architecture is the loongson2 series, so we will modify it accordingly. >>>> >>>> How the soc architecture is related to my comment that you do not >>>> perform conversion? >>> I got it, and I will aad a conversion. >>>> >>>>> >>>>>> >>>>>>> >>>>>>> Signed-off-by: Yinbo Zhu <c> >>>>>>> --- >>>>>>> Change in v2: >>>>>>> 1. Add description and type about the "id". >>>>>>> 2. Make the filename was based on compatible. >>>>>>> >>>>>>> .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ >>>>>>> 1 file changed, 52 insertions(+) >>>>>>> create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>>>>> >>>>>>> diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>>>>> new file mode 100644 >>>>>>> index 000000000000..2994ae3a56aa >>>>>>> --- /dev/null >>>>>>> +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>>>> >>>>>> >>>>>> No improvements here. You ignore my comments, so I am going to NAK it. >>>>> I don't get your point, that dts compatible is "loongson,loongson2-thermal", so this driver file name is named >>>>> loongson2-thermal that according what you said about "Filename based on compatible." >>>>> If what I understand is not what you expect, please tell me how to modify it. >>>> >>>> >>>> Filename must match the compatible, so: loongson,loongson2-thermal.yaml >>> I got it, and I will add a conversion. >>>> >>>>>> >>>>>> >>>>>>> @@ -0,0 +1,52 @@ >>>>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>>>>> +%YAML 1.2 >>>>>>> +--- >>>>>>> +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# >>>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>>>> + >>>>>>> +title: Thermal sensors on loongson2 SoCs >>>>>>> + >>>>>>> +maintainers: >>>>>>> + - zhanghongchen <zhanghongchen@loongson.cn> >>>>>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>>>>> + >>>>>>> +properties: >>>>>>> + compatible: >>>>>>> + const: loongson,loongson2-thermal >>>>>>> + >>>>>>> + reg: >>>>>>> + maxItems: 1 >>>>>>> + >>>>>>> + id: >>>>>>> + $ref: '//schemas/types.yaml#/definitions/uint32' >>>>>> >>>>>> No improvements here, so let me be specific - you need to really justify >>>>>> such property or it cannot go to schema. >>>>> The loongson2_thermal.c driver need parse this "id" property. >>>> >>>> This is not reason to add properties to DT. DT describes the hardware, >>>> not driver behavior. >>>> >>>> Why hardware needs arbitrary, additional addressing number instead of >>>> standard unit address? >>> The loongson2 series soc supports up to four sensors, but the 2K1000 has only one sensor, so the ID must be 0. >>> For the 2K1000, in order to distinguish the differences between different hardware in the Loongson2 SoC series, >>> the ID is added to the dts >> >> Differences in SoCs is what 'compatible' is for. If 'loongson2' is not a >> specific SoC, then your compatible string is not specific enough. > If other loongson2 platforms are different from the thermal sensor, I will add compatible > "loongson,loongson2-thermal-xxx", please you note. No, this compatible looks wrong then. What is your SoC model number? You called loongson2 a "series", so that's not appropriate. Compatible should be specific. > >> >>>> >>>>>> >>>>>>> + description: | >>>>>>> + Specify the thermal sensor id. >>>>>>> + minimum: 0 >>>>>>> + maximum: 3 >>>>>>> + >>>>>>> + interrupts: >>>>>>> + maxItems: 1 >>>>>>> + >>>>>>> + "#thermal-sensor-cells": >>>>>>> + const: 1 >> >> If one SoC only has 1 sensor, then this could be 0. However, you don't >> have to do that, but it's another way to distinguish differences. > okay ,I got it. >> >>>>>>> + >>>>>>> +required: >>>>>>> + - compatible >>>>>>> + - reg >>>>>>> + - id >>>>>>> + - interrupt-parent >>>>>> >>>>>> Why? >>>>> The interrupts of our dts do not specify an interrupt parent, >>>>> eg. interrupts = <7 IRQ_TYPE_LEVEL_LOW> >>>>> so we need to add an interrupt parent property. >>>> >>>> You can add but I am asking why is it required? >>> Since there is more than one interrupt controller in the Loongson2 series soc, that need to specify the interrupt >>> controller in the dts, that is, the interrupt parent. If different interrupt parents are used in dts, the interrupt >>> numbers are different. >> >> It is perfectly valid for the 'interrupt-parent' to be in *any* parent >> node. So it is never required by any binding. > I don't get your meaning, You mean I can add it in the dts, but I don't need to add it in the binding file, right? You should not add it to the binding because it is not related to the device itself. >> >> Rob > > > 本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 > This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. Don't include such footers. We cannot talk over confidential emails and you clearly state that here. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-26 6:21 ` Krzysztof Kozlowski @ 2022-09-26 8:38 ` Yinbo Zhu 2022-09-27 6:39 ` Yinbo Zhu 2022-09-27 11:08 ` Yinbo Zhu 1 sibling, 1 reply; 19+ messages in thread From: Yinbo Zhu @ 2022-09-26 8:38 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Rob Herring, Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen, 刘佩宝, Yinbo Zhu > -----原始邮件----- > 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> > 发送时间:2022-09-26 14:21:41 (星期一) > 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rob Herring" <robh@kernel.org> > 抄送: "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn>, "刘佩宝" <liupeibao@loongson.cn> > 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > > On 26/09/2022 06:00, Yinbo Zhu wrote: > > > > > > > >> -----原始邮件----- > >> 发件人: "Rob Herring" <robh@kernel.org> > >> 发送时间:2022-09-25 01:42:58 (星期日) > >> 收件人: "朱银波" <zhuyinbo@loongson.cn> > >> 抄送: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> > >> 主题: Re: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > >> > >> On Thu, Sep 22, 2022 at 09:39:30AM +0800, 朱银波 wrote: > >>> > >>> > >>> > >>>> -----原始邮件----- > >>>> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> > >>>> 发送时间:2022-09-21 17:31:11 (星期三) > >>>> 收件人: "朱银波" <zhuyinbo@loongson.cn> > >>>> 抄送: "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> > >>>> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > >>>> > >>>> On 21/09/2022 11:22, 朱银波 wrote: > >>>>>> -----原始邮件----- > >>>>>> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> > >>>>>> 发送时间:2022-09-21 15:05:00 (星期三) > >>>>>> 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org > >>>>>> 抄送: zhanghongchen <zhanghongchen@loongson.cn> > >>>>>> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema > >>>>>> > >>>>>> On 21/09/2022 03:56, Yinbo Zhu wrote: > >>>>>>> Convert the loongson2 thermal binding to DT schema format using > >>>>>>> json-schema. > >>>>>> > >>>>>> Incorrect subject and incorrect commit msg. There is no conversion here. > >>>>> Our soc architecture is the loongson2 series, so we will modify it accordingly. > >>>> > >>>> How the soc architecture is related to my comment that you do not > >>>> perform conversion? > >>> I got it, and I will aad a conversion. > >>>> > >>>>> > >>>>>> > >>>>>>> > >>>>>>> Signed-off-by: Yinbo Zhu <c> > >>>>>>> --- > >>>>>>> Change in v2: > >>>>>>> 1. Add description and type about the "id". > >>>>>>> 2. Make the filename was based on compatible. > >>>>>>> > >>>>>>> .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ > >>>>>>> 1 file changed, 52 insertions(+) > >>>>>>> create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > >>>>>>> > >>>>>>> diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > >>>>>>> new file mode 100644 > >>>>>>> index 000000000000..2994ae3a56aa > >>>>>>> --- /dev/null > >>>>>>> +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > >>>>>> > >>>>>> > >>>>>> No improvements here. You ignore my comments, so I am going to NAK it. > >>>>> I don't get your point, that dts compatible is "loongson,loongson2-thermal", so this driver file name is named > >>>>> loongson2-thermal that according what you said about "Filename based on compatible." > >>>>> If what I understand is not what you expect, please tell me how to modify it. > >>>> > >>>> > >>>> Filename must match the compatible, so: loongson,loongson2-thermal.yaml > >>> I got it, and I will add a conversion. > >>>> > >>>>>> > >>>>>> > >>>>>>> @@ -0,0 +1,52 @@ > >>>>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > >>>>>>> +%YAML 1.2 > >>>>>>> +--- > >>>>>>> +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# > >>>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >>>>>>> + > >>>>>>> +title: Thermal sensors on loongson2 SoCs > >>>>>>> + > >>>>>>> +maintainers: > >>>>>>> + - zhanghongchen <zhanghongchen@loongson.cn> > >>>>>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> > >>>>>>> + > >>>>>>> +properties: > >>>>>>> + compatible: > >>>>>>> + const: loongson,loongson2-thermal > >>>>>>> + > >>>>>>> + reg: > >>>>>>> + maxItems: 1 > >>>>>>> + > >>>>>>> + id: > >>>>>>> + $ref: '//schemas/types.yaml#/definitions/uint32' > >>>>>> > >>>>>> No improvements here, so let me be specific - you need to really justify > >>>>>> such property or it cannot go to schema. > >>>>> The loongson2_thermal.c driver need parse this "id" property. > >>>> > >>>> This is not reason to add properties to DT. DT describes the hardware, > >>>> not driver behavior. > >>>> > >>>> Why hardware needs arbitrary, additional addressing number instead of > >>>> standard unit address? > >>> The loongson2 series soc supports up to four sensors, but the 2K1000 has only one sensor, so the ID must be 0. > >>> For the 2K1000, in order to distinguish the differences between different hardware in the Loongson2 SoC series, > >>> the ID is added to the dts > >> > >> Differences in SoCs is what 'compatible' is for. If 'loongson2' is not a > >> specific SoC, then your compatible string is not specific enough. > > If other loongson2 platforms are different from the thermal sensor, I will add compatible > > "loongson,loongson2-thermal-xxx", please you note. > > No, this compatible looks wrong then. What is your SoC model number? You > called loongson2 a "series", so that's not appropriate. Compatible > should be specific. Must it be strict here? I have a look about other platforms are similar to this one, eg. examples: - | tmu@f0000 { compatible = "fsl,qoriq-tmu"; the qoriq series soc include ls1046a/ls1043/ls1088a/... and the compatible was "loongson,loongson2-xxx" is internal rules, we hope that code can as the rules to upstream. > > > > >> > >>>> > >>>>>> > >>>>>>> + description: | > >>>>>>> + Specify the thermal sensor id. > >>>>>>> + minimum: 0 > >>>>>>> + maximum: 3 > >>>>>>> + > >>>>>>> + interrupts: > >>>>>>> + maxItems: 1 > >>>>>>> + > >>>>>>> + "#thermal-sensor-cells": > >>>>>>> + const: 1 > >> > >> If one SoC only has 1 sensor, then this could be 0. However, you don't > >> have to do that, but it's another way to distinguish differences. > > okay ,I got it. > >> > >>>>>>> + > >>>>>>> +required: > >>>>>>> + - compatible > >>>>>>> + - reg > >>>>>>> + - id > >>>>>>> + - interrupt-parent > >>>>>> > >>>>>> Why? > >>>>> The interrupts of our dts do not specify an interrupt parent, > >>>>> eg. interrupts = <7 IRQ_TYPE_LEVEL_LOW> > >>>>> so we need to add an interrupt parent property. > >>>> > >>>> You can add but I am asking why is it required? > >>> Since there is more than one interrupt controller in the Loongson2 series soc, that need to specify the interrupt > >>> controller in the dts, that is, the interrupt parent. If different interrupt parents are used in dts, the interrupt > >>> numbers are different. > >> > >> It is perfectly valid for the 'interrupt-parent' to be in *any* parent > >> node. So it is never required by any binding. > > I don't get your meaning, You mean I can add it in the dts, but I don't need to add it in the binding file, right? > > You should not add it to the binding because it is not related to the > device itself. okay, I got it. > > >> > >> Rob > > > > > > Don't include such footers. We cannot talk over confidential emails and > you clearly state that here. > > Best regards, > Krzysztof 本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-26 8:38 ` Yinbo Zhu @ 2022-09-27 6:39 ` Yinbo Zhu 0 siblings, 0 replies; 19+ messages in thread From: Yinbo Zhu @ 2022-09-27 6:39 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Rob Herring, Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen, 刘佩宝, Yinbo Zhu, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen, 刘佩宝 在 2022/9/26 下午4:38, Yinbo Zhu 写道: > > >> -----原始邮件----- >> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> >> 发送时间:2022-09-26 14:21:41 (星期一) >> 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rob Herring" <robh@kernel.org> >> 抄送: "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn>, "刘佩宝" <liupeibao@loongson.cn> >> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >> >> On 26/09/2022 06:00, Yinbo Zhu wrote: >>> >>> >>>> -----原始邮件----- >>>> 发件人: "Rob Herring" <robh@kernel.org> >>>> 发送时间:2022-09-25 01:42:58 (星期日) >>>> 收件人: "朱银波" <zhuyinbo@loongson.cn> >>>> 抄送: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> >>>> 主题: Re: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >>>> >>>> On Thu, Sep 22, 2022 at 09:39:30AM +0800, 朱银波 wrote: >>>>> >>>>> >>>>>> -----原始邮件----- >>>>>> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> >>>>>> 发送时间:2022-09-21 17:31:11 (星期三) >>>>>> 收件人: "朱银波" <zhuyinbo@loongson.cn> >>>>>> 抄送: "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> >>>>>> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >>>>>> >>>>>> On 21/09/2022 11:22, 朱银波 wrote: >>>>>>>> -----原始邮件----- >>>>>>>> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> >>>>>>>> 发送时间:2022-09-21 15:05:00 (星期三) >>>>>>>> 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org >>>>>>>> 抄送: zhanghongchen <zhanghongchen@loongson.cn> >>>>>>>> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >>>>>>>> >>>>>>>> On 21/09/2022 03:56, Yinbo Zhu wrote: >>>>>>>>> Convert the loongson2 thermal binding to DT schema format using >>>>>>>>> json-schema. >>>>>>>> Incorrect subject and incorrect commit msg. There is no conversion here. >>>>>>> Our soc architecture is the loongson2 series, so we will modify it accordingly. >>>>>> How the soc architecture is related to my comment that you do not >>>>>> perform conversion? >>>>> I got it, and I will aad a conversion. >>>>>>>>> Signed-off-by: Yinbo Zhu <c> >>>>>>>>> --- >>>>>>>>> Change in v2: >>>>>>>>> 1. Add description and type about the "id". >>>>>>>>> 2. Make the filename was based on compatible. >>>>>>>>> >>>>>>>>> .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ >>>>>>>>> 1 file changed, 52 insertions(+) >>>>>>>>> create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>>>>>>> >>>>>>>>> diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>>>>>>> new file mode 100644 >>>>>>>>> index 000000000000..2994ae3a56aa >>>>>>>>> --- /dev/null >>>>>>>>> +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>>>>>> >>>>>>>> No improvements here. You ignore my comments, so I am going to NAK it. >>>>>>> I don't get your point, that dts compatible is "loongson,loongson2-thermal", so this driver file name is named >>>>>>> loongson2-thermal that according what you said about "Filename based on compatible." >>>>>>> If what I understand is not what you expect, please tell me how to modify it. >>>>>> >>>>>> Filename must match the compatible, so: loongson,loongson2-thermal.yaml >>>>> I got it, and I will add a conversion. >>>>>>>> >>>>>>>>> @@ -0,0 +1,52 @@ >>>>>>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>>>>>>> +%YAML 1.2 >>>>>>>>> +--- >>>>>>>>> +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# >>>>>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>>>>>> + >>>>>>>>> +title: Thermal sensors on loongson2 SoCs >>>>>>>>> + >>>>>>>>> +maintainers: >>>>>>>>> + - zhanghongchen <zhanghongchen@loongson.cn> >>>>>>>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>>>>>>> + >>>>>>>>> +properties: >>>>>>>>> + compatible: >>>>>>>>> + const: loongson,loongson2-thermal >>>>>>>>> + >>>>>>>>> + reg: >>>>>>>>> + maxItems: 1 >>>>>>>>> + >>>>>>>>> + id: >>>>>>>>> + $ref: '//schemas/types.yaml#/definitions/uint32' >>>>>>>> No improvements here, so let me be specific - you need to really justify >>>>>>>> such property or it cannot go to schema. >>>>>>> The loongson2_thermal.c driver need parse this "id" property. >>>>>> This is not reason to add properties to DT. DT describes the hardware, >>>>>> not driver behavior. >>>>>> >>>>>> Why hardware needs arbitrary, additional addressing number instead of >>>>>> standard unit address? >>>>> The loongson2 series soc supports up to four sensors, but the 2K1000 has only one sensor, so the ID must be 0. >>>>> For the 2K1000, in order to distinguish the differences between different hardware in the Loongson2 SoC series, >>>>> the ID is added to the dts >>>> Differences in SoCs is what 'compatible' is for. If 'loongson2' is not a >>>> specific SoC, then your compatible string is not specific enough. >>> If other loongson2 platforms are different from the thermal sensor, I will add compatible >>> "loongson,loongson2-thermal-xxx", please you note. >> No, this compatible looks wrong then. What is your SoC model number? You >> called loongson2 a "series", so that's not appropriate. Compatible >> should be specific. > Must it be strict here? I have a look about other platforms are similar to this one, eg. > examples: > - | > tmu@f0000 { > compatible = "fsl,qoriq-tmu"; > the qoriq series soc include ls1046a/ls1043/ls1088a/... > > and the compatible was "loongson,loongson2-xxx" is internal rules, we hope that code can as the rules > to upstream. > >>>>>>>>> + description: | >>>>>>>>> + Specify the thermal sensor id. >>>>>>>>> + minimum: 0 >>>>>>>>> + maximum: 3 >>>>>>>>> + >>>>>>>>> + interrupts: >>>>>>>>> + maxItems: 1 >>>>>>>>> + >>>>>>>>> + "#thermal-sensor-cells": >>>>>>>>> + const: 1 >>>> If one SoC only has 1 sensor, then this could be 0. However, you don't >>>> have to do that, but it's another way to distinguish differences. >>> okay ,I got it. >>>>>>>>> + >>>>>>>>> +required: >>>>>>>>> + - compatible >>>>>>>>> + - reg >>>>>>>>> + - id >>>>>>>>> + - interrupt-parent >>>>>>>> Why? >>>>>>> The interrupts of our dts do not specify an interrupt parent, >>>>>>> eg. interrupts = <7 IRQ_TYPE_LEVEL_LOW> >>>>>>> so we need to add an interrupt parent property. >>>>>> You can add but I am asking why is it required? >>>>> Since there is more than one interrupt controller in the Loongson2 series soc, that need to specify the interrupt >>>>> controller in the dts, that is, the interrupt parent. If different interrupt parents are used in dts, the interrupt >>>>> numbers are different. >>>> It is perfectly valid for the 'interrupt-parent' to be in *any* parent >>>> node. So it is never required by any binding. >>> I don't get your meaning, You mean I can add it in the dts, but I don't need to add it in the binding file, right? >> You should not add it to the binding because it is not related to the >> device itself. > okay, I got it. >>>> Rob >>> >> Don't include such footers. We cannot talk over confidential emails and >> you clearly state that here. >> >> Best regards, >> Krzysztof I'm sorry to add this footers, this is a problem with my website mailbox. Later, I use my local mailbox to send emails, there will be no footprints in my local mailbox. TKs, BRs Yinbo Zhu. > ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema 2022-09-26 6:21 ` Krzysztof Kozlowski 2022-09-26 8:38 ` Yinbo Zhu @ 2022-09-27 11:08 ` Yinbo Zhu 1 sibling, 0 replies; 19+ messages in thread From: Yinbo Zhu @ 2022-09-27 11:08 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Krzysztof Kozlowski, Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen, 刘佩宝, zhuyinbo, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen, 刘佩宝 在 2022/9/26 下午2:21, Krzysztof Kozlowski 写道: > On 26/09/2022 06:00, Yinbo Zhu wrote: >> >> >>> -----原始邮件----- >>> 发件人: "Rob Herring" <robh@kernel.org> >>> 发送时间:2022-09-25 01:42:58 (星期日) >>> 收件人: "朱银波" <zhuyinbo@loongson.cn> >>> 抄送: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> >>> 主题: Re: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >>> >>> On Thu, Sep 22, 2022 at 09:39:30AM +0800, 朱银波 wrote: >>>> >>>> >>>>> -----原始邮件----- >>>>> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> >>>>> 发送时间:2022-09-21 17:31:11 (星期三) >>>>> 收件人: "朱银波" <zhuyinbo@loongson.cn> >>>>> 抄送: "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, zhanghongchen <zhanghongchen@loongson.cn> >>>>> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >>>>> >>>>> On 21/09/2022 11:22, 朱银波 wrote: >>>>>>> -----原始邮件----- >>>>>>> 发件人: "Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org> >>>>>>> 发送时间:2022-09-21 15:05:00 (星期三) >>>>>>> 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org >>>>>>> 抄送: zhanghongchen <zhanghongchen@loongson.cn> >>>>>>> 主题: Re: [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema >>>>>>> >>>>>>> On 21/09/2022 03:56, Yinbo Zhu wrote: >>>>>>>> Convert the loongson2 thermal binding to DT schema format using >>>>>>>> json-schema. >>>>>>> Incorrect subject and incorrect commit msg. There is no conversion here. >>>>>> Our soc architecture is the loongson2 series, so we will modify it accordingly. >>>>> How the soc architecture is related to my comment that you do not >>>>> perform conversion? >>>> I got it, and I will aad a conversion. >>>>>>>> Signed-off-by: Yinbo Zhu <c> >>>>>>>> --- >>>>>>>> Change in v2: >>>>>>>> 1. Add description and type about the "id". >>>>>>>> 2. Make the filename was based on compatible. >>>>>>>> >>>>>>>> .../bindings/thermal/loongson2-thermal.yaml | 52 +++++++++++++++++++ >>>>>>>> 1 file changed, 52 insertions(+) >>>>>>>> create mode 100644 Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>>>>>> >>>>>>>> diff --git a/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>>>>>> new file mode 100644 >>>>>>>> index 000000000000..2994ae3a56aa >>>>>>>> --- /dev/null >>>>>>>> +++ b/Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>>>>>> >>>>>>> No improvements here. You ignore my comments, so I am going to NAK it. >>>>>> I don't get your point, that dts compatible is "loongson,loongson2-thermal", so this driver file name is named >>>>>> loongson2-thermal that according what you said about "Filename based on compatible." >>>>>> If what I understand is not what you expect, please tell me how to modify it. >>>>> >>>>> Filename must match the compatible, so: loongson,loongson2-thermal.yaml >>>> I got it, and I will add a conversion. >>>>>>> >>>>>>>> @@ -0,0 +1,52 @@ >>>>>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >>>>>>>> +%YAML 1.2 >>>>>>>> +--- >>>>>>>> +$id: http://devicetree.org/schemas/thermal/loongson2-thermal.yaml# >>>>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>>>>>> + >>>>>>>> +title: Thermal sensors on loongson2 SoCs >>>>>>>> + >>>>>>>> +maintainers: >>>>>>>> + - zhanghongchen <zhanghongchen@loongson.cn> >>>>>>>> + - Yinbo Zhu <zhuyinbo@loongson.cn> >>>>>>>> + >>>>>>>> +properties: >>>>>>>> + compatible: >>>>>>>> + const: loongson,loongson2-thermal >>>>>>>> + >>>>>>>> + reg: >>>>>>>> + maxItems: 1 >>>>>>>> + >>>>>>>> + id: >>>>>>>> + $ref: '//schemas/types.yaml#/definitions/uint32' >>>>>>> No improvements here, so let me be specific - you need to really justify >>>>>>> such property or it cannot go to schema. >>>>>> The loongson2_thermal.c driver need parse this "id" property. >>>>> This is not reason to add properties to DT. DT describes the hardware, >>>>> not driver behavior. >>>>> >>>>> Why hardware needs arbitrary, additional addressing number instead of >>>>> standard unit address? >>>> The loongson2 series soc supports up to four sensors, but the 2K1000 has only one sensor, so the ID must be 0. >>>> For the 2K1000, in order to distinguish the differences between different hardware in the Loongson2 SoC series, >>>> the ID is added to the dts >>> Differences in SoCs is what 'compatible' is for. If 'loongson2' is not a >>> specific SoC, then your compatible string is not specific enough. >> If other loongson2 platforms are different from the thermal sensor, I will add compatible >> "loongson,loongson2-thermal-xxx", please you note. > No, this compatible looks wrong then. What is your SoC model number? You > called loongson2 a "series", so that's not appropriate. Compatible > should be specific. okay, I got it. I will add this change in v4. > >>>>>>>> + description: | >>>>>>>> + Specify the thermal sensor id. >>>>>>>> + minimum: 0 >>>>>>>> + maximum: 3 >>>>>>>> + >>>>>>>> + interrupts: >>>>>>>> + maxItems: 1 >>>>>>>> + >>>>>>>> + "#thermal-sensor-cells": >>>>>>>> + const: 1 >>> If one SoC only has 1 sensor, then this could be 0. However, you don't >>> have to do that, but it's another way to distinguish differences. >> okay ,I got it. >>>>>>>> + >>>>>>>> +required: >>>>>>>> + - compatible >>>>>>>> + - reg >>>>>>>> + - id >>>>>>>> + - interrupt-parent >>>>>>> Why? >>>>>> The interrupts of our dts do not specify an interrupt parent, >>>>>> eg. interrupts = <7 IRQ_TYPE_LEVEL_LOW> >>>>>> so we need to add an interrupt parent property. >>>>> You can add but I am asking why is it required? >>>> Since there is more than one interrupt controller in the Loongson2 series soc, that need to specify the interrupt >>>> controller in the dts, that is, the interrupt parent. If different interrupt parents are used in dts, the interrupt >>>> numbers are different. >>> It is perfectly valid for the 'interrupt-parent' to be in *any* parent >>> node. So it is never required by any binding. >> I don't get your meaning, You mean I can add it in the dts, but I don't need to add it in the binding file, right? > You should not add it to the binding because it is not related to the > device itself. okay, I got it. > >>> Rob >> >> 本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 >> This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. > Don't include such footers. We cannot talk over confidential emails and > you clearly state that here. > > Best regards, > Krzysztof sorry, I will remove it. TKs, Yinbo Zhu ^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 3/3] thermal: loongson2: add thermal management support 2022-09-21 1:56 [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs Yinbo Zhu 2022-09-21 1:56 ` [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema Yinbo Zhu @ 2022-09-21 1:56 ` Yinbo Zhu 2022-09-21 8:45 ` kernel test robot 2022-09-21 2:06 ` [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs Joe Perches 2 siblings, 1 reply; 19+ messages in thread From: Yinbo Zhu @ 2022-09-21 1:56 UTC (permalink / raw) To: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski, linux-pm, devicetree, linux-kernel Cc: zhanghongchen, Yinbo Zhu This patch adds the support for loongson2 thermal sensor controller, which can support maximum 4 sensors. It's based on thermal of framework: - Trip points defined in device tree. - Cpufreq as cooling device registered in loongson2 cpufreq driver. - Pwm fan as cooling device registered in hwmon pwm-fan driver. Signed-off-by: zhanghongchen <zhanghongchen@loongson.cn> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn> --- Change in v2: 1. Remove error msg printing when addr ioremap has error. 2. Make loongson2 thermal driver was built-in by default. 3. Replace ls2k with loongson2. 4. Remove CONFIG_PM_SLEEP and set pm function type was __maybe_unused. drivers/thermal/Kconfig | 10 ++ drivers/thermal/Makefile | 1 + drivers/thermal/loongson2_thermal.c | 238 ++++++++++++++++++++++++++++ 3 files changed, 249 insertions(+) create mode 100644 drivers/thermal/loongson2_thermal.c diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig index e052dae614eb..6b60397e96a1 100644 --- a/drivers/thermal/Kconfig +++ b/drivers/thermal/Kconfig @@ -504,4 +504,14 @@ config KHADAS_MCU_FAN_THERMAL If you say yes here you get support for the FAN controlled by the Microcontroller found on the Khadas VIM boards. +config LOONGSON2_THERMAL + tristate "Loongson2 SOC series thermal driver" + depends on OF + default y + help + Support for Thermal driver found on Loongson2 SOC series platforms. + It supports one critical trip point and one passive trip point. The + cpufreq and the pwm fan is used as the cooling device to throttle + CPUs when the passive trip is crossed. + endif diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile index def8e1a0399c..e99f839126fa 100644 --- a/drivers/thermal/Makefile +++ b/drivers/thermal/Makefile @@ -61,3 +61,4 @@ obj-$(CONFIG_UNIPHIER_THERMAL) += uniphier_thermal.o obj-$(CONFIG_AMLOGIC_THERMAL) += amlogic_thermal.o obj-$(CONFIG_SPRD_THERMAL) += sprd_thermal.o obj-$(CONFIG_KHADAS_MCU_FAN_THERMAL) += khadas_mcu_fan.o +obj-$(CONFIG_LOONGSON2_THERMAL) += loongson2_thermal.o diff --git a/drivers/thermal/loongson2_thermal.c b/drivers/thermal/loongson2_thermal.c new file mode 100644 index 000000000000..d685c2ab1c0a --- /dev/null +++ b/drivers/thermal/loongson2_thermal.c @@ -0,0 +1,238 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Author: zhanghongchen <zhanghongchen@loongson.cn> + * Yinbo Zhu <zhuyinbo@loongson.cn> + * Copyright (C) 2022-2023 Loongson Technology Corporation Limited + */ + +#include <linux/cpufreq.h> +#include <linux/delay.h> +#include <linux/interrupt.h> +#include <linux/module.h> +#include <linux/platform_device.h> +#include <linux/io.h> +#include <linux/of_device.h> +#include <linux/thermal.h> +#include "thermal_hwmon.h" + +#define LOONGSON2_SOC_DEFAULT_SENSOR 0 +#define LOONGSON2_SOC_MAX_SENSOR_NUM 4 + +#define LOONGSON2_TSENSOR_CTRL_HI 0x0 +#define LOONGSON2_TSENSOR_CTRL_LO 0x8 +#define LOONGSON2_TSENSOR_STATUS 0x10 +#define LOONGSON2_TSENSOR_OUT 0x14 + +struct loongson2_thermal_data { + struct thermal_zone_device *tzd; + int irq; + int id; + void __iomem *regs; + struct platform_device *pdev; + u16 ctrl_low_val; + u16 ctrl_hi_val; +}; + +/** + * @low : temperature in degree + * @high: temperature in degree + */ +static int loongson2_thermal_set(struct loongson2_thermal_data *data, + int low, int high, bool enable) +{ + u64 reg_ctrl = 0; + int reg_off = data->id * 2; + + if (low > high) + return -EINVAL; + + low = low < -100 ? -100 : low; + high = high > 155 ? 155 : high; + + low += 100; + high += 100; + + reg_ctrl |= low; + reg_ctrl |= enable ? 0x100 : 0; + writew(reg_ctrl, data->regs + LOONGSON2_TSENSOR_CTRL_LO + reg_off); + + reg_ctrl = 0; + reg_ctrl |= high; + reg_ctrl |= enable ? 0x100 : 0; + writew(reg_ctrl, data->regs + LOONGSON2_TSENSOR_CTRL_HI + reg_off); + + return 0; +} + +static int loongson2_thermal_get_temp(void *__data, int *temp) +{ + struct loongson2_thermal_data *data = __data; + u32 reg_val; + + reg_val = readl(data->regs + LOONGSON2_TSENSOR_OUT); + *temp = ((reg_val & 0xff) - 100) * 1000; + + return 0; +} + +static irqreturn_t loongson2_thermal_alarm_irq(int irq, void *dev) +{ + struct loongson2_thermal_data *data = dev; + + /* clear interrupt */ + writeb(0x3, data->regs + LOONGSON2_TSENSOR_STATUS); + + disable_irq_nosync(irq); + + return IRQ_WAKE_THREAD; +} + +static irqreturn_t loongson2_thermal_irq_thread(int irq, void *dev) +{ + struct loongson2_thermal_data *data = dev; + + thermal_zone_device_update(data->tzd, + THERMAL_EVENT_UNSPECIFIED); + enable_irq(data->irq); + + return IRQ_HANDLED; +} + +static int loongson2_thermal_set_trips(void *data, int low, int high) +{ + return loongson2_thermal_set(data, low/1000, high/1000, true); +} + +static const struct thermal_zone_of_device_ops loongson2_of_thermal_ops = { + .get_temp = loongson2_thermal_get_temp, + .set_trips = loongson2_thermal_set_trips, +}; + +static int loongson2_thermal_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct resource *res; + struct loongson2_thermal_data *data; + int ret; + + data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); + if (!data) + return -ENOMEM; + + data->pdev = pdev; + platform_set_drvdata(pdev, data); + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + data->regs = devm_ioremap(dev, res->start, resource_size(res)); + if (IS_ERR(data->regs)) + return PTR_ERR(data->regs); + + /* get irq */ + data->irq = platform_get_irq(pdev, 0); + if (data->irq < 0) + return data->irq; + + /* get id */ + if (of_property_read_u32(dev->of_node, "id", &data->id)) { + dev_err(dev, "not found id property!\n"); + data->id = LOONGSON2_SOC_DEFAULT_SENSOR; + } + + if (data->id > LOONGSON2_SOC_MAX_SENSOR_NUM - 1) { + dev_err(dev, "sensor id error,must be in <0 ~ %d>\n", + LOONGSON2_SOC_MAX_SENSOR_NUM - 1); + return -EINVAL; + } + + writeb(0xff, data->regs + LOONGSON2_TSENSOR_STATUS); + + loongson2_thermal_set(data, 0, 0, false); + + data->tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, + data->id, data, + &loongson2_of_thermal_ops); + if (IS_ERR(data->tzd)) { + ret = PTR_ERR(data->tzd); + data->tzd = NULL; + dev_err(&pdev->dev, "failed to register %d\n", ret); + return ret; + } + + ret = devm_request_threaded_irq(dev, data->irq, + loongson2_thermal_alarm_irq, loongson2_thermal_irq_thread, + IRQF_ONESHOT, "loongson2_thermal", data); + if (ret < 0) { + dev_err(dev, "failed to request alarm irq: %d\n", ret); + return ret; + } + + /* + * Thermal_zone doesn't enable hwmon as default, + * enable it here + */ + data->tzd->tzp->no_hwmon = false; + ret = thermal_add_hwmon_sysfs(data->tzd); + if (ret) { + dev_err(dev, "failed to add hwmon sysfs interface %d\n", ret); + return ret; + } + + return 0; +} + +int loongson2_thermal_remove(struct platform_device *pdev) +{ + struct loongson2_thermal_data *data = platform_get_drvdata(pdev); + int reg_off = data->id * 2; + + /* disable interrupt */ + writew(0, data->regs + LOONGSON2_TSENSOR_CTRL_LO + reg_off); + writew(0, data->regs + LOONGSON2_TSENSOR_CTRL_HI + reg_off); + + return 0; +} + +static const struct of_device_id of_loongson2_thermal_match[] = { + { .compatible = "loongson,loongson2-thermal",}, + { /* end */ } +}; +MODULE_DEVICE_TABLE(of, of_loongson2_thermal_match); + +static int __maybe_unused loongson2_thermal_suspend(struct device *dev) +{ + struct loongson2_thermal_data *data = dev_get_drvdata(dev); + int reg_off = data->id * 2; + + data->ctrl_low_val = readw(data->regs + LOONGSON2_TSENSOR_CTRL_LO + reg_off); + data->ctrl_hi_val = readw(data->regs + LOONGSON2_TSENSOR_CTRL_HI + reg_off); + + writew(0, data->regs + LOONGSON2_TSENSOR_CTRL_LO + reg_off); + writew(0, data->regs + LOONGSON2_TSENSOR_CTRL_HI + reg_off); + + return 0; +} + +static int __maybe_unused loongson2_thermal_resume(struct device *dev) +{ + struct loongson2_thermal_data *data = dev_get_drvdata(dev); + int reg_off = data->id * 2; + + writew(data->ctrl_low_val, data->regs + LOONGSON2_TSENSOR_CTRL_LO + reg_off); + writew(data->ctrl_hi_val, data->regs + LOONGSON2_TSENSOR_CTRL_HI + reg_off); + + return 0; +} + +static SIMPLE_DEV_PM_OPS(loongson2_thermal_pm_ops, + loongson2_thermal_suspend, loongson2_thermal_resume); + +static struct platform_driver loongson2_thermal_driver = { + .driver = { + .name = "loongson2_thermal", + .pm = &loongson2_thermal_pm_ops, + .of_match_table = of_loongson2_thermal_match, + }, + .probe = loongson2_thermal_probe, + .remove = loongson2_thermal_remove, +}; +module_platform_driver(loongson2_thermal_driver); -- 2.31.1 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH v2 3/3] thermal: loongson2: add thermal management support 2022-09-21 1:56 ` [PATCH v2 3/3] thermal: loongson2: add thermal management support Yinbo Zhu @ 2022-09-21 8:45 ` kernel test robot 0 siblings, 0 replies; 19+ messages in thread From: kernel test robot @ 2022-09-21 8:45 UTC (permalink / raw) To: Yinbo Zhu, Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski, linux-pm, devicetree, linux-kernel Cc: kbuild-all, zhanghongchen, Yinbo Zhu Hi Yinbo, I love your patch! Perhaps something to improve: [auto build test WARNING on rafael-pm/thermal] [also build test WARNING on linus/master v6.0-rc6 next-20220920] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Yinbo-Zhu/MAINTAINERS-add-maintainer-for-thermal-driver-for-loongson2-SoCs/20220921-095737 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git thermal config: x86_64-randconfig-a011 (https://download.01.org/0day-ci/archive/20220921/202209211644.16Ox1qeg-lkp@intel.com/config) compiler: gcc-11 (Debian 11.3.0-5) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/c21dcaa77e2e7514efdb4c97c805b14c9a05ec35 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Yinbo-Zhu/MAINTAINERS-add-maintainer-for-thermal-driver-for-loongson2-SoCs/20220921-095737 git checkout c21dcaa77e2e7514efdb4c97c805b14c9a05ec35 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/thermal/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): >> drivers/thermal/loongson2_thermal.c:183:5: warning: no previous prototype for 'loongson2_thermal_remove' [-Wmissing-prototypes] 183 | int loongson2_thermal_remove(struct platform_device *pdev) | ^~~~~~~~~~~~~~~~~~~~~~~~ vim +/loongson2_thermal_remove +183 drivers/thermal/loongson2_thermal.c 182 > 183 int loongson2_thermal_remove(struct platform_device *pdev) 184 { 185 struct loongson2_thermal_data *data = platform_get_drvdata(pdev); 186 int reg_off = data->id * 2; 187 188 /* disable interrupt */ 189 writew(0, data->regs + LOONGSON2_TSENSOR_CTRL_LO + reg_off); 190 writew(0, data->regs + LOONGSON2_TSENSOR_CTRL_HI + reg_off); 191 192 return 0; 193 } 194 -- 0-DAY CI Kernel Test Service https://01.org/lkp ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs 2022-09-21 1:56 [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs Yinbo Zhu 2022-09-21 1:56 ` [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema Yinbo Zhu 2022-09-21 1:56 ` [PATCH v2 3/3] thermal: loongson2: add thermal management support Yinbo Zhu @ 2022-09-21 2:06 ` Joe Perches 2022-09-26 9:02 ` Yinbo Zhu 2 siblings, 1 reply; 19+ messages in thread From: Joe Perches @ 2022-09-21 2:06 UTC (permalink / raw) To: Yinbo Zhu, Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski, linux-pm, devicetree, linux-kernel Cc: zhanghongchen On Wed, 2022-09-21 at 09:56 +0800, Yinbo Zhu wrote: > Add zhanghongchen and myself as maintainer of the loongson2 SoC > series thermal driver. [] > diff --git a/MAINTAINERS b/MAINTAINERS [] > @@ -11899,6 +11899,14 @@ F: drivers/*/*loongarch* > F: Documentation/loongarch/ > F: Documentation/translations/zh_CN/loongarch/ > > +LOONGSON2 SOC SERIES THERMAL DRIVER > +M: zhanghongchen <zhanghongchen@loongson.cn> > +M: Yinbo Zhu <zhuyinbo@loongson.cn> > +L: linux-pm@vger.kernel.org > +S: Maintained > +F: Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > +F: drivers/thermal/loongson2_thermal.c > + > LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) > M: Sathya Prakash <sathya.prakash@broadcom.com> > M: Sreekanth Reddy <sreekanth.reddy@broadcom.com> From the MAINTAINERS headers: S: *Status*, one of the following: Supported: Someone is actually paid to look after this. Maintained: Someone actually looks after it. If you both are being paid to maintain this driver, this S: entry should be Supported. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Re: [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs 2022-09-21 2:06 ` [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs Joe Perches @ 2022-09-26 9:02 ` Yinbo Zhu 2022-09-26 12:13 ` xxxxxx Yinbo Zhu 0 siblings, 1 reply; 19+ messages in thread From: Yinbo Zhu @ 2022-09-26 9:02 UTC (permalink / raw) To: Joe Perches Cc: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen, Yinbo Zhu > -----原始邮件----- > 发件人: "Joe Perches" <joe@perches.com> > 发送时间:2022-09-21 10:06:55 (星期三) > 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit > Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org > 抄送: zhanghongchen <zhanghongchen@loongson.cn> > 主题: Re: [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs > > On Wed, 2022-09-21 at 09:56 +0800, Yinbo Zhu wrote: > > Add zhanghongchen and myself as maintainer of the loongson2 SoC > > series thermal driver. > [] > > diff --git a/MAINTAINERS b/MAINTAINERS > [] > > @@ -11899,6 +11899,14 @@ F: drivers/*/*loongarch* > > F: Documentation/loongarch/ > > F: Documentation/translations/zh_CN/loongarch/ > > > > +LOONGSON2 SOC SERIES THERMAL DRIVER > > +M: zhanghongchen <zhanghongchen@loongson.cn> > > +M: Yinbo Zhu <zhuyinbo@loongson.cn> > > +L: linux-pm@vger.kernel.org > > +S: Maintained > > +F: Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml > > +F: drivers/thermal/loongson2_thermal.c > > + > > LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) > > M: Sathya Prakash <sathya.prakash@broadcom.com> > > M: Sreekanth Reddy <sreekanth.reddy@broadcom.com> > > From the MAINTAINERS headers: > > S: *Status*, one of the following: > Supported: Someone is actually paid to look after this. > Maintained: Someone actually looks after it. > > If you both are being paid to maintain this driver, > this S: entry should be Supported. Sorry for replying to you so late, because this email has entered the spam list. I with zhanghongchen will focus on thermal driver and looks after it actually. so add zhanghongchen with me as loongson2 thermal maintainer. TKs, BRs, Yinbo Zhu. > 本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. ^ permalink raw reply [flat|nested] 19+ messages in thread
* xxxxxx 2022-09-26 9:02 ` Yinbo Zhu @ 2022-09-26 12:13 ` Yinbo Zhu 0 siblings, 0 replies; 19+ messages in thread From: Yinbo Zhu @ 2022-09-26 12:13 UTC (permalink / raw) To: zhuyinbo Cc: Amit Kucheria, Zhang Rui, linux-pm, devicetree, linux-kernel, zhanghongchen 在 2022/9/26 下午5:02, Yinbo Zhu 写道: > > >> -----原始邮件----- >> 发件人: "Joe Perches" <joe@perches.com> >> 发送时间:2022-09-21 10:06:55 (星期三) >> 收件人: "Yinbo Zhu" <zhuyinbo@loongson.cn>, "Rafael J . Wysocki" <rafael@kernel.org>, "Daniel Lezcano" <daniel.lezcano@linaro.org>, "Amit >> Kucheria" <amitk@kernel.org>, "Zhang Rui" <rui.zhang@intel.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org >> 抄送: zhanghongchen <zhanghongchen@loongson.cn> >> 主题: Re: [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs >> >> On Wed, 2022-09-21 at 09:56 +0800, Yinbo Zhu wrote: >>> Add zhanghongchen and myself as maintainer of the loongson2 SoC >>> series thermal driver. >> [] >>> diff --git a/MAINTAINERS b/MAINTAINERS >> [] >>> @@ -11899,6 +11899,14 @@ F: drivers/*/*loongarch* >>> F: Documentation/loongarch/ >>> F: Documentation/translations/zh_CN/loongarch/ >>> >>> +LOONGSON2 SOC SERIES THERMAL DRIVER >>> +M: zhanghongchen <zhanghongchen@loongson.cn> >>> +M: Yinbo Zhu <zhuyinbo@loongson.cn> >>> +L: linux-pm@vger.kernel.org >>> +S: Maintained >>> +F: Documentation/devicetree/bindings/thermal/loongson2-thermal.yaml >>> +F: drivers/thermal/loongson2_thermal.c >>> + >>> LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) >>> M: Sathya Prakash <sathya.prakash@broadcom.com> >>> M: Sreekanth Reddy <sreekanth.reddy@broadcom.com> >> From the MAINTAINERS headers: >> >> S: *Status*, one of the following: >> Supported: Someone is actually paid to look after this. >> Maintained: Someone actually looks after it. >> >> If you both are being paid to maintain this driver, >> this S: entry should be Supported. > Sorry for replying to you so late, because this email has entered the spam list. > I with zhanghongchen will focus on thermal driver and looks after it actually. > so add zhanghongchen with me as loongson2 thermal maintainer. > > TKs, > BRs, > Yinbo Zhu. ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2022-09-27 11:11 UTC | newest] Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-09-21 1:56 [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs Yinbo Zhu 2022-09-21 1:56 ` [PATCH v2 2/3] dt-bindings: thermal: Convert loongson2 to json-schema Yinbo Zhu 2022-09-21 6:59 ` Krzysztof Kozlowski 2022-09-21 7:05 ` Krzysztof Kozlowski 2022-09-21 9:22 ` 朱银波 2022-09-21 9:31 ` Krzysztof Kozlowski 2022-09-22 1:39 ` 朱银波 2022-09-22 6:25 ` Krzysztof Kozlowski 2022-09-24 17:42 ` Rob Herring 2022-09-26 4:00 ` Yinbo Zhu 2022-09-26 6:21 ` Krzysztof Kozlowski 2022-09-26 8:38 ` Yinbo Zhu 2022-09-27 6:39 ` Yinbo Zhu 2022-09-27 11:08 ` Yinbo Zhu 2022-09-21 1:56 ` [PATCH v2 3/3] thermal: loongson2: add thermal management support Yinbo Zhu 2022-09-21 8:45 ` kernel test robot 2022-09-21 2:06 ` [PATCH v2 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs Joe Perches 2022-09-26 9:02 ` Yinbo Zhu 2022-09-26 12:13 ` xxxxxx Yinbo Zhu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).