mako: power: use wireless charger api instead of power supply api

This is expected to prevent missing wireless charger state.
The bms needs to know if anything is connected to the wireless charging.

Change-Id: Ie97130cc515d19ab17b67267d9aca7588c1fff72
diff --git a/drivers/power/bq51051b_charger.c b/drivers/power/bq51051b_charger.c
index 6f09b4d..184987f 100644
--- a/drivers/power/bq51051b_charger.c
+++ b/drivers/power/bq51051b_charger.c
@@ -75,7 +75,7 @@
 	case POWER_SUPPLY_PROP_ONLINE:
 		val->intval = wireless_charging;
 
-		WLC_DBG(KERN_INFO "[wireless_charging] = %d",
+		WLC_DBG("[wireless_charging] = %d",
 			wireless_charging);
 
 		break;
@@ -85,11 +85,21 @@
 	return 0;
 }
 
-int wireless_is_plugged(struct bq51051b_wlc_chip *chip)
+static int wireless_is_plugged(struct bq51051b_wlc_chip *chip)
 {
 	return !(gpio_get_value(chip->active_n_gpio));
 }
 
+int bq51051b_wireless_plugged_in(void)
+{
+	if (!the_chip) {
+		WLC_DBG_ERROR("called before init\n");
+		return -EINVAL;
+	}
+	return wireless_is_plugged(the_chip);
+}
+EXPORT_SYMBOL(bq51051b_wireless_plugged_in);
+
 static void wireless_set(struct bq51051b_wlc_chip *chip)
 {
 	WLC_DBG_ERROR("wireless_set\n");
diff --git a/drivers/power/pm8921-bms.c b/drivers/power/pm8921-bms.c
index 148b9ff..9a55b3b 100644
--- a/drivers/power/pm8921-bms.c
+++ b/drivers/power/pm8921-bms.c
@@ -21,6 +21,7 @@
 #include <linux/mfd/pm8xxx/core.h>
 #include <linux/mfd/pm8xxx/pm8xxx-adc.h>
 #include <linux/mfd/pm8xxx/ccadc.h>
+#include <linux/power/bq51051b_charger.h>
 #include <linux/interrupt.h>
 #include <linux/bitops.h>
 #include <linux/debugfs.h>
@@ -352,24 +353,16 @@
 	return ret.intval;
 }
 
-#ifdef CONFIG_WIRELESS_CHARGER
 static int wireless_chg_plugged_in(void)
 {
-	union power_supply_propval ret = {0,};
-	static struct power_supply *psy;
+	int val = bq51051b_wireless_plugged_in();
 
-	if (psy == NULL) {
-		psy = power_supply_get_by_name("wireless");
-		if (psy == NULL)
-			return 0;
-	}
+	/* treat as if usb is not present in case of error */
+	if (val == -EINVAL)
+		val = 0;
 
-	if (psy->get_property(psy, POWER_SUPPLY_PROP_ONLINE, &ret))
-		return 0;
-
-	return ret.intval;
+	return val;
 }
-#endif
 
 #define HOLD_OREG_DATA		BIT(1)
 static int pm_bms_lock_output_data(struct pm8921_bms_chip *chip)
@@ -888,10 +881,7 @@
 	mutex_unlock(&the_chip->bms_output_lock);
 
 	usb_chg = usb_chg_plugged_in();
-
-#ifdef CONFIG_WIRELESS_CHARGER
 	usb_chg |= wireless_chg_plugged_in();
-#endif
 
 	convert_vbatt_raw_to_uv(the_chip, usb_chg, vbat_raw, vbat_uv);
 	convert_vsense_to_uv(the_chip, vsense_raw, &vsense_uv);
@@ -973,10 +963,7 @@
 	mutex_unlock(&chip->bms_output_lock);
 
 	usb_chg =  usb_chg_plugged_in();
-
-#ifdef CONFIG_WIRELESS_CHARGER
 	usb_chg |= wireless_chg_plugged_in();
-#endif
 
 	if (chip->prev_last_good_ocv_raw == 0) {
 		chip->prev_last_good_ocv_raw = raw->last_good_ocv_raw;
@@ -1723,10 +1710,8 @@
 	voltage = xoadc_reading_to_microvolt(result.adc_code);
 
 	usb_chg = usb_chg_plugged_in();
-
-#ifdef CONFIG_WIRELESS_CHARGER
 	usb_chg |= wireless_chg_plugged_in();
-#endif
+
 	pr_debug("result 0.625V = 0x%x, voltage = %duV adc_meas = %lld "
 				"usb_chg = %d\n",
 				result.adc_code, voltage, result.measurement,
@@ -2313,10 +2298,8 @@
 	ocv_uv = 0;
 	pm_bms_read_output_data(chip, LAST_GOOD_OCV_VALUE, &ocv_raw);
 	usb_chg = usb_chg_plugged_in();
-
-#ifdef CONFIG_WIRELESS_CHARGER
 	usb_chg |= wireless_chg_plugged_in();
-#endif
+
 	rc = convert_vbatt_raw_to_uv(chip, usb_chg, ocv_raw, &ocv_uv);
 	if (rc || ocv_uv == 0) {
 		rc = adc_based_ocv(chip, &ocv_uv);
diff --git a/include/linux/power/bq51051b_charger.h b/include/linux/power/bq51051b_charger.h
index 9c99df0..6317f928 100644
--- a/include/linux/power/bq51051b_charger.h
+++ b/include/linux/power/bq51051b_charger.h
@@ -30,4 +30,19 @@
 	unsigned int active_n_gpio;
 	unsigned int wireless_charging;
 };
+
+/**
+ * bq51051b_wireless_is_plugged - is wireless charger in
+ *
+ * If wireless charger is disconnect or charging complete,
+ * this will return false
+ */
+#ifdef CONFIG_WIRELESS_CHARGER
+int bq51051b_wireless_plugged_in(void);
+#else
+static inline int bq51051b_wireless_plugged_in(void)
+{
+	return 0;
+}
+#endif
 #endif