ipq806x: replace tsens patch with upstream version
authorChristian Marangi <ansuelsmth@gmail.com>
Sun, 21 Jan 2024 21:42:54 +0000 (22:42 +0100)
committerChristian Marangi <ansuelsmth@gmail.com>
Sun, 21 Jan 2024 21:45:40 +0000 (22:45 +0100)
Replace tsens patch with upstream version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
target/linux/ipq806x/patches-6.1/004-v6.2-01-thermal-drivers-qcom-tsens-Init-debugfs-only-with-su.patch [new file with mode: 0644]
target/linux/ipq806x/patches-6.1/004-v6.2-02-thermal-drivers-qcom-tsens-Fix-wrong-version-id-dbg_.patch [new file with mode: 0644]
target/linux/ipq806x/patches-6.1/004-v6.2-03-thermal-drivers-qcom-tsens-Rework-debugfs-file-struc.patch [new file with mode: 0644]
target/linux/ipq806x/patches-6.1/110-01-thermal-qcom-tsens-init-debugfs-only-with-successful.patch [deleted file]
target/linux/ipq806x/patches-6.1/110-02-thermal-qcom-tsens-simplify-debugfs-init-function.patch [deleted file]

diff --git a/target/linux/ipq806x/patches-6.1/004-v6.2-01-thermal-drivers-qcom-tsens-Init-debugfs-only-with-su.patch b/target/linux/ipq806x/patches-6.1/004-v6.2-01-thermal-drivers-qcom-tsens-Init-debugfs-only-with-su.patch
new file mode 100644 (file)
index 0000000..76df0f5
--- /dev/null
@@ -0,0 +1,42 @@
+From de48d8766afcd97d147699aaff78a338081c9973 Mon Sep 17 00:00:00 2001
+From: Christian Marangi <ansuelsmth@gmail.com>
+Date: Sat, 22 Oct 2022 14:56:55 +0200
+Subject: [PATCH 1/3] thermal/drivers/qcom/tsens: Init debugfs only with
+ successful probe
+
+Calibrate and tsens_register can fail or PROBE_DEFER. This will cause a
+double or a wrong init of the debugfs information. Init debugfs only
+with successful probe fixing warning about directory already present.
+
+Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
+Acked-by: Thara Gopinath <thara.gopinath@linaro.org>
+Link: https://lore.kernel.org/r/20221022125657.22530-2-ansuelsmth@gmail.com
+Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org>
+---
+ drivers/thermal/qcom/tsens.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/drivers/thermal/qcom/tsens.c
++++ b/drivers/thermal/qcom/tsens.c
+@@ -918,8 +918,6 @@ int __init init_common(struct tsens_priv
+       if (tsens_version(priv) >= VER_0_1)
+               tsens_enable_irq(priv);
+-      tsens_debug_init(op);
+-
+ err_put_device:
+       put_device(&op->dev);
+       return ret;
+@@ -1156,7 +1154,11 @@ static int tsens_probe(struct platform_d
+               }
+       }
+-      return tsens_register(priv);
++      ret = tsens_register(priv);
++      if (!ret)
++              tsens_debug_init(pdev);
++
++      return ret;
+ }
+ static int tsens_remove(struct platform_device *pdev)
diff --git a/target/linux/ipq806x/patches-6.1/004-v6.2-02-thermal-drivers-qcom-tsens-Fix-wrong-version-id-dbg_.patch b/target/linux/ipq806x/patches-6.1/004-v6.2-02-thermal-drivers-qcom-tsens-Fix-wrong-version-id-dbg_.patch
new file mode 100644 (file)
index 0000000..10f1e36
--- /dev/null
@@ -0,0 +1,29 @@
+From c7e077e921fa94e0c06c8d14af6c0504c8a5f4bd Mon Sep 17 00:00:00 2001
+From: Christian Marangi <ansuelsmth@gmail.com>
+Date: Sat, 22 Oct 2022 14:56:56 +0200
+Subject: [PATCH 2/3] thermal/drivers/qcom/tsens: Fix wrong version id
+ dbg_version_show
+
+For VER_0 the version was incorrectly reported as 0.1.0.
+
+Fix that and correctly report the major version for this old tsens
+revision.
+
+Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
+Link: https://lore.kernel.org/r/20221022125657.22530-3-ansuelsmth@gmail.com
+Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org>
+---
+ drivers/thermal/qcom/tsens.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/thermal/qcom/tsens.c
++++ b/drivers/thermal/qcom/tsens.c
+@@ -692,7 +692,7 @@ static int dbg_version_show(struct seq_f
+                       return ret;
+               seq_printf(s, "%d.%d.%d\n", maj_ver, min_ver, step_ver);
+       } else {
+-              seq_puts(s, "0.1.0\n");
++              seq_printf(s, "0.%d.0\n", priv->feat->ver_major);
+       }
+       return 0;
diff --git a/target/linux/ipq806x/patches-6.1/004-v6.2-03-thermal-drivers-qcom-tsens-Rework-debugfs-file-struc.patch b/target/linux/ipq806x/patches-6.1/004-v6.2-03-thermal-drivers-qcom-tsens-Rework-debugfs-file-struc.patch
new file mode 100644 (file)
index 0000000..63cce79
--- /dev/null
@@ -0,0 +1,54 @@
+From 89992d95ed1046338c7866ef7bbe6de543a2af91 Mon Sep 17 00:00:00 2001
+From: Christian Marangi <ansuelsmth@gmail.com>
+Date: Sat, 22 Oct 2022 14:56:57 +0200
+Subject: [PATCH 3/3] thermal/drivers/qcom/tsens: Rework debugfs file structure
+
+The current tsens debugfs structure is composed by:
+- a tsens dir in debugfs with a version file
+- a directory for each tsens istance with sensors file to dump all the
+  sensors value.
+
+This works on the assumption that we have the same version for each
+istance but this assumption seems fragile and with more than one tsens
+istance results in the version file not tracking each of them.
+
+A better approach is to just create a subdirectory for each tsens
+istance and put there version and sensors debugfs file.
+
+Using this new implementation results in less code since debugfs entry
+are created only on successful tsens probe.
+
+Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
+Link: https://lore.kernel.org/r/20221022125657.22530-4-ansuelsmth@gmail.com
+Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org>
+---
+ drivers/thermal/qcom/tsens.c | 13 +++----------
+ 1 file changed, 3 insertions(+), 10 deletions(-)
+
+--- a/drivers/thermal/qcom/tsens.c
++++ b/drivers/thermal/qcom/tsens.c
+@@ -704,21 +704,14 @@ DEFINE_SHOW_ATTRIBUTE(dbg_sensors);
+ static void tsens_debug_init(struct platform_device *pdev)
+ {
+       struct tsens_priv *priv = platform_get_drvdata(pdev);
+-      struct dentry *root, *file;
+-      root = debugfs_lookup("tsens", NULL);
+-      if (!root)
++      priv->debug_root = debugfs_lookup("tsens", NULL);
++      if (!priv->debug_root)
+               priv->debug_root = debugfs_create_dir("tsens", NULL);
+-      else
+-              priv->debug_root = root;
+-
+-      file = debugfs_lookup("version", priv->debug_root);
+-      if (!file)
+-              debugfs_create_file("version", 0444, priv->debug_root,
+-                                  pdev, &dbg_version_fops);
+       /* A directory for each instance of the TSENS IP */
+       priv->debug = debugfs_create_dir(dev_name(&pdev->dev), priv->debug_root);
++      debugfs_create_file("version", 0444, priv->debug, pdev, &dbg_version_fops);
+       debugfs_create_file("sensors", 0444, priv->debug, pdev, &dbg_sensors_fops);
+ }
+ #else
diff --git a/target/linux/ipq806x/patches-6.1/110-01-thermal-qcom-tsens-init-debugfs-only-with-successful.patch b/target/linux/ipq806x/patches-6.1/110-01-thermal-qcom-tsens-init-debugfs-only-with-successful.patch
deleted file mode 100644 (file)
index c9b20a0..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-From 8f32d48a309246a80bdca505968085a484d54408 Mon Sep 17 00:00:00 2001
-From: Ansuel Smith <ansuelsmth@gmail.com>
-Date: Mon, 19 Apr 2021 03:01:53 +0200
-Subject: [thermal-next PATCH v2 1/2] thermal: qcom: tsens: init debugfs only with
- successful probe
-
-calibrate and tsens_register can fail or PROBE_DEFER. This will cause a
-double or a wrong init of the debugfs information. Init debugfs only
-with successful probe fixing warning about directory already present.
-
-Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
-Acked-by: Thara Gopinath <thara.gopinath@linaro.org>
----
- drivers/thermal/qcom/tsens.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
---- a/drivers/thermal/qcom/tsens.c
-+++ b/drivers/thermal/qcom/tsens.c
-@@ -918,8 +918,6 @@ int __init init_common(struct tsens_priv
-       if (tsens_version(priv) >= VER_0_1)
-               tsens_enable_irq(priv);
--      tsens_debug_init(op);
--
- err_put_device:
-       put_device(&op->dev);
-       return ret;
-@@ -1156,7 +1154,12 @@ static int tsens_probe(struct platform_d
-               }
-       }
--      return tsens_register(priv);
-+      ret = tsens_register(priv);
-+
-+      if (!ret)
-+              tsens_debug_init(pdev);
-+
-+      return ret;
- }
- static int tsens_remove(struct platform_device *pdev)
diff --git a/target/linux/ipq806x/patches-6.1/110-02-thermal-qcom-tsens-simplify-debugfs-init-function.patch b/target/linux/ipq806x/patches-6.1/110-02-thermal-qcom-tsens-simplify-debugfs-init-function.patch
deleted file mode 100644 (file)
index 0fbc4bd..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 4204f22060f7a5d42c6ccb4d4c25a6a875571099 Mon Sep 17 00:00:00 2001
-From: Ansuel Smith <ansuelsmth@gmail.com>
-Date: Mon, 19 Apr 2021 03:08:37 +0200
-Subject: [thermal-next PATCH v2 2/2] thermal: qcom: tsens: simplify debugfs init
- function
-
-Simplify debugfs init function.
-- Add check for existing dev directory.
-- Fix wrong version in dbg_version_show (with version 0.0.0, 0.1.0 was
-  incorrectly reported)
-
-Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
-Reviewed-by: Thara Gopinath <thara.gopinath@linaro.org>
----
- drivers/thermal/qcom/tsens.c | 16 +++++++---------
- 1 file changed, 7 insertions(+), 9 deletions(-)
-
---- a/drivers/thermal/qcom/tsens.c
-+++ b/drivers/thermal/qcom/tsens.c
-@@ -692,7 +692,7 @@ static int dbg_version_show(struct seq_f
-                       return ret;
-               seq_printf(s, "%d.%d.%d\n", maj_ver, min_ver, step_ver);
-       } else {
--              seq_puts(s, "0.1.0\n");
-+              seq_printf(s, "0.%d.0\n", priv->feat->ver_major);
-       }
-       return 0;
-@@ -704,21 +704,17 @@ DEFINE_SHOW_ATTRIBUTE(dbg_sensors);
- static void tsens_debug_init(struct platform_device *pdev)
- {
-       struct tsens_priv *priv = platform_get_drvdata(pdev);
--      struct dentry *root, *file;
--      root = debugfs_lookup("tsens", NULL);
--      if (!root)
-+      priv->debug_root = debugfs_lookup("tsens", NULL);
-+      if (!priv->debug_root)
-               priv->debug_root = debugfs_create_dir("tsens", NULL);
--      else
--              priv->debug_root = root;
--      file = debugfs_lookup("version", priv->debug_root);
--      if (!file)
-+      if (!debugfs_lookup("version", priv->debug_root))
-               debugfs_create_file("version", 0444, priv->debug_root,
-                                   pdev, &dbg_version_fops);
-       /* A directory for each instance of the TSENS IP */
--      priv->debug = debugfs_create_dir(dev_name(&pdev->dev), priv->debug_root);
-+      priv->debug = debugfs_lookup(dev_name(&pdev->dev), priv->debug_root);
-       debugfs_create_file("sensors", 0444, priv->debug, pdev, &dbg_sensors_fops);
- }
- #else