summaryrefslogtreecommitdiff
path: root/drivers/thermal
diff options
context:
space:
mode:
authorStephan Gerhold <stephan.gerhold@kernkonzept.com>2023-06-07 13:47:45 +0300
committerDaniel Lezcano <daniel.lezcano@linaro.org>2023-06-26 13:03:13 +0300
commit6812d1dfbca99cd5032683354bf50e0002b2aa02 (patch)
tree76fe89fa4cb2e222dcabeb3980afc94c1079c82b /drivers/thermal
parentc631da1f19263969fcdc04a98b14401466756e8d (diff)
downloadlinux-6812d1dfbca99cd5032683354bf50e0002b2aa02.tar.xz
thermal/drivers/qcom/tsens-v0_1: Fix mdm9607 slope values
According to the msm-3.18 vendor kernel from Qualcomm [1], mdm9607 uses a non-standard slope value of 3000 (instead of 3200) for all sensors. Fill it properly similar to the 8939 code added recently. [1]: https://git.codelinaro.org/clo/la/kernel/msm-3.18/-/blob/LE.UM.4.3.2.r1-04200-9x07/arch/arm/boot/dts/qcom/mdm9607.dtsi#L875 Fixes: a2149ab815fc ("thermal/drivers/qcom/tsens-v0_1: Add support for MDM9607") Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20230508-msm8909-tsens-v5-2-5eb632235ba7@kernkonzept.com
Diffstat (limited to 'drivers/thermal')
-rw-r--r--drivers/thermal/qcom/tsens-v0_1.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/drivers/thermal/qcom/tsens-v0_1.c b/drivers/thermal/qcom/tsens-v0_1.c
index a65f58264122..9802ae1d4fcf 100644
--- a/drivers/thermal/qcom/tsens-v0_1.c
+++ b/drivers/thermal/qcom/tsens-v0_1.c
@@ -234,6 +234,16 @@ static int __init init_8939(struct tsens_priv *priv) {
return init_common(priv);
}
+static int __init init_9607(struct tsens_priv *priv)
+{
+ int i;
+
+ for (i = 0; i < priv->num_sensors; ++i)
+ priv->sensor[i].slope = 3000;
+
+ return init_common(priv);
+}
+
/* v0.1: 8226, 8916, 8939, 8974, 9607 */
static struct tsens_features tsens_v0_1_feat = {
@@ -345,9 +355,15 @@ struct tsens_plat_data data_8974 = {
.fields = tsens_v0_1_regfields,
};
+static const struct tsens_ops ops_9607 = {
+ .init = init_9607,
+ .calibrate = tsens_calibrate_common,
+ .get_temp = get_temp_common,
+};
+
struct tsens_plat_data data_9607 = {
.num_sensors = 5,
- .ops = &ops_v0_1,
+ .ops = &ops_9607,
.feat = &tsens_v0_1_feat,
.fields = tsens_v0_1_regfields,
};