ipq806x: fix tsens driver in 4.19
authorAnsuel Smith <ansuelsmth@gmail.com>
Thu, 28 Nov 2019 21:29:15 +0000 (22:29 +0100)
committerPetr Štetiar <ynezz@true.cz>
Thu, 19 Dec 2019 21:41:57 +0000 (22:41 +0100)
Added patch:

 - 063-3 Fix tsense shared memory problem

Recent changes in ioremap_resource function are causing fails for the
memory areas which are already mapped. This changes are causing tsense
driver failures during initialization:

  qcom-tsens 900000.thermal-sensor: tsens init failed

So this patch uses simple ioremap in order to use this shared memory
space.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[commit subject and desciption facelitf]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
target/linux/ipq806x/patches-4.19/0063-3-tsens-fix-kernel-4_19.patch [new file with mode: 0644]

diff --git a/target/linux/ipq806x/patches-4.19/0063-3-tsens-fix-kernel-4_19.patch b/target/linux/ipq806x/patches-4.19/0063-3-tsens-fix-kernel-4_19.patch
new file mode 100644 (file)
index 0000000..19afe8c
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/drivers/thermal/qcom/tsens-common.c
++++ b/drivers/thermal/qcom/tsens-common.c
+@@ -128,6 +128,7 @@
+ {
+       void __iomem *base;
+       struct resource *res;
++      resource_size_t size;
+       struct platform_device *op = of_find_device_by_node(tmdev->dev->of_node);
+       if (!op)
+@@ -142,7 +143,8 @@ int __init init_common(struct tsens_devi
+       }
+       res = platform_get_resource(op, IORESOURCE_MEM, 0);
+-      base = devm_ioremap_resource(&op->dev, res);
++      size = resource_size(res);
++      base = devm_ioremap(&op->dev, res->start, size);
+       if (IS_ERR(base))
+               return PTR_ERR(base);