1 Kernel driver power_meter
2 =========================
4 This driver talks to ACPI 4.0 power meters.
8 * Any recent system with ACPI 4.0.
12 Datasheet: https://uefi.org/specifications, section 10.4.
14 Author: Darrick J. Wong
19 This driver implements sensor reading support for the power meters exposed in
20 the ACPI 4.0 spec (Chapter 10.4). These devices have a simple set of
21 features--a power meter that returns average power use over a configurable
22 interval, an optional capping mechanism, and a couple of trip points. The
23 sysfs interface conforms with the specification outlined in the "Power" section
24 of Documentation/hwmon/sysfs-interface.rst.
29 The `power[1-*]_is_battery` knob indicates if the power supply is a battery.
30 Both `power[1-*]_average_{min,max}` must be set before the trip points will work.
31 When both of them are set, an ACPI event will be broadcast on the ACPI netlink
32 socket and a poll notification will be sent to the appropriate
33 `power[1-*]_average` sysfs file.
35 The `power[1-*]_{model_number, serial_number, oem_info}` fields display
36 arbitrary strings that ACPI provides with the meter. The measures/ directory
37 contains symlinks to the devices that this meter measures.
39 Some computers have the ability to enforce a power cap in hardware. If this is
40 the case, the `power[1-*]_cap` and related sysfs files will appear. When the
41 average power consumption exceeds the cap, an ACPI event will be broadcast on
42 the netlink event socket and a poll notification will be sent to the
43 appropriate `power[1-*]_alarm` file to indicate that capping has begun, and the
44 hardware has taken action to reduce power consumption. Most likely this will
45 result in reduced performance.
47 There are a few other ACPI notifications that can be sent by the firmware. In
48 all cases the ACPI event will be broadcast on the ACPI netlink event socket as
49 well as sent as a poll notification to a sysfs file. The events are as
52 `power[1-*]_cap` will be notified if the firmware changes the power cap.
53 `power[1-*]_interval` will be notified if the firmware changes the averaging