mfd: pm8921-adc: Add BTM thermistor table

BTM (Battery Temperature Module) thermistor lookup
table is computed based on the resistor divider's
used on the board and the specifications of the
thermistor. Its a function of temperature vs the
ADC code for PM8921 ADC and is used to set the
cool/warm thresholds on the BTM.

CRs-Fixed: 299646
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
diff --git a/include/linux/mfd/pm8921-adc.h b/include/linux/mfd/pm8921-adc.h
index 3de621d..99ef0bb 100644
--- a/include/linux/mfd/pm8921-adc.h
+++ b/include/linux/mfd/pm8921-adc.h
@@ -425,48 +425,6 @@
 };
 
 /**
- * struct pm8921_adc_arb_btm - PM8921 ADC BTM parameters
- * @btm_prop: BTM parameters such as input resistance, voltage and Rtherm across
- * the thermistor
- * @btm_param: BTM temperature thresholds and interval to program the BTM
- * @btm_channel_prop: Channel specific properties of the BTM channel
- */
-struct pm8921_adc_arb_btm {
-	struct pm8921_adc_btm_prop			*btm_prop;
-	struct pm8921_adc_arb_btm_param			*btm_param;
-	struct pm8921_adc_btm_channel_properties	*btm_channel_prop;
-};
-
-/**
- * struct pm8921_adc_btm_channel_properties - PM8921 ADC BTM channel properties
- * @btm_channel: Channel name
- * @decimation: Sampling rate
- * @btm_rsv: Input selection of Vref/GND
- * @chan_prop: Channel properties for the BTM channel
- */
-struct pm8921_adc_btm_channel_properties {
-	enum pm8921_adc_channels		btm_channel;
-	enum pm8921_adc_decimation_type		decimation;
-	enum pm8921_adc_amux_input_rsv		btm_rsv;
-	struct pm8921_adc_chan_properties	*chan_prop;
-};
-
-/**
- * struct pm8921_adc_btm_prop - BTM specific resistors, voltage reference to
- *				calcluate the temperature across Rthm
- * @rs1: Resistor of the Vref_therm
- * @rs2: Resistor of BTM
- * @r_thm: Resistance of the thermistor
- * vref_thm: Voltage of vref_therm
- */
-struct pm8921_adc_btm_prop {
-	uint32_t rs_1;
-	uint32_t rs_2;
-	uint32_t r_thm;
-	uint32_t vref_thm;
-};
-
-/**
  * struct pm8921_adc_arb_btm_param - PM8921 ADC BTM parameters to set threshold
  *				     temperature for client notification
  * @low_thr_temp: low temperature threshold request for notification
@@ -474,8 +432,8 @@
  * @low_thr_voltage: low temperature converted to voltage by arbiter driver
  * @high_thr_voltage: high temperature converted to voltage by arbiter driver
  * @interval: Interval period to check for temperature notification
- * @btm_warm_fn: Remote function call for warm threshold
- * @btm_cold_fn: Remote function call for cold threshold
+ * @btm_warm_fn: Remote function call for warm threshold.
+ * @btm_cool_fn: Remote function call for cold threshold.
  *
  * BTM client passes the parameters to be set for the
  * temperature threshold notifications. The client is
@@ -485,11 +443,11 @@
 struct pm8921_adc_arb_btm_param {
 	uint32_t	low_thr_temp;
 	uint32_t	high_thr_temp;
-	uint32_t	low_thr_voltage;
-	uint32_t	high_thr_voltage;
+	uint64_t	low_thr_voltage;
+	uint64_t	high_thr_voltage;
 	int32_t		interval;
-	void		(*btm_warm_fn) (void);
-	void		(*btm_cold_fn) (void);
+	void		(*btm_warm_fn) (bool);
+	void		(*btm_cool_fn) (bool);
 };
 
 int32_t pm8921_adc_batt_scaler(struct pm8921_adc_arb_btm_param *);