diff options
author | Peter Robinson <pbrobinson@gmail.com> | 2017-07-17 10:16:19 +0100 |
---|---|---|
committer | Peter Robinson <pbrobinson@gmail.com> | 2017-07-17 10:16:19 +0100 |
commit | c9fb62f5128b6fb51774a86245a8dbdaa736eede (patch) | |
tree | 10d911c5b6ce9af8b60d6acc38381b7fda1a2bf6 /arm-thermal-fixes.patch | |
parent | 2e4edabdadb8680527580c8bf72a5c6f2c9fa92a (diff) | |
download | kernel-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.patch | 224 |
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 + |