Re: [PATCH v2 1/2] thermal: qcom: tsens: remove data indirection in the debugfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dimitry,

Thanks for the patch

On 9/26/21 9:42 AM, Dmitry Baryshkov wrote:
There is no reason to pass platform device to debugfs just to get the
tsens_priv from it. Not to mention that for TSENS_V0 the platform device
(gcc) might have other device data. Pass the tsens_priv data to debugfs
callbacks directly.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
---
  drivers/thermal/qcom/tsens.c | 17 +++++++----------
  1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c
index 4c7ebd1d3f9c..6aeea74c1bb0 100644
--- a/drivers/thermal/qcom/tsens.c
+++ b/drivers/thermal/qcom/tsens.c
@@ -657,8 +657,7 @@ int get_temp_common(const struct tsens_sensor *s, int *temp)
  #ifdef CONFIG_DEBUG_FS
  static int dbg_sensors_show(struct seq_file *s, void *data)
  {
-	struct platform_device *pdev = s->private;
-	struct tsens_priv *priv = platform_get_drvdata(pdev);
+	struct tsens_priv *priv = s->private;
  	int i;
seq_printf(s, "max: %2d\nnum: %2d\n\n",
@@ -675,8 +674,7 @@ static int dbg_sensors_show(struct seq_file *s, void *data)
static int dbg_version_show(struct seq_file *s, void *data)
  {
-	struct platform_device *pdev = s->private;
-	struct tsens_priv *priv = platform_get_drvdata(pdev);
+	struct tsens_priv *priv = s->private;
  	u32 maj_ver, min_ver, step_ver;
  	int ret;
@@ -701,9 +699,8 @@ static int dbg_version_show(struct seq_file *s, void *data)
  DEFINE_SHOW_ATTRIBUTE(dbg_version);
  DEFINE_SHOW_ATTRIBUTE(dbg_sensors);
-static void tsens_debug_init(struct platform_device *pdev)
+static void tsens_debug_init(struct platform_device *pdev, struct tsens_priv *priv)

You anyways have to pass pdev here, as it is used for referencing dev name below. So drop sending tsens_priv as well. You can get it via platform_get_drvdata as in the original code. I am okay with the change in using priv instead of pdev as private pointer in the fops.

  {
-	struct tsens_priv *priv = platform_get_drvdata(pdev);
  	struct dentry *root, *file;
root = debugfs_lookup("tsens", NULL);
@@ -715,14 +712,14 @@ static void tsens_debug_init(struct platform_device *pdev)
  	file = debugfs_lookup("version", priv->debug_root);
  	if (!file)
  		debugfs_create_file("version", 0444, priv->debug_root,
-				    pdev, &dbg_version_fops);
+				    priv, &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("sensors", 0444, priv->debug, pdev, &dbg_sensors_fops);
+	debugfs_create_file("sensors", 0444, priv->debug, priv, &dbg_sensors_fops);
  }
  #else
-static inline void tsens_debug_init(struct platform_device *pdev) {}
+static inline void tsens_debug_init(struct platform_device *pdev, struct tsens_priv *priv) {}
  #endif
static const struct regmap_config tsens_config = {
@@ -918,7 +915,7 @@ int __init init_common(struct tsens_priv *priv)
  	if (tsens_version(priv) >= VER_0_1)
  		tsens_enable_irq(priv);
- tsens_debug_init(op);
+	tsens_debug_init(op, priv);
err_put_device:
  	put_device(&op->dev);


--
Warm Regards
Thara (She/Her/Hers)



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux