[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210320080646.49615-1-linux@fw-web.de>
Date: Sat, 20 Mar 2021 09:06:46 +0100
From: Frank Wunderlich <linux@...web.de>
To: linux-mediatek@...ts.infradead.org
Cc: Frank Wunderlich <frank-w@...lic-files.de>,
Zhang Rui <rui.zhang@...el.com>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Amit Kucheria <amitk@...nel.org>,
Matthias Brugger <matthias.bgg@...il.com>,
linux-pm@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] thermal: mediatek: add sensors-support
From: Frank Wunderlich <frank-w@...lic-files.de>
add HWMON-support to mediateks thermanl driver to allow lm-sensors
userspace tools read soc temperature
Signed-off-by: Frank Wunderlich <frank-w@...lic-files.de>
---
drivers/thermal/mtk_thermal.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/drivers/thermal/mtk_thermal.c b/drivers/thermal/mtk_thermal.c
index 149c6d7fd5a0..e22d77d57458 100644
--- a/drivers/thermal/mtk_thermal.c
+++ b/drivers/thermal/mtk_thermal.c
@@ -23,6 +23,8 @@
#include <linux/reset.h>
#include <linux/types.h>
+#include "thermal_hwmon.h"
+
/* AUXADC Registers */
#define AUXADC_CON1_SET_V 0x008
#define AUXADC_CON1_CLR_V 0x00c
@@ -983,6 +985,13 @@ static void mtk_thermal_release_periodic_ts(struct mtk_thermal *mt,
writel((tmp & (~0x10e)), mt->thermal_base + TEMP_MSRCTL1);
}
+static void mtk_thermal_hwmon_action(void *data)
+{
+ struct thermal_zone_device *zone = data;
+
+ thermal_remove_hwmon_sysfs(zone);
+}
+
static int mtk_thermal_probe(struct platform_device *pdev)
{
int ret, i, ctrl_id;
@@ -1087,6 +1096,19 @@ static int mtk_thermal_probe(struct platform_device *pdev)
goto err_disable_clk_peri_therm;
}
+#ifdef CONFIG_THERMAL_HWMON
+ tzdev->tzp->no_hwmon = false;
+ ret = thermal_add_hwmon_sysfs(tzdev);
+ if (ret)
+ dev_err(&pdev->dev, "error in thermal_add_hwmon_sysfs");
+
+ ret = devm_add_action(&pdev->dev, mtk_thermal_hwmon_action, tzdev);
+ if (ret) {
+ dev_err(&pdev->dev, "error in devm_add_action");
+ mtk_thermal_hwmon_action(tzdev);
+ }
+#endif
+
return 0;
err_disable_clk_peri_therm:
--
2.25.1
Powered by blists - more mailing lists