ACPI / DPTF: Add DPTF power participant driver
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Sun, 17 Jul 2016 20:45:32 +0000 (13:45 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 21 Jul 2016 11:40:09 +0000 (13:40 +0200)
commit6256ebd5daf93505f12b66916fb1b961b38f4cf2
tree128b9bfb23ac3ddb550531a0df94a7ffd4914ef1
parent92d21ac74a9e3c09b0b01c764e530657e4c85c49
ACPI / DPTF: Add DPTF power participant driver

This driver adds support for Dynamic Platform and Thermal Framework
(DPTF) Platform Power Participant device (INT3407) support.

This participant is responsible for exposing platform telemetry such as:
    max_platform_power
    platform_power_source
    adapter_rating
    battery_steady_power
    charger_type

These attributes are presented via sysfs interface under the INT3407
platform device:
$ls /sys/bus/platform/devices/INT3407\:00/dptf_power/
    adapter_rating_mw
    battery_steady_power_mw
    charger_type
    max_platform_power_mw
    platform_power_source
    `
ACPI methods description used in this driver:
    PMAX: Maximum platform power that can be supported by the battery in
          mW.
    PSRC: System charge source,
            0x00 = DC
            0x01 = AC
            0x02 = USB
            0x03 = Wireless Charger
    ARTG: Adapter rating in mW (Maximum Adapter power) Must be 0 if no
          AC adapter is plugged in.
    CTYP: Charger Type,
            Traditional : 0x01
            Hybrid: 0x02
            NVDC: 0x03
    PBSS: Returns max sustained power for battery in milliWatts.

The INT3407 also contains _BTS and _BIX objects, which are compliant to
ACPI 5.0, specification. Those objects are already used by ACPI battery
(PNP0C0A) driver and information about them is exported via Linux power
supply class registration.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/Kconfig
drivers/acpi/Makefile
drivers/acpi/dptf/Kconfig [new file with mode: 0644]
drivers/acpi/dptf/Makefile [new file with mode: 0644]
drivers/acpi/dptf/dptf_power.c [new file with mode: 0644]