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>
Tue, 3 Dec 2019 21:10:08 +0000 (22:10 +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..ae6c6a0
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/drivers/thermal/qcom/tsens-common.c
++++ b/drivers/thermal/qcom/tsens-common.c
+@@ -126,6 +126,7 @@ static const struct regmap_config tsens_
+ int __init init_common(struct tsens_device *tmdev)
+ {
++      resource_size_t size;
+       void __iomem *base;
+       struct resource *res;
+       struct platform_device *op = of_find_device_by_node(tmdev->dev->of_node);
+@@ -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);