Kernel: Add support for ACPI Control Method Batteries

The implementation is kinda weird but it exposes some battery
information to userspace!
This commit is contained in:
2024-12-18 04:05:06 +02:00
parent b9fe564d78
commit 4e364bd2f6
6 changed files with 190 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
#include <BAN/ScopeGuard.h>
#include <BAN/StringView.h>
#include <kernel/ACPI/ACPI.h>
#include <kernel/ACPI/BatterySystem.h>
#include <kernel/ACPI/AML/OpRegion.h>
#include <kernel/BootInfo.h>
#include <kernel/InterruptController.h>
@@ -774,6 +775,13 @@ acpi_release_global_lock:
return {};
}
BAN::ErrorOr<void> ACPI::initialize_acpi_devices()
{
ASSERT(m_namespace);
TRY(BatterySystem::initialize(*m_namespace));
return {};
}
void ACPI::acpi_event_task()
{
auto get_fixed_event =