diff --git a/drivers/power/qpnp-charger.c b/drivers/power/qpnp-charger.c index d2cdfcd86c6cef94ac0ed7bfcd18f49ea72e26a5..ccf69f8a407160e986cc900194f75c9fe9b353c4 100644 --- a/drivers/power/qpnp-charger.c +++ b/drivers/power/qpnp-charger.c @@ -457,8 +457,6 @@ struct qpnp_chg_chip { struct work_struct lower_power_usb_workaround; bool hw_low_power_usb_workaround_enable; struct wake_lock led_wake_lock; - struct timer_list charger_gone_soc_change_enable_timer; - bool charger_gone_soc_change_enable; #endif }; @@ -1977,16 +1975,6 @@ EXPORT_SYMBOL(hw_chg_usb_usbin_callbak); #define ENUM_T_STOP_BIT BIT(0) #define USB_5V_UV 5000000 #define USB_9V_UV 9000000 - -#ifdef CONFIG_HUAWEI_BATTERY_SETTING -#define CHARGER_GONE_DISABLE_SOC_CHANGE_TIME 30000 -static void qpnp_charger_gone_soc_change_enable (unsigned long data) -{ - struct qpnp_chg_chip *chip = (struct qpnp_chg_chip *) data; - chip->charger_gone_soc_change_enable = true; -} -#endif - static irqreturn_t qpnp_chg_usb_usbin_valid_irq_handler(int irq, void *_chip) { @@ -2004,19 +1992,11 @@ qpnp_chg_usb_usbin_valid_irq_handler(int irq, void *_chip) return IRQ_HANDLED; #ifdef CONFIG_HUAWEI_BATTERY_SETTING - /*avoid the battery can not be charged when usb do not report any port*/ - if(usb_present) - { - qpnp_chg_iusbmax_set(chip, USB_WALL_THRESHOLD_MA); - chip->charger_gone_soc_change_enable = true; - del_timer(&chip->charger_gone_soc_change_enable_timer); - } - else - { - /*when charger out, wait for a moment to enable soc change*/ - chip->charger_gone_soc_change_enable = false; - mod_timer(&chip->charger_gone_soc_change_enable_timer, (jiffies + msecs_to_jiffies(CHARGER_GONE_DISABLE_SOC_CHANGE_TIME))); - } + /*avoid the battery can not be charged when usb do not report any port*/ + if(usb_present) + { + qpnp_chg_iusbmax_set(chip, USB_WALL_THRESHOLD_MA); + } #endif if (chip->usb_present ^ usb_present) { /* irq_handler do not allow call function who has use mutex ,it will cause crash*/ @@ -3156,11 +3136,6 @@ get_prop_capacity(struct qpnp_chg_chip *chip) pr_debug("charger in,fake capacity from soc %d to last_soc %d \n",soc, last_soc); soc = last_soc; } - else if(!charger_in && (last_soc > soc) && !chip->charger_gone_soc_change_enable) - { - pr_debug("charger out,fake capacity from soc %d to last_soc %d \n",soc, last_soc); - soc = last_soc; - } else { last_soc = soc; @@ -6329,9 +6304,6 @@ qpnp_charger_probe(struct spmi_device *spmi) chip->running_test_settled_status = POWER_SUPPLY_STATUS_CHARGING; INIT_WORK(&chip->lower_power_usb_workaround, qpnp_chg_usb_low_power_work); - chip->charger_gone_soc_change_enable = true; - setup_timer(&chip->charger_gone_soc_change_enable_timer, qpnp_charger_gone_soc_change_enable, - (unsigned long) chip); #endif mutex_init(&chip->jeita_configure_lock); mutex_init(&chip->batfet_vreg_lock); @@ -6744,8 +6716,6 @@ qpnp_charger_remove(struct spmi_device *spmi) #ifdef CONFIG_HUAWEI_BATTERY_SETTING cancel_work_sync(&chip->lower_power_usb_workaround); - chip->charger_gone_soc_change_enable = true; - del_timer(&chip->charger_gone_soc_change_enable_timer); #endif mutex_destroy(&chip->batfet_vreg_lock); mutex_destroy(&chip->jeita_configure_lock);