coreboot/src/ec
Matt DeVillier 7afd731849 ec/google/chromeec/acpi: Fix long battery string reporting for Windows
`ToString(byte x)` is undefined behavior per the ACPI spec, which
causes Windows to discard the battery device status entirely.

Fix this and improve performance of the BRSX method by using an array
to store the characters read, calling ToString() only once at the end.

TEST=build/boot Win11 and Linux on google/rex, verify battery status
reported properly under both OSes.

Change-Id: I4e5aea3b2763a3c4433abe95c3a41d218fcd06c1
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/89602
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Reviewed-by: Nicholas Sudsgaard <devel+coreboot@nsudsgaard.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2025-11-02 18:16:53 +00:00
..
51nb/npce985la0dx include/device/device.h: Remove CHIP_NAME() macro 2024-01-31 09:51:58 +00:00
acpi ec/acpi/ec.c: Promote timeout messages to errors 2025-01-22 20:20:44 +00:00
apple/acpi
clevo/it5570e tree: Use <stdio.h> for snprintf 2024-05-29 10:33:54 +00:00
compal/ene932 ec, lib, security, sb: Add SPDX license headers to Kconfig files 2024-02-18 02:00:21 +00:00
dasharo/ec ec/dasharo/ec: Add DTT power and battery participants 2025-06-06 13:13:59 +00:00
dell/mec5035 ec/dell/mec5035: Replace defines with enums 2024-08-26 22:32:30 +00:00
google ec/google/chromeec/acpi: Fix long battery string reporting for Windows 2025-11-02 18:16:53 +00:00
hp/kbc1126 ec/hp/kbc1126/acpi: Drop unnecessary _STA methods 2024-03-16 15:20:04 +00:00
intel ec/intel: read board ID one time from EC per stage 2025-04-29 18:53:04 +00:00
kontron ec, lib, security, sb: Add SPDX license headers to Kconfig files 2024-02-18 02:00:21 +00:00
lenovo ec/lenovo/h8: Turn on PWR LED 2025-09-03 18:03:05 +00:00
purism tree: Remove unused <stddef.h> 2024-05-29 02:51:20 +00:00
quanta ec, lib, security, sb: Add SPDX license headers to Kconfig files 2024-02-18 02:00:21 +00:00
roda/it8518 include/device/device.h: Remove CHIP_NAME() macro 2024-01-31 09:51:58 +00:00
smsc/mec1308 ec, lib, security, sb: Add SPDX license headers to Kconfig files 2024-02-18 02:00:21 +00:00
starlabs/merlin ec/starlabs/merlin: Move version offsets to ECDEFs 2025-10-31 21:05:56 +00:00
system76/ec ec/system76/ec: Add config for 2nd fan without GPU 2025-05-14 18:08:44 +00:00
ec.h