google_battery: expose charger_state, charge type

Bug: 183862535
Test: check sysfs node values, pts-utils
Change-Id: I89418814f881d016d6867920c9039141e479bf18
Signed-off-by: AleX Pelosi <[email protected]>
diff --git a/google_battery.c b/google_battery.c
index 3d0b2ee..c7ccae6 100644
--- a/google_battery.c
+++ b/google_battery.c
@@ -3656,6 +3656,29 @@
 static const DEVICE_ATTR(ac_soc, 0444, batt_show_ac_soc, NULL);
 
 
+static ssize_t batt_show_charger_state(struct device *dev,
+				       struct device_attribute *attr, char *buf)
+{
+	struct power_supply *psy = container_of(dev, struct power_supply, dev);
+	struct batt_drv *batt_drv = power_supply_get_drvdata(psy);
+
+	return scnprintf(buf, PAGE_SIZE, "0x%llx\n", batt_drv->chg_state.v);
+}
+
+static const DEVICE_ATTR(charger_state, 0444, batt_show_charger_state, NULL);
+
+
+static ssize_t batt_show_charge_type(struct device *dev,
+				       struct device_attribute *attr, char *buf)
+{
+	struct power_supply *psy = container_of(dev, struct power_supply, dev);
+	struct batt_drv *batt_drv = power_supply_get_drvdata(psy);
+
+	return scnprintf(buf, PAGE_SIZE, "%d\n", batt_drv->chg_state.f.chg_type);
+}
+
+static const DEVICE_ATTR(charge_type, 0444, batt_show_charge_type, NULL);
+
 /* ------------------------------------------------------------------------- */
 
 static int batt_init_fs(struct batt_drv *batt_drv)
@@ -3666,28 +3689,22 @@
 	/* stats */
 	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_charge_stats);
 	if (ret)
-		dev_err(&batt_drv->psy->dev,
-				"Failed to create charge_stats\n");
+		dev_err(&batt_drv->psy->dev, "Failed to create charge_stats\n");
 
-	ret = device_create_file(&batt_drv->psy->dev,
-				 &dev_attr_charge_stats_actual);
+	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_charge_stats_actual);
 	if (ret)
-		dev_err(&batt_drv->psy->dev,
-				"Failed to create charge_stats_actual\n");
+		dev_err(&batt_drv->psy->dev, "Failed to create charge_stats_actual\n");
 
-	ret = device_create_file(&batt_drv->psy->dev,
-				 &dev_attr_charge_details);
+	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_charge_details);
 	if (ret)
-		dev_err(&batt_drv->psy->dev,
-				"Failed to create charge_details\n");
+		dev_err(&batt_drv->psy->dev, "Failed to create charge_details\n");
 
 	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_ssoc_details);
 	if (ret)
 		dev_err(&batt_drv->psy->dev, "Failed to create ssoc_details\n");
 
 	/* health based charging */
-	ret = device_create_file(&batt_drv->psy->dev,
-				 &dev_attr_charge_deadline);
+	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_charge_deadline);
 	if (ret)
 		dev_err(&batt_drv->psy->dev, "Failed to create chg_deadline\n");
 
@@ -3710,40 +3727,41 @@
 	/* time to full */
 	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_ttf_stats);
 	if (ret)
-		dev_err(&batt_drv->psy->dev,
-				"Failed to create ttf_stats\n");
+		dev_err(&batt_drv->psy->dev, "Failed to create ttf_stats\n");
 
 	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_ttf_details);
 	if (ret)
-		dev_err(&batt_drv->psy->dev,
-				"Failed to create ttf_details\n");
+		dev_err(&batt_drv->psy->dev, "Failed to create ttf_details\n");
 
 	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_pairing_state);
 	if (ret)
-		dev_err(&batt_drv->psy->dev,
-			"Failed to create pairing_state\n");
+		dev_err(&batt_drv->psy->dev, "Failed to create pairing_state\n");
 
 	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_cycle_counts);
 	if (ret)
-		dev_err(&batt_drv->psy->dev,
-			"Failed to create pairing_state\n");
+		dev_err(&batt_drv->psy->dev, "Failed to create cycle_counts\n");
 
+	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_charge_full_estimate);
+	if (ret)
+		dev_err(&batt_drv->psy->dev, "Failed to create chage_full_estimate\n");
+
+	/* google_resistance and resistance */
 	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_resistance_avg);
 	if (ret)
-		dev_err(&batt_drv->psy->dev,
-			"Failed to create resistance_avg\n");
+		dev_err(&batt_drv->psy->dev, "Failed to create resistance_avg\n");
 
-	ret = device_create_file(&batt_drv->psy->dev,
-				 &dev_attr_charge_full_estimate);
+	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_resistance);
 	if (ret)
-		dev_err(&batt_drv->psy->dev,
-			"Failed to create chage_full_estimate\n");
+		dev_err(&batt_drv->psy->dev, "Failed to create resistance\n");
 
-	ret = device_create_file(&batt_drv->psy->dev,
-				 &dev_attr_resistance);
+	/* monitoring */
+	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_charger_state);
 	if (ret)
-		dev_err(&batt_drv->psy->dev,
-			"Failed to create resistance\n");
+		dev_err(&batt_drv->psy->dev, "Failed to create charger state\n");
+	ret = device_create_file(&batt_drv->psy->dev, &dev_attr_charge_type);
+	if (ret)
+		dev_err(&batt_drv->psy->dev, "Failed to create charge_type\n");
+
 
 	de = debugfs_create_dir("google_battery", 0);
 	if (IS_ERR_OR_NULL(de))
@@ -3751,22 +3769,16 @@
 
 	debugfs_create_file("cycle_count_sync", 0600, de, batt_drv,
 			    &cycle_count_bins_sync_fops);
-	debugfs_create_file("ssoc_gdf", 0600, de, batt_drv,
-			    &debug_ssoc_gdf_fops);
-	debugfs_create_file("ssoc_uic", 0600, de, batt_drv,
-			    &debug_ssoc_uic_fops);
-	debugfs_create_file("ssoc_rls", 0400, de, batt_drv,
-			    &debug_ssoc_rls_fops);
+	debugfs_create_file("ssoc_gdf", 0600, de, batt_drv, &debug_ssoc_gdf_fops);
+	debugfs_create_file("ssoc_uic", 0600, de, batt_drv, &debug_ssoc_uic_fops);
+	debugfs_create_file("ssoc_rls", 0400, de, batt_drv, &debug_ssoc_rls_fops);
 	debugfs_create_file("ssoc_uicurve", 0600, de, batt_drv,
 			    &debug_ssoc_uicurve_cstr_fops);
 	debugfs_create_file("force_psy_update", 0400, de, batt_drv,
 			    &debug_force_psy_update_fops);
-	debugfs_create_file("pairing_state", 0200, de, batt_drv,
-			    &debug_pairing_fops);
-	debugfs_create_file("blf_state", 0400, de, batt_drv,
-			    &debug_blf_state_fops);
-	debugfs_create_file("temp", 0400, de, batt_drv,
-			    &debug_fake_temp_fops);
+	debugfs_create_file("pairing_state", 0200, de, batt_drv, &debug_pairing_fops);
+	debugfs_create_file("blf_state", 0400, de, batt_drv, &debug_blf_state_fops);
+	debugfs_create_file("temp", 0400, de, batt_drv, &debug_fake_temp_fops);
 
 	/* health charging */
 	debugfs_create_file("chg_health_thr_soc", 0600, de, batt_drv,