thermal/drivers/hisi: Add the dual clusters sensors for hi3660
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Tue, 25 Sep 2018 09:03:12 +0000 (11:03 +0200)
committerEduardo Valentin <edubezval@gmail.com>
Tue, 23 Oct 2018 00:52:11 +0000 (17:52 -0700)
The code is ready to support multiple sensors on the hi3660. The DT
defines a thermal zone per cluster.

Add the little cluster sensor and let it bind with the thermal zone.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
drivers/thermal/hisi_thermal.c

index ba89cb9a624821ae1cdb6b8ca6abe7fc84c0b1c8..c4111a98f1a79570c9eb98e7d0fcf9dbcbf2ec67 100644 (file)
@@ -424,14 +424,20 @@ static int hi3660_thermal_probe(struct hisi_thermal_data *data)
        struct platform_device *pdev = data->pdev;
        struct device *dev = &pdev->dev;
 
-       data->sensor = devm_kzalloc(dev, sizeof(*data->sensor), GFP_KERNEL);
+       data->nr_sensors = 2;
+
+       data->sensor = devm_kzalloc(dev, sizeof(*data->sensor) *
+                                   data->nr_sensors, GFP_KERNEL);
        if (!data->sensor)
                return -ENOMEM;
 
        data->sensor[0].id = HI3660_BIG_SENSOR;
        data->sensor[0].irq_name = "tsensor_a73";
        data->sensor[0].data = data;
-       data->nr_sensors = 1;
+
+       data->sensor[1].id = HI3660_LITTLE_SENSOR;
+       data->sensor[1].irq_name = "tsensor_a53";
+       data->sensor[1].data = data;
 
        return 0;
 }
@@ -443,8 +449,8 @@ static int hisi_thermal_get_temp(void *__data, int *temp)
 
        *temp = data->ops->get_temp(sensor);
 
-       dev_dbg(&data->pdev->dev, "id=%d, temp=%d, thres=%d\n",
-               sensor->id, *temp, sensor->thres_temp);
+       dev_dbg(&data->pdev->dev, "tzd=%p, id=%d, temp=%d, thres=%d\n",
+               sensor->tzd, sensor->id, *temp, sensor->thres_temp);
 
        return 0;
 }