linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs
@ 2022-09-28  8:37 Yinbo Zhu
  2022-09-28  8:37 ` [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding Yinbo Zhu
  2022-09-28  8:37 ` [PATCH v5 3/3] thermal: loongson2: add thermal management support Yinbo Zhu
  0 siblings, 2 replies; 15+ messages in thread
From: Yinbo Zhu @ 2022-09-28  8:37 UTC (permalink / raw)
  To: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui,
	Rob Herring, Krzysztof Kozlowski, linux-pm, devicetree,
	linux-kernel
  Cc: zhanghongchen, Liu Peibao, Yinbo Zhu

Add zhanghongchen and myself as maintainer of the loongson2 SoC
series thermal driver.

Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
---
 MAINTAINERS | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 589517372408..0be0f520c032 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/loongson,ls2k-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] 15+ messages in thread

* [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-28  8:37 [PATCH v5 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs Yinbo Zhu
@ 2022-09-28  8:37 ` Yinbo Zhu
  2022-09-28  8:37   ` Krzysztof Kozlowski
  2022-09-28 12:38   ` Rob Herring
  2022-09-28  8:37 ` [PATCH v5 3/3] thermal: loongson2: add thermal management support Yinbo Zhu
  1 sibling, 2 replies; 15+ messages in thread
From: Yinbo Zhu @ 2022-09-28  8:37 UTC (permalink / raw)
  To: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui,
	Rob Herring, Krzysztof Kozlowski, linux-pm, devicetree,
	linux-kernel
  Cc: zhanghongchen, Liu Peibao, Yinbo Zhu

Add the loongson2k thermal binding with DT schema format using
json-schema.

Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
---
Change in v5:
		1. Keep use same quotes "'" in all places. 

 .../thermal/loongson,ls2k-thermal.yaml        | 43 +++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml

diff --git a/Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml b/Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml
new file mode 100644
index 000000000000..3fb841797771
--- /dev/null
+++ b/Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/thermal/loongson,ls2k-thermal.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Thermal sensors on loongson2k SoCs
+
+maintainers:
+  - zhanghongchen <zhanghongchen@loongson.cn>
+  - Yinbo Zhu <zhuyinbo@loongson.cn>
+
+properties:
+  compatible:
+    const: loongson,ls2k-thermal
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  '#thermal-sensor-cells':
+    const: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - '#thermal-sensor-cells'
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    thermal: thermal-sensor@1fe01500 {
+        compatible = "loongson,ls2k-thermal";
+        reg = <0 0x1fe01500 0 0x30>;
+        interrupt-parent = <&liointc0>;
+        interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
+        #thermal-sensor-cells = <1>;
+    };
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v5 3/3] thermal: loongson2: add thermal management support
  2022-09-28  8:37 [PATCH v5 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs Yinbo Zhu
  2022-09-28  8:37 ` [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding Yinbo Zhu
@ 2022-09-28  8:37 ` Yinbo Zhu
  1 sibling, 0 replies; 15+ messages in thread
From: Yinbo Zhu @ 2022-09-28  8:37 UTC (permalink / raw)
  To: Rafael J . Wysocki, Daniel Lezcano, Amit Kucheria, Zhang Rui,
	Rob Herring, Krzysztof Kozlowski, linux-pm, devicetree,
	linux-kernel
  Cc: zhanghongchen, Liu Peibao, 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>
---
 drivers/thermal/Kconfig             |  10 ++
 drivers/thermal/Makefile            |   1 +
 drivers/thermal/loongson2_thermal.c | 268 ++++++++++++++++++++++++++++
 3 files changed, 279 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..0f9dadbd4a07
--- /dev/null
+++ b/drivers/thermal/loongson2_thermal.c
@@ -0,0 +1,268 @@
+// 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_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 int loongson2_thermal_get_sensor_id(void)
+{
+	int ret, id;
+	struct of_phandle_args sensor_specs;
+	struct device_node *np, *sensor_np;
+
+	np = of_find_node_by_name(NULL, "thermal-zones");
+	if (!np)
+		return -ENODEV;
+
+	sensor_np = of_get_next_child(np, NULL);
+	ret = of_parse_phandle_with_args(sensor_np, "thermal-sensors",
+			"#thermal-sensor-cells",
+			0, &sensor_specs);
+	if (ret) {
+		of_node_put(np);
+		of_node_put(sensor_np);
+		return ret;
+	}
+
+	if (sensor_specs.args_count >= 1) {
+		id = sensor_specs.args[0];
+		WARN(sensor_specs.args_count > 1,
+				"%s: too many cells in sensor specifier %d\n",
+				sensor_specs.np->name, sensor_specs.args_count);
+	} else {
+		id = 0;
+	}
+
+	of_node_put(np);
+	of_node_put(sensor_np);
+
+	return id;
+}
+
+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 */
+	data->id = loongson2_thermal_get_sensor_id();
+	if (data->id > LOONGSON2_SOC_MAX_SENSOR_NUM - 1 || data->id < 0) {
+		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;
+}
+
+static 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,ls2k-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] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-28  8:37 ` [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding Yinbo Zhu
@ 2022-09-28  8:37   ` Krzysztof Kozlowski
  2022-09-28 14:18     ` Krzysztof Kozlowski
  2022-09-28 12:38   ` Rob Herring
  1 sibling, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-28  8:37 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, Liu Peibao

On 28/09/2022 10:37, Yinbo Zhu wrote:
> Add the loongson2k thermal binding with DT schema format using
> json-schema.
> 
> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>

Please add Acked-by/Reviewed-by tags when posting new versions. However,
there's no need to repost patches *only* to add the tags. The upstream
maintainer will do that for acks received on the version they apply.

https://elixir.bootlin.com/linux/v5.17/source/Documentation/process/submitting-patches.rst#L540

If a tag was not added on purpose, please state why and what changed.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-28  8:37 ` [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding Yinbo Zhu
  2022-09-28  8:37   ` Krzysztof Kozlowski
@ 2022-09-28 12:38   ` Rob Herring
  1 sibling, 0 replies; 15+ messages in thread
From: Rob Herring @ 2022-09-28 12:38 UTC (permalink / raw)
  To: Yinbo Zhu
  Cc: Krzysztof Kozlowski, devicetree, Amit Kucheria, Rob Herring,
	linux-kernel, Rafael J . Wysocki, zhanghongchen, Liu Peibao,
	linux-pm, Zhang Rui, Daniel Lezcano

On Wed, 28 Sep 2022 16:37:01 +0800, Yinbo Zhu wrote:
> Add the loongson2k thermal binding with DT schema format using
> json-schema.
> 
> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
> ---
> Change in v5:
> 		1. Keep use same quotes "'" in all places.
> 
>  .../thermal/loongson,ls2k-thermal.yaml        | 43 +++++++++++++++++++
>  1 file changed, 43 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/thermal/loongson,ls2k-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/loongson,ls2k-thermal.example.dtb: thermal-sensor@1fe01500: reg: [[0, 534779136], [0, 48]] is too long
	From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml

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] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-28  8:37   ` Krzysztof Kozlowski
@ 2022-09-28 14:18     ` Krzysztof Kozlowski
  2022-09-29  3:42       ` Yinbo Zhu
  0 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-28 14:18 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, Liu Peibao

On 28/09/2022 10:37, Krzysztof Kozlowski wrote:
> On 28/09/2022 10:37, Yinbo Zhu wrote:
>> Add the loongson2k thermal binding with DT schema format using
>> json-schema.
>>
>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
> 
> Please add Acked-by/Reviewed-by tags when posting new versions. However,
> there's no need to repost patches *only* to add the tags. The upstream
> maintainer will do that for acks received on the version they apply.
> 
> https://elixir.bootlin.com/linux/v5.17/source/Documentation/process/submitting-patches.rst#L540
> 
> If a tag was not added on purpose, please state why and what changed.
> 
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

... and please test your patches before sending :(

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-28 14:18     ` Krzysztof Kozlowski
@ 2022-09-29  3:42       ` Yinbo Zhu
  2022-09-29  3:57         ` Yinbo Zhu
  0 siblings, 1 reply; 15+ messages in thread
From: Yinbo Zhu @ 2022-09-29  3:42 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Rafael J . Wysocki, Daniel Lezcano,
	Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski,
	linux-pm, devicetree, linux-kernel
  Cc: zhanghongchen, Liu Peibao, zhuyinbo



在 2022/9/28 下午10:18, Krzysztof Kozlowski 写道:
> On 28/09/2022 10:37, Krzysztof Kozlowski wrote:
>> On 28/09/2022 10:37, Yinbo Zhu wrote:
>>> Add the loongson2k thermal binding with DT schema format using
>>> json-schema.
>>>
>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
>>
>> Please add Acked-by/Reviewed-by tags when posting new versions. However,
>> there's no need to repost patches *only* to add the tags. The upstream
>> maintainer will do that for acks received on the version they apply.
>>
>> https://elixir.bootlin.com/linux/v5.17/source/Documentation/process/submitting-patches.rst#L540
>>
>> If a tag was not added on purpose, please state why and what changed.
>>
>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> ... and please test your patches before sending :(
> 
> Best regards,
> Krzysztof
Hi Krzysztof,

I have a function test for these three patch, that it's okay.
for binding patch I have a compile test, as follow, it is okay.
root@m-pc:/home/m/workspace/test/code/upstream# make DT_CHECKER_FLAGS=-m 
dt_binding_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/thermal/ls2k-thermal.yaml

BRs,
Yinbo Zhu.
> 


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-29  3:42       ` Yinbo Zhu
@ 2022-09-29  3:57         ` Yinbo Zhu
  2022-09-29  7:00           ` Krzysztof Kozlowski
  0 siblings, 1 reply; 15+ messages in thread
From: Yinbo Zhu @ 2022-09-29  3:57 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Rafael J . Wysocki, Daniel Lezcano,
	Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski,
	linux-pm, devicetree, linux-kernel
  Cc: zhanghongchen, Liu Peibao, zhuyinbo



在 2022/9/29 上午11:42, Yinbo Zhu 写道:
> 
> 
> 在 2022/9/28 下午10:18, Krzysztof Kozlowski 写道:
>> On 28/09/2022 10:37, Krzysztof Kozlowski wrote:
>>> On 28/09/2022 10:37, Yinbo Zhu wrote:
>>>> Add the loongson2k thermal binding with DT schema format using
>>>> json-schema.
>>>>
>>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
>>>
>>> Please add Acked-by/Reviewed-by tags when posting new versions. However,
>>> there's no need to repost patches *only* to add the tags. The upstream
>>> maintainer will do that for acks received on the version they apply.
>>>
>>> https://elixir.bootlin.com/linux/v5.17/source/Documentation/process/submitting-patches.rst#L540 
>>>
>>>
>>> If a tag was not added on purpose, please state why and what changed.
>>>
>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>
>> ... and please test your patches before sending :(
You said is refer that "reg: [[0, 534779136], [0, 48]] is too long" ?
Need fix that warning, right?
>>
>> Best regards,
>> Krzysztof
> Hi Krzysztof,
> 
> I have a function test for these three patch, that it's okay.
> for binding patch I have a compile test, as follow, it is okay.
> root@m-pc:/home/m/workspace/test/code/upstream# make DT_CHECKER_FLAGS=-m 
> dt_binding_check 
> DT_SCHEMA_FILES=Documentation/devicetree/bindings/thermal/ls2k-thermal.yaml
> 
> BRs,
> Yinbo Zhu.
>>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-29  3:57         ` Yinbo Zhu
@ 2022-09-29  7:00           ` Krzysztof Kozlowski
  2022-09-29  7:07             ` Yinbo Zhu
  0 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-29  7:00 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, Liu Peibao

On 29/09/2022 05:57, Yinbo Zhu wrote:
> 
> 
> 在 2022/9/29 上午11:42, Yinbo Zhu 写道:
>>
>>
>> 在 2022/9/28 下午10:18, Krzysztof Kozlowski 写道:
>>> On 28/09/2022 10:37, Krzysztof Kozlowski wrote:
>>>> On 28/09/2022 10:37, Yinbo Zhu wrote:
>>>>> Add the loongson2k thermal binding with DT schema format using
>>>>> json-schema.
>>>>>
>>>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
>>>>
>>>> Please add Acked-by/Reviewed-by tags when posting new versions. However,
>>>> there's no need to repost patches *only* to add the tags. The upstream
>>>> maintainer will do that for acks received on the version they apply.
>>>>
>>>> https://elixir.bootlin.com/linux/v5.17/source/Documentation/process/submitting-patches.rst#L540 
>>>>
>>>>
>>>> If a tag was not added on purpose, please state why and what changed.
>>>>
>>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>>
>>> ... and please test your patches before sending :(
> You said is refer that "reg: [[0, 534779136], [0, 48]] is too long" ?
> Need fix that warning, right?

Yes. You said you tested it but then sent with an error... so it's not
really a testing.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-29  7:00           ` Krzysztof Kozlowski
@ 2022-09-29  7:07             ` Yinbo Zhu
  2022-09-29  7:45               ` Krzysztof Kozlowski
  0 siblings, 1 reply; 15+ messages in thread
From: Yinbo Zhu @ 2022-09-29  7:07 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Rafael J . Wysocki, Daniel Lezcano,
	Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski,
	linux-pm, devicetree, linux-kernel
  Cc: zhanghongchen, Liu Peibao, zhuyinbo



在 2022/9/29 下午3:00, Krzysztof Kozlowski 写道:
> On 29/09/2022 05:57, Yinbo Zhu wrote:
>>
>>
>> 在 2022/9/29 上午11:42, Yinbo Zhu 写道:
>>>
>>>
>>> 在 2022/9/28 下午10:18, Krzysztof Kozlowski 写道:
>>>> On 28/09/2022 10:37, Krzysztof Kozlowski wrote:
>>>>> On 28/09/2022 10:37, Yinbo Zhu wrote:
>>>>>> Add the loongson2k thermal binding with DT schema format using
>>>>>> json-schema.
>>>>>>
>>>>>> Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
>>>>>
>>>>> Please add Acked-by/Reviewed-by tags when posting new versions. However,
>>>>> there's no need to repost patches *only* to add the tags. The upstream
>>>>> maintainer will do that for acks received on the version they apply.
>>>>>
>>>>> https://elixir.bootlin.com/linux/v5.17/source/Documentation/process/submitting-patches.rst#L540
>>>>>
>>>>>
>>>>> If a tag was not added on purpose, please state why and what changed.
>>>>>
>>>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>>>
>>>> ... and please test your patches before sending :(
>> You said is refer that "reg: [[0, 534779136], [0, 48]] is too long" ?
>> Need fix that warning, right?
> 
> Yes. You said you tested it but then sent with an error... so it's not
> really a testing.
sorry, I did do some testing. but I think It is okay that can generate a 
dtb  without reporting an error when compile yaml file, in fact, I 
ignore the warning,  I will fix it in v6.
> 
> Best regards,
> Krzysztof
> 


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-29  7:07             ` Yinbo Zhu
@ 2022-09-29  7:45               ` Krzysztof Kozlowski
  2022-09-29  8:23                 ` Yinbo Zhu
  2022-09-30  1:39                 ` Yinbo Zhu
  0 siblings, 2 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-29  7: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: zhanghongchen, Liu Peibao

On 29/09/2022 09:07, Yinbo Zhu wrote:
>>>>>
>>>>> ... and please test your patches before sending :(
>>> You said is refer that "reg: [[0, 534779136], [0, 48]] is too long" ?
>>> Need fix that warning, right?
>>
>> Yes. You said you tested it but then sent with an error... so it's not
>> really a testing.
> sorry, I did do some testing. but I think It is okay that can generate a 
> dtb  without reporting an error when compile yaml file, in fact, I 
> ignore the warning,  I will fix it in v6.


Do you also send the code with warnings reported by GCC? Judging by
number of kernel test robot reports, it could be. So just to be very,
very clear: do not send any code which generates any warning. For GCC
this means W=1 builds.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-29  7:45               ` Krzysztof Kozlowski
@ 2022-09-29  8:23                 ` Yinbo Zhu
  2022-09-29  9:04                   ` Krzysztof Kozlowski
  2022-09-30  1:39                 ` Yinbo Zhu
  1 sibling, 1 reply; 15+ messages in thread
From: Yinbo Zhu @ 2022-09-29  8:23 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Rafael J . Wysocki, Daniel Lezcano,
	Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski,
	linux-pm, devicetree, linux-kernel
  Cc: zhanghongchen, Liu Peibao, zhuyinbo



在 2022/9/29 下午3:45, Krzysztof Kozlowski 写道:
> On 29/09/2022 09:07, Yinbo Zhu wrote:
>>>>>>
>>>>>> ... and please test your patches before sending :(
>>>> You said is refer that "reg: [[0, 534779136], [0, 48]] is too long" ?
>>>> Need fix that warning, right?
>>>
>>> Yes. You said you tested it but then sent with an error... so it's not
>>> really a testing.
>> sorry, I did do some testing. but I think It is okay that can generate a
>> dtb  without reporting an error when compile yaml file, in fact, I
>> ignore the warning,  I will fix it in v6.
> 
> 
> Do you also send the code with warnings reported by GCC? Judging by
> number of kernel test robot reports, it could be. So just to be very,
> very clear: do not send any code which generates any warning. For GCC
> this means W=1 builds.
I don't find about the warning about GCC when compile yaml file.
and I dont't know the meaning about W=1, you said about "W=1" is to execute
following command to compile the yaml, right?

root@m-pc:/home/m/workspace/test/code/upstream# make DT_CHECKER_FLAGS=-m
dt_binding_check W=1 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml 


I compile it use v6 patch that compile result as follows:
root@m-pc:/home/m/workspace/test/code/upstream# make DT_CHECKER_FLAGS=-m 
dt_binding_check W=1 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml 

   DTC 
Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.example.dtb
   CHECK 
Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.example.dtb


In addtion, if you said was about loongson2_thermal.c, this code has no 
warning that I had check.

BRs,
Yinbo Zhu.

> 
> Best regards,
> Krzysztof
> 


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-29  8:23                 ` Yinbo Zhu
@ 2022-09-29  9:04                   ` Krzysztof Kozlowski
  2022-09-29 10:00                     ` Yinbo Zhu
  0 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-29  9:04 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, Liu Peibao

On 29/09/2022 10:23, Yinbo Zhu wrote:
> 
> 
> 在 2022/9/29 下午3:45, Krzysztof Kozlowski 写道:
>> On 29/09/2022 09:07, Yinbo Zhu wrote:
>>>>>>>
>>>>>>> ... and please test your patches before sending :(
>>>>> You said is refer that "reg: [[0, 534779136], [0, 48]] is too long" ?
>>>>> Need fix that warning, right?
>>>>
>>>> Yes. You said you tested it but then sent with an error... so it's not
>>>> really a testing.
>>> sorry, I did do some testing. but I think It is okay that can generate a
>>> dtb  without reporting an error when compile yaml file, in fact, I
>>> ignore the warning,  I will fix it in v6.
>>
>>
>> Do you also send the code with warnings reported by GCC? Judging by
>> number of kernel test robot reports, it could be. So just to be very,
>> very clear: do not send any code which generates any warning. For GCC
>> this means W=1 builds.
> I don't find about the warning about GCC when compile yaml file.
> and I dont't know the meaning about W=1, you said about "W=1" is to execute
> following command to compile the yaml, right?

GCC is about your C code. You were sending patches knowing that they
have warnings. It's not good. All warnings must be fixed.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-29  9:04                   ` Krzysztof Kozlowski
@ 2022-09-29 10:00                     ` Yinbo Zhu
  0 siblings, 0 replies; 15+ messages in thread
From: Yinbo Zhu @ 2022-09-29 10:00 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Rafael J . Wysocki, Daniel Lezcano,
	Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski,
	linux-pm, devicetree, linux-kernel
  Cc: zhanghongchen, Liu Peibao, zhuyinbo



在 2022/9/29 下午5:04, Krzysztof Kozlowski 写道:
> On 29/09/2022 10:23, Yinbo Zhu wrote:
>>
>>
>> 在 2022/9/29 下午3:45, Krzysztof Kozlowski 写道:
>>> On 29/09/2022 09:07, Yinbo Zhu wrote:
>>>>>>>>
>>>>>>>> ... and please test your patches before sending :(
>>>>>> You said is refer that "reg: [[0, 534779136], [0, 48]] is too long" ?
>>>>>> Need fix that warning, right?
>>>>>
>>>>> Yes. You said you tested it but then sent with an error... so it's not
>>>>> really a testing.
>>>> sorry, I did do some testing. but I think It is okay that can generate a
>>>> dtb  without reporting an error when compile yaml file, in fact, I
>>>> ignore the warning,  I will fix it in v6.
>>>
>>>
>>> Do you also send the code with warnings reported by GCC? Judging by
>>> number of kernel test robot reports, it could be. So just to be very,
>>> very clear: do not send any code which generates any warning. For GCC
>>> this means W=1 builds.
>> I don't find about the warning about GCC when compile yaml file.
>> and I dont't know the meaning about W=1, you said about "W=1" is to execute
>> following command to compile the yaml, right?
> 
> GCC is about your C code. You were sending patches knowing that they
> have warnings. It's not good. All warnings must be fixed.
what you said about C code warning whether is follows ? If is it, and I 
had add a static for loongson2_thermal_remove in v3 version code, I
think it shoud be fixed  about the warning.
 >> drivers/thermal/loongson2_thermal.c:183:5: warning: no previous 
prototype for function 'loongson2_thermal_remove' [-Wmissing-prototypes]
    int loongson2_thermal_remove(struct platform_device *pdev)
        ^
    drivers/thermal/loongson2_thermal.c:183:1: note: declare 'static' if 
the function is not intended to be used outside of this translation unit
    int loongson2_thermal_remove(struct platform_device *pdev)
    ^
    static
    1 warning generated.

If you said about C code warning isn't about about 
"loongson2_thermal_remove" and I may be loss a mail about that C code 
warning, Could you foward a mail about that C code warning. because I 
don't find any C code warning when compile C code.

About the C code warning, it was base on v6 code?

TKs,
Yinbo Zhu.
> 
> Best regards,
> Krzysztof
> 


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding
  2022-09-29  7:45               ` Krzysztof Kozlowski
  2022-09-29  8:23                 ` Yinbo Zhu
@ 2022-09-30  1:39                 ` Yinbo Zhu
  1 sibling, 0 replies; 15+ messages in thread
From: Yinbo Zhu @ 2022-09-30  1:39 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Rafael J . Wysocki, Daniel Lezcano,
	Amit Kucheria, Zhang Rui, Rob Herring, Krzysztof Kozlowski,
	linux-pm, devicetree, linux-kernel
  Cc: zhanghongchen, Liu Peibao, zhuyinbo



在 2022/9/29 下午3:45, Krzysztof Kozlowski 写道:
> On 29/09/2022 09:07, Yinbo Zhu wrote:
>>>>>>
>>>>>> ... and please test your patches before sending :(
>>>> You said is refer that "reg: [[0, 534779136], [0, 48]] is too long" ?
>>>> Need fix that warning, right?
>>>
>>> Yes. You said you tested it but then sent with an error... so it's not
>>> really a testing.
>> sorry, I did do some testing. but I think It is okay that can generate a
>> dtb  without reporting an error when compile yaml file, in fact, I
>> ignore the warning,  I will fix it in v6.
> 
> 
> Do you also send the code with warnings reported by GCC? Judging by
> number of kernel test robot reports, it could be. So just to be very,
> very clear: do not send any code which generates any warning. For GCC
> this means W=1 builds.
When use W=1, I can reproduce the warning and I will fix it in v7.

BRs,
Yinbo Zhu.
> 
> Best regards,
> Krzysztof
> 


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2022-09-30  1:39 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-28  8:37 [PATCH v5 1/3] MAINTAINERS: add maintainer for thermal driver for loongson2 SoCs Yinbo Zhu
2022-09-28  8:37 ` [PATCH v5 2/3] dt-bindings: thermal: add loongson2k thermal binding Yinbo Zhu
2022-09-28  8:37   ` Krzysztof Kozlowski
2022-09-28 14:18     ` Krzysztof Kozlowski
2022-09-29  3:42       ` Yinbo Zhu
2022-09-29  3:57         ` Yinbo Zhu
2022-09-29  7:00           ` Krzysztof Kozlowski
2022-09-29  7:07             ` Yinbo Zhu
2022-09-29  7:45               ` Krzysztof Kozlowski
2022-09-29  8:23                 ` Yinbo Zhu
2022-09-29  9:04                   ` Krzysztof Kozlowski
2022-09-29 10:00                     ` Yinbo Zhu
2022-09-30  1:39                 ` Yinbo Zhu
2022-09-28 12:38   ` Rob Herring
2022-09-28  8:37 ` [PATCH v5 3/3] thermal: loongson2: add thermal management support 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).