p9221_charger: disable alignment feature if no dt coefficients

Bug: 264325661
Change-Id: I415e866dc113b6871e2fa2269808ffbc556d16d9
Signed-off-by: yihsiangpeng <[email protected]>
(cherry picked from commit 25c5a49a9e1ca2a36971fdf8961828ece71ddfbb)
diff --git a/p9221_charger.c b/p9221_charger.c
index e81a05d..079156e 100644
--- a/p9221_charger.c
+++ b/p9221_charger.c
@@ -1189,13 +1189,15 @@
 
 static void p9221_init_align(struct p9221_charger_data *charger)
 {
+	const bool disabled = charger->prop_mode_en || charger->pdata->disable_align;
+
 	/* Reset values used for alignment */
 	charger->alignment_last = -1;
 	charger->current_filtered = 0;
 	charger->current_sample_cnt = 0;
 	charger->mfg_check_count = 0;
 	/* Disable misaligned message in high power mode, b/159066422 */
-	if (!charger->online || charger->prop_mode_en == true) {
+	if (!charger->online || disabled) {
 		charger->align = WLC_ALIGN_CENTERED;
 		return;
 	}
@@ -6386,56 +6388,49 @@
 	ret = of_property_read_u32(node, "google,alignment_scalar_low_current",
 				   &data);
 	if (ret < 0)
-		pdata->alignment_scalar_low_current =
-			WLC_ALIGN_DEFAULT_SCALAR_LOW_CURRENT;
+		pdata->alignment_scalar_low_current = 0;
 	else
 		pdata->alignment_scalar_low_current = data;
 
-	dev_info(dev, "google,alignment_scalar_low_current set to: %d\n",
-		 pdata->alignment_scalar_low_current);
-
 	ret = of_property_read_u32(node, "google,alignment_scalar_high_current",
 				   &data);
 	if (ret < 0)
-		pdata->alignment_scalar_high_current =
-			  WLC_ALIGN_DEFAULT_SCALAR_HIGH_CURRENT;
+		pdata->alignment_scalar_high_current = 0;
 	else
 		pdata->alignment_scalar_high_current = data;
 
-	dev_info(dev, "google,alignment_scalar_high_current set to: %d\n",
-		 pdata->alignment_scalar_high_current);
-
 	ret = of_property_read_u32(node, "google,alignment_offset_low_current",
 				   &data);
 	if (ret < 0)
-		pdata->alignment_offset_low_current =
-			WLC_ALIGN_DEFAULT_OFFSET_LOW_CURRENT;
+		pdata->alignment_offset_low_current = 0;
 	else
 		pdata->alignment_offset_low_current = data;
 
-	dev_info(dev, "google,alignment_offset_low_current set to: %d\n",
-		 pdata->alignment_offset_low_current);
-
 	ret = of_property_read_u32(node, "google,alignment_offset_high_current",
 				   &data);
 	if (ret < 0)
-		pdata->alignment_offset_high_current =
-			WLC_ALIGN_DEFAULT_OFFSET_HIGH_CURRENT;
+		pdata->alignment_offset_high_current = 0;
 	else
 		pdata->alignment_offset_high_current = data;
 
-	dev_info(dev, "google,alignment_offset_high_current set to: %d\n",
-		 pdata->alignment_offset_high_current);
-
 	ret = of_property_read_u32(node, "google,alignment_current_threshold",
 				   &data);
 	if (ret < 0)
-		pdata->alignment_current_threshold = WLC_ALIGN_CURRENT_THRESHOLD;
+		pdata->alignment_current_threshold = 0;
 	else
 		pdata->alignment_current_threshold = data;
 
-	dev_info(dev, "google,alignment_current_threshold set to: %d\n",
-		 pdata->alignment_current_threshold);
+	pdata->disable_align = !(pdata->alignment_scalar_low_current &&
+				 pdata->alignment_scalar_high_current &&
+				 pdata->alignment_offset_low_current &&
+				 pdata->alignment_offset_high_current &&
+				 pdata->alignment_current_threshold);
+	dev_info(dev, "align:%s, scalar_low=%d, scalar_high=%d, "
+		 "offset_low=%d, offset_high=%d, current_thres=%d\n",
+		 pdata->disable_align ? "disable" : "enable", pdata->alignment_scalar_low_current,
+		 pdata->alignment_scalar_high_current, pdata->alignment_offset_low_current,
+		 pdata->alignment_offset_high_current, pdata->alignment_current_threshold);
+
 
 	ret = of_property_read_u32(node, "google,power_mitigate_threshold",
 				   &data);
diff --git a/p9221_charger.h b/p9221_charger.h
index 4a15eb2..4e7d5a9 100644
--- a/p9221_charger.h
+++ b/p9221_charger.h
@@ -611,7 +611,7 @@
 	int				slct_gpio;
 	int				slct_value;
 	int				ben_gpio;
-	int                             ext_ben_gpio;
+	int				ext_ben_gpio;
 	int				switch_gpio;
 	int				boost_gpio;
 	int				dc_switch_gpio;
@@ -661,6 +661,7 @@
 	u32				epp_icl;
 	/* calibrate light load */
 	bool				light_load;
+	bool				disable_align;
 };
 
 struct p9221_charger_ints_bit {