summaryrefslogtreecommitdiffstats
path: root/arm-thermal-fixes.patch
diff options
context:
space:
mode:
authorPeter Robinson <pbrobinson@gmail.com>2017-07-17 10:16:19 +0100
committerPeter Robinson <pbrobinson@gmail.com>2017-07-17 10:16:19 +0100
commitc9fb62f5128b6fb51774a86245a8dbdaa736eede (patch)
tree10d911c5b6ce9af8b60d6acc38381b7fda1a2bf6 /arm-thermal-fixes.patch
parent2e4edabdadb8680527580c8bf72a5c6f2c9fa92a (diff)
downloadkernel-c9fb62f5128b6fb51774a86245a8dbdaa736eede.tar.gz
kernel-c9fb62f5128b6fb51774a86245a8dbdaa736eede.tar.xz
kernel-c9fb62f5128b6fb51774a86245a8dbdaa736eede.zip
minor ARM fixes
Diffstat (limited to 'arm-thermal-fixes.patch')
-rw-r--r--arm-thermal-fixes.patch224
1 files changed, 224 insertions, 0 deletions
diff --git a/arm-thermal-fixes.patch b/arm-thermal-fixes.patch
new file mode 100644
index 000000000..547731e79
--- /dev/null
+++ b/arm-thermal-fixes.patch
@@ -0,0 +1,224 @@
+From 0fe4d2181cc4cb3eba303c0e03f878d2558d0f3a Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <stefan.wahren@i2se.com>
+Date: Fri, 31 Mar 2017 20:03:04 +0000
+Subject: [PATCH] ARM: dts: bcm283x: Add CPU thermal zone with 1
+ trip point
+
+As suggested by Eduardo Valentin this adds the thermal zone for
+the bcm2835 SoC with its single thermal sensor. We start with
+the criticial trip point and leave the cooling devices empty
+since we don't have any at the moment. Since the coefficients
+could vary depending on the SoC we need to define them separate.
+
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Acked-by: Eduardo Valentin <edubezval@gmail.com>
+---
+ arch/arm/boot/dts/bcm2835.dtsi | 4 ++++
+ arch/arm/boot/dts/bcm2836.dtsi | 4 ++++
+ arch/arm/boot/dts/bcm283x.dtsi | 21 +++++++++++++++++++++
+ 3 files changed, 29 insertions(+)
+
+diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
+index 0890d97e674d..659b6e9513b1 100644
+--- a/arch/arm/boot/dts/bcm2835.dtsi
++++ b/arch/arm/boot/dts/bcm2835.dtsi
+@@ -24,6 +24,10 @@
+ };
+ };
+
++&cpu_thermal {
++ coefficients = <(-538) 407000>;
++};
++
+ /* enable thermal sensor with the correct compatible property set */
+ &thermal {
+ compatible = "brcm,bcm2835-thermal";
+diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
+index 519a44f5d25a..da3deeb42592 100644
+--- a/arch/arm/boot/dts/bcm2836.dtsi
++++ b/arch/arm/boot/dts/bcm2836.dtsi
+@@ -77,6 +77,10 @@
+ interrupts = <8>;
+ };
+
++&cpu_thermal {
++ coefficients = <(-538) 407000>;
++};
++
+ /* enable thermal sensor with the correct compatible property set */
+ &thermal {
+ compatible = "brcm,bcm2836-thermal";
+diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
+index 561f27d8d922..86a5db53da8f 100644
+--- a/arch/arm/boot/dts/bcm283x.dtsi
++++ b/arch/arm/boot/dts/bcm283x.dtsi
+@@ -19,6 +19,26 @@
+ bootargs = "earlyprintk console=ttyAMA0";
+ };
+
++ thermal-zones {
++ cpu_thermal: cpu-thermal {
++ polling-delay-passive = <0>;
++ polling-delay = <1000>;
++
++ thermal-sensors = <&thermal>;
++
++ trips {
++ cpu-crit {
++ temperature = <80000>;
++ hysteresis = <0>;
++ type = "critical";
++ };
++ };
++
++ cooling-maps {
++ };
++ };
++ };
++
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+@@ -430,6 +450,7 @@
+ compatible = "brcm,bcm2835-thermal";
+ reg = <0x7e212000 0x8>;
+ clocks = <&clocks BCM2835_CLOCK_TSENS>;
++ #thermal-sensor-cells = <0>;
+ status = "disabled";
+ };
+
+--
+2.13.3
+
+From 4ae6f954b96c1fea86c6f21ae8fc413f5fc3444e Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <stefan.wahren@i2se.com>
+Date: Fri, 31 Mar 2017 20:03:05 +0000
+Subject: [PATCH] ARM64: dts: bcm2837: Define CPU thermal coefficients
+
+This defines the bcm2837 SoC specific thermal coefficients in
+order to initialize the thermal driver correctly.
+
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Acked-by: Eduardo Valentin <edubezval@gmail.com>
+---
+ arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
+index 19f2fe620a21..2d5de6f0f78d 100644
+--- a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
++++ b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
+@@ -75,6 +75,10 @@
+ interrupts = <8>;
+ };
+
++&cpu_thermal {
++ coefficients = <(-538) 412000>;
++};
++
+ /* enable thermal sensor with the correct compatible property set */
+ &thermal {
+ compatible = "brcm,bcm2837-thermal";
+--
+2.13.3
+
+From 1fe3854a83b580727c9464b37b62ba77ead1d6f6 Mon Sep 17 00:00:00 2001
+From: Dan Carpenter <dan.carpenter@oracle.com>
+Date: Wed, 14 Jun 2017 12:13:27 +0300
+Subject: [PATCH] thermal: bcm2835: fix an error code in probe()
+
+This causes a static checker because we're passing a valid pointer to
+PTR_ERR(). "err" is already the correct error code, so we can just
+delete this line.
+
+Fixes: bcb7dd9ef206 ("thermal: bcm2835: add thermal driver for bcm2835 SoC")
+Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
+Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
+---
+ drivers/thermal/broadcom/bcm2835_thermal.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/drivers/thermal/broadcom/bcm2835_thermal.c b/drivers/thermal/broadcom/bcm2835_thermal.c
+index 0ecf80890c84..e6863c841662 100644
+--- a/drivers/thermal/broadcom/bcm2835_thermal.c
++++ b/drivers/thermal/broadcom/bcm2835_thermal.c
+@@ -245,7 +245,6 @@ static int bcm2835_thermal_probe(struct platform_device *pdev)
+ */
+ err = tz->ops->get_trip_temp(tz, 0, &trip_temp);
+ if (err < 0) {
+- err = PTR_ERR(tz);
+ dev_err(&pdev->dev,
+ "Not able to read trip_temp: %d\n",
+ err);
+--
+2.13.3
+
+From e3bdc8d7623d5875403ad40443e7b049ae200fcd Mon Sep 17 00:00:00 2001
+From: Arvind Yadav <arvind.yadav.cs@gmail.com>
+Date: Tue, 6 Jun 2017 15:12:37 +0530
+Subject: [PATCH] thermal: imx: Handle return value of clk_prepare_enable
+
+clk_prepare_enable() can fail here and we must check its return value.
+
+Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
+Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
+---
+ drivers/thermal/imx_thermal.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
+index f7ec39f46ee4..4798b4b1fd77 100644
+--- a/drivers/thermal/imx_thermal.c
++++ b/drivers/thermal/imx_thermal.c
+@@ -660,8 +660,11 @@ static int imx_thermal_resume(struct device *dev)
+ {
+ struct imx_thermal_data *data = dev_get_drvdata(dev);
+ struct regmap *map = data->tempmon;
++ int ret;
+
+- clk_prepare_enable(data->thermal_clk);
++ ret = clk_prepare_enable(data->thermal_clk);
++ if (ret)
++ return ret;
+ /* Enabled thermal sensor after resume */
+ regmap_write(map, TEMPSENSE0 + REG_CLR, TEMPSENSE0_POWER_DOWN);
+ regmap_write(map, TEMPSENSE0 + REG_SET, TEMPSENSE0_MEASURE_TEMP);
+--
+2.13.3
+
+From 919054fdfc8adf58c5512fe9872eb53ea0f5525d Mon Sep 17 00:00:00 2001
+From: Arvind Yadav <arvind.yadav.cs@gmail.com>
+Date: Tue, 6 Jun 2017 15:04:46 +0530
+Subject: [PATCH] thermal: hisilicon: Handle return value of clk_prepare_enable
+
+clk_prepare_enable() can fail here and we must check its return value.
+
+Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
+Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
+---
+ drivers/thermal/hisi_thermal.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/thermal/hisi_thermal.c b/drivers/thermal/hisi_thermal.c
+index f6429666a1cf..9c3ce341eb97 100644
+--- a/drivers/thermal/hisi_thermal.c
++++ b/drivers/thermal/hisi_thermal.c
+@@ -397,8 +397,11 @@ static int hisi_thermal_suspend(struct device *dev)
+ static int hisi_thermal_resume(struct device *dev)
+ {
+ struct hisi_thermal_data *data = dev_get_drvdata(dev);
++ int ret;
+
+- clk_prepare_enable(data->clk);
++ ret = clk_prepare_enable(data->clk);
++ if (ret)
++ return ret;
+
+ data->irq_enabled = true;
+ hisi_thermal_enable_bind_irq_sensor(data);
+--
+2.13.3
+