Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7cece1c6 authored by Ram Chandrasekar's avatar Ram Chandrasekar
Browse files

drivers: thermal: qmi_sensor: Add support for new sensors



Add support for new QMI sensors. Here is the list of sensors that are
newly added,
qtm_therm
modem_bcl_warn
sdr0_pa0
sdr0_pa1
sdr0_pa2
sdr0_pa3
sdr0_pa4
sdr0_pa5
sdr0
sdr1_pa0
sdr1_pa1
sdr1_pa2
sdr1_pa3
sdr1_pa4
sdr1_pa5
sdr1
mmw0
mmw1
mmw2
mmw3
mmw_ific0

This will enable these sensors to be registered with thermal framework.

Change-Id: I5ea49478afee82f7058247ee7e0e505955423e72
Signed-off-by: default avatarRam Chandrasekar <rkumbako@codeaurora.org>
parent 0960fd05
Loading
Loading
Loading
Loading
+44 −2
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
 */

#define pr_fmt(fmt) "%s:%s " fmt, KBUILD_MODNAME, __func__
@@ -70,6 +70,27 @@ enum qmi_ts_sensor {
	QMI_TS_QFE_WTR_PA2_FR1,
	QMI_TS_QFE_WTR_PA3_FR1,
	QMI_TS_QFE_WTR0_FR1,
	QMI_TS_QTM_THERM,
	QMI_TS_BCL_WARN,
	QMI_TS_SDR0_PA0,
	QMI_TS_SDR0_PA1,
	QMI_TS_SDR0_PA2,
	QMI_TS_SDR0_PA3,
	QMI_TS_SDR0_PA4,
	QMI_TS_SDR0_PA5,
	QMI_TS_SDR0,
	QMI_TS_SDR1_PA0,
	QMI_TS_SDR1_PA1,
	QMI_TS_SDR1_PA2,
	QMI_TS_SDR1_PA3,
	QMI_TS_SDR1_PA4,
	QMI_TS_SDR1_PA5,
	QMI_TS_SDR1,
	QMI_TS_MMW0,
	QMI_TS_MMW1,
	QMI_TS_MMW2,
	QMI_TS_MMW3,
	QMI_TS_MMW_IFIC0,
	QMI_TS_MAX_NR
};

@@ -141,6 +162,27 @@ static char sensor_clients[QMI_TS_MAX_NR][QMI_CLIENT_NAME_LENGTH] = {
	{"qfe_wtr_pa2_fr1"},
	{"qfe_wtr_pa3_fr1"},
	{"qfe_wtr0_fr1"},
	{"qtm_therm"},
	{"modem_bcl_warn"},
	{"sdr0_pa0"},
	{"sdr0_pa1"},
	{"sdr0_pa2"},
	{"sdr0_pa3"},
	{"sdr0_pa4"},
	{"sdr0_pa5"},
	{"sdr0"},
	{"sdr1_pa0"},
	{"sdr1_pa1"},
	{"sdr1_pa2"},
	{"sdr1_pa3"},
	{"sdr1_pa4"},
	{"sdr1_pa5"},
	{"sdr1"},
	{"mmw0"},
	{"mmw1"},
	{"mmw2"},
	{"mmw3"},
	{"mmw_ific0"},
};

static int32_t encode_qmi(int32_t val)
@@ -463,7 +505,7 @@ static int verify_sensor_and_register(struct qmi_ts_instance *ts)

	for (i = 0; i < ts_resp->sensor_list_len; i++) {
		struct qmi_sensor *qmi_sens = NULL;

		pr_debug("QMI sensor:%s\n", ts_resp->sensor_list[i].sensor_id);
		list_for_each_entry(qmi_sens, &ts->ts_sensor_list,
					ts_node) {
			if ((strncasecmp(qmi_sens->qmi_name,