[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200715224503.30462-3-ansuelsmth@gmail.com>
Date: Thu, 16 Jul 2020 00:44:57 +0200
From: Ansuel Smith <ansuelsmth@...il.com>
To: Rob Herring <robh+dt@...nel.org>
Cc: Ansuel Smith <ansuelsmth@...il.com>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Amit Kucheria <amit.kucheria@...aro.org>,
Zhang Rui <rui.zhang@...el.com>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>, linux-arm-msm@...r.kernel.org,
linux-pm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-clk@...r.kernel.org
Subject: [PATCH v3 2/7] drivers: thermal: tsens: try load regmap from parent for 8960
Devices based on 8060 tsens driver (ipq8064) use the reg of the gcc
driver. Try to load the regmap of the parent as they share the same
regs.
Signed-off-by: Ansuel Smith <ansuelsmth@...il.com>
---
drivers/thermal/qcom/tsens-8960.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/thermal/qcom/tsens-8960.c b/drivers/thermal/qcom/tsens-8960.c
index 2a28a5af209e..45788eb3c666 100644
--- a/drivers/thermal/qcom/tsens-8960.c
+++ b/drivers/thermal/qcom/tsens-8960.c
@@ -7,6 +7,7 @@
#include <linux/delay.h>
#include <linux/bitops.h>
#include <linux/regmap.h>
+#include <linux/mfd/syscon.h>
#include <linux/thermal.h>
#include "tsens.h"
@@ -168,8 +169,17 @@ static int init_8960(struct tsens_priv *priv)
u32 reg_cntl;
priv->tm_map = dev_get_regmap(priv->dev, NULL);
- if (!priv->tm_map)
+ if (!priv->tm_map) {
+ struct device *parent = priv->dev->parent;
+
+ if (parent)
+ priv->tm_map = syscon_node_to_regmap(parent->of_node);
+ }
+
+ if (!priv->tm_map || IS_ERR(priv->tm_map)) {
+ dev_err(priv->dev, "failed to get tsens regmap\n");
return -ENODEV;
+ }
/*
* The status registers for each sensor are discontiguous
--
2.27.0
Powered by blists - more mailing lists