power: add wirelesscharger(WLC) bq51051b driver
Change-Id: I61c4b9c3d648e8f709ec78708271f807ceed1715
diff --git a/drivers/power/pm8921-charger.c b/drivers/power/pm8921-charger.c
index 2f2da89..848e910 100644
--- a/drivers/power/pm8921-charger.c
+++ b/drivers/power/pm8921-charger.c
@@ -291,6 +291,10 @@
static struct pm8xxx_adc_arb_btm_param btm_config;
+#ifdef CONFIG_WIRELESS_CHARGER
+static int wireless_charging;
+#endif
+
static int pm_chg_masked_write(struct pm8921_chg_chip *chip, u16 addr,
u8 mask, u8 val)
{
@@ -1551,6 +1555,12 @@
switch (psp) {
case POWER_SUPPLY_PROP_STATUS:
+#ifdef CONFIG_WIRELESS_CHARGER
+ if(wireless_charging) {
+ val->intval = 1; //POWER_SUPPLY_STATUS_CHARGING
+ break;
+ }
+#endif
val->intval = get_prop_batt_status(chip);
break;
case POWER_SUPPLY_PROP_CHARGE_TYPE:
@@ -1954,6 +1964,22 @@
}
EXPORT_SYMBOL_GPL(pm8921_set_usb_power_supply_type);
+#ifdef CONFIG_WIRELESS_CHARGER
+int set_wireless_power_supply_control(int value)
+{
+ if (!the_chip) {
+ pr_err("called before init\n");
+ return -EINVAL;
+ }
+
+ wireless_charging = value;
+ power_supply_changed(&the_chip->batt_psy);
+
+ return 0;
+}
+EXPORT_SYMBOL(set_wireless_power_supply_control);
+#endif
+
int pm8921_batt_temperature(void)
{
if (!the_chip) {