2021-04-29 01:09:49

by Christian Marangi

[permalink] [raw]
Subject: [PATCH v2 0/2] Minor fix for qcom tsens driver

This is a small series to fix some warning arised testing the 8960 tsens
driver. 8960 calibration function can return PROBE_DEFER and cause
reregistration of debugfs. Move debugfs registration deeper in the probe
function and fix a small problem with wrong tsens version reported.

v2:
- Address review comments from Thara

Ansuel Smith (2):
thermal: qcom: tsens: init debugfs only with successful probe
thermal: qcom: tsens: simplify debugfs init function

drivers/thermal/qcom/tsens.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)

--
2.30.2


2021-04-29 01:10:08

by Christian Marangi

[permalink] [raw]
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 <[email protected]>
---
drivers/thermal/qcom/tsens.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c
index b37d5fd71f3a..e43898bf3199 100644
--- a/drivers/thermal/qcom/tsens.c
+++ b/drivers/thermal/qcom/tsens.c
@@ -657,7 +657,7 @@ static int dbg_version_show(struct seq_file *s, void *data)
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;
@@ -669,16 +669,12 @@ 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);

--
2.30.2

2021-04-29 01:10:34

by Christian Marangi

[permalink] [raw]
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 <[email protected]>
---
drivers/thermal/qcom/tsens.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c
index d8ce3a687b80..b37d5fd71f3a 100644
--- a/drivers/thermal/qcom/tsens.c
+++ b/drivers/thermal/qcom/tsens.c
@@ -845,8 +845,6 @@ int __init init_common(struct tsens_priv *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;
@@ -1057,7 +1055,12 @@ static int tsens_probe(struct platform_device *pdev)
}
}

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

static int tsens_remove(struct platform_device *pdev)
--
2.30.2

2021-05-10 13:06:31

by Thara Gopinath

[permalink] [raw]
Subject: Re: [thermal-next PATCH v2 1/2] thermal: qcom: tsens: init debugfs only with successful probe



On 4/28/21 9:05 PM, Ansuel Smith wrote:
> 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 <[email protected]>

Reviewed-by: Thara Gopinath <[email protected]>

--
Warm Regards
Thara
> ---
> drivers/thermal/qcom/tsens.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c
> index d8ce3a687b80..b37d5fd71f3a 100644
> --- a/drivers/thermal/qcom/tsens.c
> +++ b/drivers/thermal/qcom/tsens.c
> @@ -845,8 +845,6 @@ int __init init_common(struct tsens_priv *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;
> @@ -1057,7 +1055,12 @@ static int tsens_probe(struct platform_device *pdev)
> }
> }
>
> - return tsens_register(priv);
> + ret = tsens_register(priv);
> +
> + if (!ret)
> + tsens_debug_init(pdev);
> +
> + return ret;
> }
>
> static int tsens_remove(struct platform_device *pdev)
>

2021-05-10 13:14:13

by Thara Gopinath

[permalink] [raw]
Subject: Re: [thermal-next PATCH v2 2/2] thermal: qcom: tsens: simplify debugfs init function



On 4/28/21 9:05 PM, Ansuel Smith wrote:
> 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 <[email protected]>

Acked-by: Thara Gopinath <[email protected]>

Warm Regards
Thara

> ---
> drivers/thermal/qcom/tsens.c | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c
> index b37d5fd71f3a..e43898bf3199 100644
> --- a/drivers/thermal/qcom/tsens.c
> +++ b/drivers/thermal/qcom/tsens.c
> @@ -657,7 +657,7 @@ static int dbg_version_show(struct seq_file *s, void *data)
> 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;
> @@ -669,16 +669,12 @@ 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);
>
>