26 Sep, 2020

1 commit


22 Feb, 2018

1 commit

  • This is a patch that implements a generic hooking API for the
    generic ACPI battery driver.

    With this new generic API, drivers can expose platform specific
    behaviour via sysfs attributes in /sys/class/power_supply/BATn/
    in a generic way.

    A perfect example of the need for this API are Lenovo ThinkPads.

    Lenovo ThinkPads have a ACPI extension that allows the setting of
    start and stop charge thresholds in the EC and battery firmware
    via ACPI. The thinkpad_acpi module can use this API to expose
    sysfs attributes that it controls inside the ACPI battery driver
    sysfs tree, under /sys/class/power_supply/BATN/.

    The file drivers/acpi/battery.h has been moved to
    include/acpi/battery.h and the includes inside ac.c, sbs.c, and
    battery.c have been adjusted to reflect that.

    When drivers hooks into the API, the API calls add_battery() for
    each battery in the system that passes it a acpi_battery
    struct. Then, the drivers can use device_create_file() to create
    new sysfs attributes with that struct and identify the batteries
    for per-battery attributes.

    Signed-off-by: Ognjen Galic
    Signed-off-by: Rafael J. Wysocki

    Ognjen Galic