thermal: mediatek: add sensors-support
Subsystems (2)
PATCH 1/1 thermal: mediatek: add sensors-support
From: Frank Wunderlich <[email protected]>
add HWMON-support to mediateks thermanl driver to allow lm-sensors userspace tools read soc temperature
--- drivers/thermal/mtk_thermal.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
drivers/thermal/mtk_thermal.c +22 -0
@@ -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:
Signature · 7 lines
2.25.1 _______________________________________________ Linux-mediatek mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-mediatek
Hi,
any opinion (except typo)?
thermanl => thermal
regards Frank
Quoted 4 lines
Gesendet: Samstag, 20. März 2021 um 10:06 Uhr
Von: "Frank Wunderlich" <[email protected]>
add HWMON-support to mediateks thermanl driver to allow lm-sensors userspace tools read soc temperature
Quoted 38 lines · Frank Wunderlich
From: Frank Wunderlich <[email protected]>
add HWMON-support to mediateks thermanl driver to allow lm-sensors userspace tools read soc temperature
Signed-off-by Frank Wunderlich <[email protected]>--- drivers/thermal/mtk_thermal.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)drivers/thermal/mtk_thermal.c +9
-0@@ -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;
drivers/thermal/mtk_thermal.c static int mtk_thermal_probe(struct platform_device *pdev) · line 1099
Quoted 4 lines
drivers/thermal/mtk_thermal.c +1
-0@@ -1087,6 +1096,19 @@ static int mtk_thermal_probe(struct platform_device *pdev) goto err_disable_clk_peri_therm; } +#ifdef CONFIG_THERMAL_HWMON
No #ifdef in C file.
drivers/thermal/mtk_thermal.c static int mtk_thermal_probe(struct platform_device *pdev) · line 1105
Quoted 6 lines
drivers/thermal/mtk_thermal.c +6
-0+ 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);
devm_thermal_add_hwmon_sysfs() ?
Quoted 10 lines
drivers/thermal/mtk_thermal.c +6
-0+if (ret) { +dev_err (&pdev->dev,"error in devm_add_action" ); +mtk_thermal_hwmon_action (tzdev); + } +#endif +return 0 ; err_disable_clk_peri_therm:
Signature · 5 lines
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
Hi,
Quoted 4 lines
Gesendet: Dienstag, 20. April 2021 um 14:07 Uhr
Von: "Daniel Lezcano" <[email protected]>No #ifdef in C file.
...
Quoted 1 line
devm_thermal_add_hwmon_sysfs()?
based on your comments this should be enough/right?
#if IS_ENABLED(CONFIG_THERMAL_HWMON)
tzdev->tzp->no_hwmon = false;
ret = devm_thermal_add_hwmon_sysfs(tzdev);
if (ret)
dev_err(&pdev->dev, "error in thermal_add_hwmon_sysfs");#endif
if yes i send out v2, at least it works on my device
regards Frank
Hi Frank,
Quoted 12 lines · Frank Wunderlich
Hi,
Quoted 4 lines
Gesendet: Dienstag, 20. April 2021 um 14:07 Uhr
Von: "Daniel Lezcano" <[email protected]>No #ifdef in C file.
...
Quoted 1 line
devm_thermal_add_hwmon_sysfs()?based on your comments this should be enough/right?
Quoted 7 lines
#if IS_ENABLED(CONFIG_THERMAL_HWMON) tzdev->tzp->no_hwmon = false;> ret = devm_thermal_add_hwmon_sysfs(tzdev); if (ret) dev_err(&pdev->dev, "error in thermal_add_hwmon_sysfs");#endif
if yes i send out v2, at least it works on my device
just the following lines should work:
ret = devm_thermal_add_hwmon_sysfs(tzdev); if (ret) dev_err(&pdev->dev, "error in thermal_add_hwmon_sysfs");
The no_hwmon usage is a bit fuzzy in the thermal core code.
Signature · 5 lines
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
Am 20. April 2021 17:18:32 MESZ schrieb Daniel Lezcano <[email protected]>:
Quoted 4 lines
Hi Frank,
The
no_hwmonusage is a bit fuzzy in the thermal core code.
Maybe add depency in Kconfig? Else we can get undefined symbols on linking
regards Frank
Quoted 9 lines · Frank Wunderlich
Am 20. April 2021 17:18:32 MESZ schrieb Daniel Lezcano <[email protected]>:
Quoted 4 lines
Hi Frank,
The
no_hwmonusage is a bit fuzzy in the thermal core code.Maybe add depency in
Kconfig? Else we can get undefined symbols on linkingregards Frank
Nope, there are the stubs in thermal_hwmon.h
Signature · 5 lines
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog