[PATCH] thermal: brcmstb: enable hwmon

From: Chen-Yu Tsai
Date: Wed Oct 30 2019 - 12:39:34 EST


From: Chen-Yu Tsai <wens@xxxxxxxx>

By defaul of-based thermal driver do not have hwmon entries registered.

Do this explicitly so users can use standard hwmon interfaces and tools
to read the temperature.

This is based on similar changes for bcm2835_thermal in commit
d56c19d07e0b ("thermal: bcm2835: enable hwmon explicitly").

Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx>
---

This patch was only compile tested. A similar patch [1] was submitted to
the downstream kernel, which I did build and actually run on a Raspberry
Pi 4.

This one for mainline is much simpler, as it does not need to deal with
the error path or device removal, due to the use of devres.

[1] https://github.com/raspberrypi/linux/pull/3307

---
drivers/thermal/broadcom/brcmstb_thermal.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/thermal/broadcom/brcmstb_thermal.c b/drivers/thermal/broadcom/brcmstb_thermal.c
index 5825ac581f56..8353aaa4d624 100644
--- a/drivers/thermal/broadcom/brcmstb_thermal.c
+++ b/drivers/thermal/broadcom/brcmstb_thermal.c
@@ -21,6 +21,8 @@
#include <linux/of_device.h>
#include <linux/thermal.h>

+#include "../thermal_hwmon.h"
+
#define AVS_TMON_STATUS 0x00
#define AVS_TMON_STATUS_valid_msk BIT(11)
#define AVS_TMON_STATUS_data_msk GENMASK(10, 1)
@@ -343,6 +345,12 @@ static int brcmstb_thermal_probe(struct platform_device *pdev)
return ret;
}

+ /* hwmon not enabled by default. Enable it here. */
+ thermal->tzp->no_hwmon = false;
+ ret = thermal_add_hwmon_sysfs(thermal);
+ if (ret)
+ return ret;
+
dev_info(&pdev->dev, "registered AVS TMON of-sensor driver\n");

return 0;
--
2.20.1