Skip to content

Commit

Permalink
ipq806x: replace tsens patch with upstream version
Browse files Browse the repository at this point in the history
Replace tsens patch with upstream version.

Signed-off-by: Christian Marangi <[email protected]>
  • Loading branch information
Ansuel authored and noblemtw committed Jan 22, 2024
1 parent 4d4e82f commit 5673dfc
Show file tree
Hide file tree
Showing 5 changed files with 129 additions and 95 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
From de48d8766afcd97d147699aaff78a338081c9973 Mon Sep 17 00:00:00 2001
From: Christian Marangi <[email protected]>
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 <[email protected]>
Acked-by: Thara Gopinath <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Daniel Lezcano <[email protected]>
---
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
@@ -917,8 +917,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;
<<<<<<<< HEAD:target/linux/ipq806x/patches-5.15/110-01-thermal-qcom-tsens-init-debugfs-only-with-successful.patch
@@ -1163,7 +1161,12 @@ static int tsens_probe(struct platform_d
========
@@ -1156,7 +1154,11 @@ static int tsens_probe(struct platform_d
>>>>>>>> dac2f07c23 (ipq806x: replace tsens patch with upstream version):target/linux/ipq806x/patches-5.15/004-v6.2-01-thermal-drivers-qcom-tsens-Init-debugfs-only-with-su.patch
}
}

- return tsens_register(priv);
+ ret = tsens_register(priv);
+ if (!ret)
+ tsens_debug_init(pdev);
+
+ return ret;
}

static int tsens_remove(struct platform_device *pdev)
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
From c7e077e921fa94e0c06c8d14af6c0504c8a5f4bd Mon Sep 17 00:00:00 2001
From: Christian Marangi <[email protected]>
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 <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Daniel Lezcano <[email protected]>
---
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;
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
From 89992d95ed1046338c7866ef7bbe6de543a2af91 Mon Sep 17 00:00:00 2001
From: Christian Marangi <[email protected]>
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 <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Daniel Lezcano <[email protected]>
---
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

This file was deleted.

This file was deleted.

0 comments on commit 5673dfc

Please sign in to comment.