Minor fix for qcom tsens driver
Subsystems (3)
v2 cover 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(-)
Signature · 1 line
2.30.2
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.
--- drivers/thermal/qcom/tsens.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
drivers/thermal/qcom/tsens.c +6 -3
@@ -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)
Signature · 1 line
2.30.2
Re: [thermal-next PATCH v2 1/2] thermal: qcom: tsens: init debugfs only with successful probe
Quoted 5 lines · Ansuel Smith
calibrate and
tsens_registercan fail orPROBE_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]>
Signature · 2 lines
Warm Regards Thara
Quoted 32 lines
--- drivers/thermal/qcom/tsens.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)drivers/thermal/qcom/tsens.c +6
-3@@ -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)
PATCH v2 2/2 thermal: qcom: tsens: simplify debugfs init function
In reply to Ansuel SmithSimplify 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)
--- drivers/thermal/qcom/tsens.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-)
drivers/thermal/qcom/tsens.c +4 -8
@@ -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);
Signature · 1 line
2.30.2
Re: [thermal-next PATCH v2 2/2] thermal: qcom: tsens: simplify debugfs init function
Quoted 6 lines · Ansuel Smith
Simplify debugfs init function.
- Add check for existing dev directory.
- Fix wrong version indbg_version_show(with version 0.0.0, 0.1.0 was incorrectly reported)Signed-off-by Ansuel Smith <[email protected]>
Warm Regards
Thara
Quoted 38 lines
--- drivers/thermal/qcom/tsens.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-)drivers/thermal/qcom/tsens.c +4
-8@@ -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);