aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/patches-5.10/104-4-drivers-thermal-tsens-Use-init_common-for-msm8960.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ipq806x/patches-5.10/104-4-drivers-thermal-tsens-Use-init_common-for-msm8960.patch')
-rw-r--r--target/linux/ipq806x/patches-5.10/104-4-drivers-thermal-tsens-Use-init_common-for-msm8960.patch86
1 files changed, 86 insertions, 0 deletions
diff --git a/target/linux/ipq806x/patches-5.10/104-4-drivers-thermal-tsens-Use-init_common-for-msm8960.patch b/target/linux/ipq806x/patches-5.10/104-4-drivers-thermal-tsens-Use-init_common-for-msm8960.patch
new file mode 100644
index 0000000000..4b12609e96
--- /dev/null
+++ b/target/linux/ipq806x/patches-5.10/104-4-drivers-thermal-tsens-Use-init_common-for-msm8960.patch
@@ -0,0 +1,86 @@
+From c04f98a496929f75d75c65115d5717423c3d0634 Mon Sep 17 00:00:00 2001
+From: Ansuel Smith <ansuelsmth@gmail.com>
+Date: Wed, 25 Nov 2020 17:16:36 +0100
+Subject: [PATCH 04/10] drivers: thermal: tsens: Use init_common for msm8960
+
+Use init_common and drop custom init for msm8960.
+
+Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
+Reviewed-by: Thara Gopinath <thara.gopinath@linaro.org>
+---
+ drivers/thermal/qcom/tsens-8960.c | 52 +------------------------------
+ 1 file changed, 1 insertion(+), 51 deletions(-)
+
+diff --git a/drivers/thermal/qcom/tsens-8960.c b/drivers/thermal/qcom/tsens-8960.c
+index 3f4fc1ffe679..86585f439985 100644
+--- a/drivers/thermal/qcom/tsens-8960.c
++++ b/drivers/thermal/qcom/tsens-8960.c
+@@ -173,56 +173,6 @@ static void disable_8960(struct tsens_priv *priv)
+ regmap_write(priv->tm_map, CNTL_ADDR, reg_cntl);
+ }
+
+-static int init_8960(struct tsens_priv *priv)
+-{
+- int ret, i;
+- u32 reg_cntl;
+-
+- priv->tm_map = dev_get_regmap(priv->dev, NULL);
+- if (!priv->tm_map)
+- return -ENODEV;
+-
+- /*
+- * The status registers for each sensor are discontiguous
+- * because some SoCs have 5 sensors while others have more
+- * but the control registers stay in the same place, i.e
+- * directly after the first 5 status registers.
+- */
+- for (i = 0; i < priv->num_sensors; i++) {
+- if (i >= 5)
+- priv->sensor[i].status = S0_STATUS_ADDR + 40;
+- priv->sensor[i].status += i * 4;
+- }
+-
+- reg_cntl = SW_RST;
+- ret = regmap_update_bits(priv->tm_map, CNTL_ADDR, SW_RST, reg_cntl);
+- if (ret)
+- return ret;
+-
+- if (priv->num_sensors > 1) {
+- reg_cntl |= SLP_CLK_ENA | (MEASURE_PERIOD << 18);
+- reg_cntl &= ~SW_RST;
+- ret = regmap_update_bits(priv->tm_map, CONFIG_ADDR,
+- CONFIG_MASK, CONFIG);
+- } else {
+- reg_cntl |= SLP_CLK_ENA_8660 | (MEASURE_PERIOD << 16);
+- reg_cntl &= ~CONFIG_MASK_8660;
+- reg_cntl |= CONFIG_8660 << CONFIG_SHIFT_8660;
+- }
+-
+- reg_cntl |= GENMASK(priv->num_sensors - 1, 0) << SENSOR0_SHIFT;
+- ret = regmap_write(priv->tm_map, CNTL_ADDR, reg_cntl);
+- if (ret)
+- return ret;
+-
+- reg_cntl |= EN;
+- ret = regmap_write(priv->tm_map, CNTL_ADDR, reg_cntl);
+- if (ret)
+- return ret;
+-
+- return 0;
+-}
+-
+ static int calibrate_8960(struct tsens_priv *priv)
+ {
+ int i;
+@@ -346,7 +296,7 @@ static const struct reg_field tsens_8960_regfields[MAX_REGFIELDS] = {
+ };
+
+ static const struct tsens_ops ops_8960 = {
+- .init = init_8960,
++ .init = init_common,
+ .calibrate = calibrate_8960,
+ .get_temp = get_temp_8960,
+ .enable = enable_8960,
+--
+2.30.2
+