power: supply: Add AC driver for Surface Aggregator Module
authorMaximilian Luz <luzmaximilian@gmail.com>
Mon, 5 Apr 2021 23:41:26 +0000 (01:41 +0200)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Thu, 8 Apr 2021 12:30:35 +0000 (14:30 +0200)
commite61ffb344591fca443be4fc633290cbf15ee3298
tree0127145a97aa318baccc4e5ff20dac276ac29cd4
parent167f77f7d0b3891941866ae66f9cf4362ec33f93
power: supply: Add AC driver for Surface Aggregator Module

On newer Microsoft Surface models (specifically 7th-generation, i.e.
Surface Pro 7, Surface Book 3, Surface Laptop 3, and Surface Laptop Go),
battery and AC status/information is no longer handled via standard ACPI
devices, but instead directly via the Surface System Aggregator Module
(SSAM), i.e. the embedded controller on those devices.

While on previous generation models, AC status is also handled via SSAM,
an ACPI shim was present to translate the standard ACPI AC interface to
SSAM requests. The SSAM interface itself, which is modeled closely after
the ACPI interface, has not changed.

This commit introduces a new SSAM client device driver to support AC
status/information via the aforementioned interface on said Surface
models.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
MAINTAINERS
drivers/power/supply/Kconfig
drivers/power/supply/Makefile
drivers/power/supply/surface_charger.c [new file with mode: 0644]