diff options
author | Amit Kucheria <amit.kucheria@linaro.org> | 2018-07-18 02:43:12 -0400 |
---|---|---|
committer | Eduardo Valentin <edubezval@gmail.com> | 2018-07-27 18:09:28 -0400 |
commit | 191dc74bad60e1462094b2e25321479e7eb17cdc (patch) | |
tree | 5a031f72ac7b53ab3af39b433c196acce4719b31 | |
parent | 770324a4bf2ffbcab5692d473c3f3f0e36b5a289 (diff) |
thermal: tsens: Add generic support for TSENS v2 IP
SDM845 uses v2 of the TSENS IP block but the get_temp() function appears to
be identical across v2.x.y in code seen so far. We use the generic
get_temp() function defined as part of ops_generic_v2.
Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Tested-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
-rw-r--r-- | drivers/thermal/qcom/tsens-v2.c | 5 | ||||
-rw-r--r-- | drivers/thermal/qcom/tsens.c | 3 | ||||
-rw-r--r-- | drivers/thermal/qcom/tsens.h | 5 |
3 files changed, 12 insertions, 1 deletions
diff --git a/drivers/thermal/qcom/tsens-v2.c b/drivers/thermal/qcom/tsens-v2.c index 44d3736109d6..f40150fd7eae 100644 --- a/drivers/thermal/qcom/tsens-v2.c +++ b/drivers/thermal/qcom/tsens-v2.c | |||
@@ -69,6 +69,11 @@ static const struct tsens_ops ops_generic_v2 = { | |||
69 | .get_temp = get_temp_tsens_v2, | 69 | .get_temp = get_temp_tsens_v2, |
70 | }; | 70 | }; |
71 | 71 | ||
72 | const struct tsens_data data_tsens_v2 = { | ||
73 | .ops = &ops_generic_v2, | ||
74 | }; | ||
75 | |||
76 | /* Kept around for backward compatibility with old msm8996.dtsi */ | ||
72 | const struct tsens_data data_8996 = { | 77 | const struct tsens_data data_8996 = { |
73 | .num_sensors = 13, | 78 | .num_sensors = 13, |
74 | .ops = &ops_generic_v2, | 79 | .ops = &ops_generic_v2, |
diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c index 3440166c2ae9..a2c9bfae3d86 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c | |||
@@ -72,6 +72,9 @@ static const struct of_device_id tsens_table[] = { | |||
72 | }, { | 72 | }, { |
73 | .compatible = "qcom,msm8996-tsens", | 73 | .compatible = "qcom,msm8996-tsens", |
74 | .data = &data_8996, | 74 | .data = &data_8996, |
75 | }, { | ||
76 | .compatible = "qcom,tsens-v2", | ||
77 | .data = &data_tsens_v2, | ||
75 | }, | 78 | }, |
76 | {} | 79 | {} |
77 | }; | 80 | }; |
diff --git a/drivers/thermal/qcom/tsens.h b/drivers/thermal/qcom/tsens.h index d785b37b47d2..14331eb45a86 100644 --- a/drivers/thermal/qcom/tsens.h +++ b/drivers/thermal/qcom/tsens.h | |||
@@ -88,6 +88,9 @@ void compute_intercept_slope(struct tsens_device *, u32 *, u32 *, u32); | |||
88 | int init_common(struct tsens_device *); | 88 | int init_common(struct tsens_device *); |
89 | int get_temp_common(struct tsens_device *, int, int *); | 89 | int get_temp_common(struct tsens_device *, int, int *); |
90 | 90 | ||
91 | extern const struct tsens_data data_8916, data_8974, data_8960, data_8996; | 91 | /* TSENS v1 targets */ |
92 | extern const struct tsens_data data_8916, data_8974, data_8960; | ||
93 | /* TSENS v2 targets */ | ||
94 | extern const struct tsens_data data_8996, data_tsens_v2; | ||
92 | 95 | ||
93 | #endif /* __QCOM_TSENS_H__ */ | 96 | #endif /* __QCOM_TSENS_H__ */ |