[PATCH v17 1/5] thermal: rockchip: add driver for thermal
From: dmitry.torokhov@gmail.com (Dmitry Torokhov)
Date: 2014-11-07 01:57:35
Also in:
linux-devicetree, linux-pm, lkml
Hi Eduardo, On Thu, Nov 06, 2014 at 09:30:20PM -0400, Eduardo Valentin wrote:
Hello Caesar, On Sat, Nov 01, 2014 at 10:44:29AM +0800, Caesar Wang wrote:quoted
Thermal is TS-ADC Controller module supports user-defined mode and automatic mode. User-defined mode refers,TSADC all the control signals entirely by software writing to register for direct control. Automaic mode refers to the module automatically poll TSADC output, and the results were checked.If you find that the temperature High in a period of time,an interrupt is generated to the processor down-measures taken;If the temperature over a period of time High, the resulting TSHUT gave CRU module,let it reset the entire chip, or via GPIO give PMIC.First thing, very good progress in this driver!quoted
Signed-off-by: zhaoyifeng <redacted> Signed-off-by: Caesar Wang <redacted> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>Just for the sake of code / documentation history, this patch, which adds the driver, should come after patch 2, which adds dt documentation.quoted
--- drivers/thermal/Kconfig | 9 + drivers/thermal/Makefile | 1 + drivers/thermal/rockchip_thermal.c | 711 +++++++++++++++++++++++++++++++++++++ 3 files changed, 721 insertions(+) create mode 100644 drivers/thermal/rockchip_thermal.c<big cut>quoted
+static int +rockchip_thermal_register_sensor(struct platform_device *pdev, + struct rockchip_thermal_data *thermal, + struct rockchip_thermal_sensor *sensor, + enum sensor_id id) +{ + const struct rockchip_tsadc_chip *tsadc = thermal->chip; + int error; + + tsadc->set_tshut_mode(id, thermal->regs, thermal->tshut_mode); + tsadc->set_tshut_temp(id, thermal->regs, thermal->tshut_temp); + + sensor->thermal = thermal; + sensor->id = id; + sensor->tzd = thermal_zone_of_sensor_register(&pdev->dev, id, sensor, + rockchip_thermal_get_temp, + NULL, + rockchip_thermal_set_trips);So, did I miss something here? Looks like you have extended the of thermal, and I haven't seen the patch. CC [M] drivers/thermal/rockchip_thermal.o drivers/thermal/rockchip_thermal.c: In function `rockchip_thermal_register_sensor': drivers/thermal/rockchip_thermal.c:482:7: error: too many arguments to function `thermal_zone_of_sensor_register' rockchip_thermal_set_trips);
Yes, it relies on patch by Mikko Perttunen adding support for hardware-supported trip points. It allows us to reduce polling frequency while still being able to react when we cross the tripping point. See https://lkml.org/lkml/2014/6/27/76 Thanks. -- Dmitry