Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Revert "power: supply: qcom_battmgr: support disabling charge control"

The charge control disabling does not work as expected and needs
more time to be figured out correctly. Drop this feature for now.

Reported-by: Val Packett <val@packett.cool>
Closes: https://lore.kernel.org/all/8f003bfb-8279-4c65-a271-c1e4a029043d@packett.cool/
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

+4 -8
+4 -8
drivers/power/supply/qcom_battmgr.c
··· 257 257 unsigned int capacity_warning; 258 258 unsigned int cycle_count; 259 259 unsigned int charge_count; 260 - bool charge_ctrl_enable; 261 260 unsigned int charge_ctrl_start; 262 261 unsigned int charge_ctrl_end; 263 262 char model_number[BATTMGR_STRING_LEN]; ··· 659 660 } 660 661 661 662 static int qcom_battmgr_set_charge_control(struct qcom_battmgr *battmgr, 662 - bool enable, u32 target_soc, u32 delta_soc) 663 + u32 target_soc, u32 delta_soc) 663 664 { 664 665 struct qcom_battmgr_charge_ctrl_request request = { 665 666 .hdr.owner = cpu_to_le32(PMIC_GLINK_OWNER_BATTMGR), 666 667 .hdr.type = cpu_to_le32(PMIC_GLINK_REQ_RESP), 667 668 .hdr.opcode = cpu_to_le32(BATTMGR_CHG_CTRL_LIMIT_EN), 668 - .enable = cpu_to_le32(enable), 669 + .enable = cpu_to_le32(1), 669 670 .target_soc = cpu_to_le32(target_soc), 670 671 .delta_soc = cpu_to_le32(delta_soc), 671 672 }; ··· 677 678 { 678 679 u32 target_soc, delta_soc; 679 680 int ret; 680 - bool enable = start_soc != 0; 681 681 682 682 start_soc = clamp(start_soc, CHARGE_CTRL_START_THR_MIN, CHARGE_CTRL_START_THR_MAX); 683 683 ··· 696 698 } 697 699 698 700 mutex_lock(&battmgr->lock); 699 - ret = qcom_battmgr_set_charge_control(battmgr, enable, target_soc, delta_soc); 701 + ret = qcom_battmgr_set_charge_control(battmgr, target_soc, delta_soc); 700 702 mutex_unlock(&battmgr->lock); 701 703 if (!ret) { 702 - battmgr->info.charge_ctrl_enable = enable; 703 704 battmgr->info.charge_ctrl_start = start_soc; 704 705 battmgr->info.charge_ctrl_end = target_soc; 705 706 } ··· 710 713 { 711 714 u32 delta_soc = CHARGE_CTRL_DELTA_SOC; 712 715 int ret; 713 - bool enable = battmgr->info.charge_ctrl_enable; 714 716 715 717 end_soc = clamp(end_soc, CHARGE_CTRL_END_THR_MIN, CHARGE_CTRL_END_THR_MAX); 716 718 ··· 717 721 delta_soc = end_soc - battmgr->info.charge_ctrl_start; 718 722 719 723 mutex_lock(&battmgr->lock); 720 - ret = qcom_battmgr_set_charge_control(battmgr, enable, end_soc, delta_soc); 724 + ret = qcom_battmgr_set_charge_control(battmgr, end_soc, delta_soc); 721 725 mutex_unlock(&battmgr->lock); 722 726 if (!ret) { 723 727 battmgr->info.charge_ctrl_start = end_soc - delta_soc;