lede/target/linux/silicon/patches-5.19/0145-power-supply-macsmc_power-Turn-off-OBC-flags-if-macO.patch

30 lines
1.2 KiB
Diff

From ee6f25f23ff2820d11bc7a4afcf99518359e1c8d Mon Sep 17 00:00:00 2001
From: Hector Martin <marcan@marcan.st>
Date: Tue, 15 Feb 2022 02:24:13 +0900
Subject: [PATCH 145/171] power: supply: macsmc_power: Turn off OBC flags if
macOS left them on
Signed-off-by: Hector Martin <marcan@marcan.st>
---
drivers/power/supply/macsmc_power.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/power/supply/macsmc_power.c b/drivers/power/supply/macsmc_power.c
index b9aa6af32104..4a8a90b775dd 100644
--- a/drivers/power/supply/macsmc_power.c
+++ b/drivers/power/supply/macsmc_power.c
@@ -415,6 +415,10 @@ static int macsmc_power_probe(struct platform_device *pdev)
apple_smc_read(smc, SMC_KEY(BMSN), power->serial_number, sizeof(power->serial_number) - 1);
apple_smc_read(smc, SMC_KEY(BMDT), power->mfg_date, sizeof(power->mfg_date) - 1);
+ /* Turn off the "optimized battery charging" flags, in case macOS left them on */
+ apple_smc_write_u8(power->smc, SMC_KEY(CH0K), 0);
+ apple_smc_write_u8(power->smc, SMC_KEY(CH0B), 0);
+
psy_cfg.drv_data = power;
power->psy = devm_power_supply_register(&pdev->dev, &macsmc_battery_desc, &psy_cfg);
if (IS_ERR(power->psy)) {
--
2.34.1