Re: [PATCH V3 3/4] thermal/drivers/tsens: Add support for IPQ5018 tsens

From: Sricharan Ramabadhran
Date: Tue Oct 17 2023 - 09:08:29 EST




On 10/5/2023 12:37 AM, Robert Marko wrote:

On 22. 09. 2023. 13:51, Sricharan R wrote:
From: Sricharan Ramabadhran <quic_srichara@xxxxxxxxxxx>

IPQ5018 has tsens IP V1.0, 4 sensors and 1 interrupt.
The soc does not have a RPM, hence tsens has to be reset and
enabled in the driver init. Adding the driver support for same.

Signed-off-by: Sricharan Ramabadhran <quic_srichara@xxxxxxxxxxx>
---
  [v3] Fixed Dmitry's comments for error checks in init_ipq5018

  drivers/thermal/qcom/tsens-v1.c | 60 +++++++++++++++++++++++++++++++++
  drivers/thermal/qcom/tsens.c    |  3 ++
  drivers/thermal/qcom/tsens.h    |  2 +-
  3 files changed, 64 insertions(+), 1 deletion(-)

diff --git a/drivers/thermal/qcom/tsens-v1.c b/drivers/thermal/qcom/tsens-v1.c
index dc1c4ae2d8b0..acee2064f83e 100644
--- a/drivers/thermal/qcom/tsens-v1.c
+++ b/drivers/thermal/qcom/tsens-v1.c
@@ -79,6 +79,18 @@ static struct tsens_features tsens_v1_feat = {
      .trip_max_temp    = 120000,
  };
+static struct tsens_features tsens_v1_ipq5018_feat = {
+    .ver_major    = VER_1_X,
+    .crit_int    = 0,
+    .combo_int    = 0,
+    .adc        = 1,
+    .srot_split    = 1,
+    .max_sensors    = 11,
+    .trip_min_temp    = -40000,
+    .trip_max_temp    = 120000,
+    .ignore_enable    = 1,
+};
+
  static const struct reg_field tsens_v1_regfields[MAX_REGFIELDS] = {
      /* ----- SROT ------ */
      /* VERSION */
@@ -150,6 +162,41 @@ static int __init init_8956(struct tsens_priv *priv) {
      return init_common(priv);
  }
+static int init_ipq5018(struct tsens_priv *priv)

__init is missing after int, otherwise I get modpost warning while building:
WARNING: modpost: vmlinux: section mismatch in reference: init_ipq5018+0x14 (section: .text) -> init_common (section: .init.text)

ok, will fix it.

Regards,
Sricharan