mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 09:39:00 +00:00
96f10c9d7a
Use improved tsens patch proposed upstream. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
87 lines
2.4 KiB
Diff
87 lines
2.4 KiB
Diff
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
|
|
|