Merge branch 'power-meter' into release
This commit is contained in:
commit
44396a2622
51
Documentation/hwmon/acpi_power_meter
Normal file
51
Documentation/hwmon/acpi_power_meter
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
Kernel driver power_meter
|
||||||
|
=========================
|
||||||
|
|
||||||
|
This driver talks to ACPI 4.0 power meters.
|
||||||
|
|
||||||
|
Supported systems:
|
||||||
|
* Any recent system with ACPI 4.0.
|
||||||
|
Prefix: 'power_meter'
|
||||||
|
Datasheet: http://acpi.info/, section 10.4.
|
||||||
|
|
||||||
|
Author: Darrick J. Wong
|
||||||
|
|
||||||
|
Description
|
||||||
|
-----------
|
||||||
|
|
||||||
|
This driver implements sensor reading support for the power meters exposed in
|
||||||
|
the ACPI 4.0 spec (Chapter 10.4). These devices have a simple set of
|
||||||
|
features--a power meter that returns average power use over a configurable
|
||||||
|
interval, an optional capping mechanism, and a couple of trip points. The
|
||||||
|
sysfs interface conforms with the specification outlined in the "Power" section
|
||||||
|
of Documentation/hwmon/sysfs-interface.
|
||||||
|
|
||||||
|
Special Features
|
||||||
|
----------------
|
||||||
|
|
||||||
|
The power[1-*]_is_battery knob indicates if the power supply is a battery.
|
||||||
|
Both power[1-*]_average_{min,max} must be set before the trip points will work.
|
||||||
|
When both of them are set, an ACPI event will be broadcast on the ACPI netlink
|
||||||
|
socket and a poll notification will be sent to the appropriate
|
||||||
|
power[1-*]_average sysfs file.
|
||||||
|
|
||||||
|
The power[1-*]_{model_number, serial_number, oem_info} fields display arbitrary
|
||||||
|
strings that ACPI provides with the meter. The measures/ directory contains
|
||||||
|
symlinks to the devices that this meter measures.
|
||||||
|
|
||||||
|
Some computers have the ability to enforce a power cap in hardware. If this is
|
||||||
|
the case, the power[1-*]_cap and related sysfs files will appear. When the
|
||||||
|
average power consumption exceeds the cap, an ACPI event will be broadcast on
|
||||||
|
the netlink event socket and a poll notification will be sent to the
|
||||||
|
appropriate power[1-*]_alarm file to indicate that capping has begun, and the
|
||||||
|
hardware has taken action to reduce power consumption. Most likely this will
|
||||||
|
result in reduced performance.
|
||||||
|
|
||||||
|
There are a few other ACPI notifications that can be sent by the firmware. In
|
||||||
|
all cases the ACPI event will be broadcast on the ACPI netlink event socket as
|
||||||
|
well as sent as a poll notification to a sysfs file. The events are as
|
||||||
|
follows:
|
||||||
|
|
||||||
|
power[1-*]_cap will be notified if the firmware changes the power cap.
|
||||||
|
power[1-*]_interval will be notified if the firmware changes the averaging
|
||||||
|
interval.
|
@ -82,6 +82,17 @@ config ACPI_PROCFS_POWER
|
|||||||
|
|
||||||
Say N to delete power /proc/acpi/ directories that have moved to /sys/
|
Say N to delete power /proc/acpi/ directories that have moved to /sys/
|
||||||
|
|
||||||
|
config ACPI_POWER_METER
|
||||||
|
tristate "ACPI 4.0 power meter"
|
||||||
|
depends on HWMON
|
||||||
|
help
|
||||||
|
This driver exposes ACPI 4.0 power meters as hardware monitoring
|
||||||
|
devices. Say Y (or M) if you have a computer with ACPI 4.0 firmware
|
||||||
|
and a power meter.
|
||||||
|
|
||||||
|
To compile this driver as a module, choose M here:
|
||||||
|
the module will be called power-meter.
|
||||||
|
|
||||||
config ACPI_SYSFS_POWER
|
config ACPI_SYSFS_POWER
|
||||||
bool "Future power /sys interface"
|
bool "Future power /sys interface"
|
||||||
select POWER_SUPPLY
|
select POWER_SUPPLY
|
||||||
|
@ -56,6 +56,7 @@ obj-$(CONFIG_ACPI_HOTPLUG_MEMORY) += acpi_memhotplug.o
|
|||||||
obj-$(CONFIG_ACPI_BATTERY) += battery.o
|
obj-$(CONFIG_ACPI_BATTERY) += battery.o
|
||||||
obj-$(CONFIG_ACPI_SBS) += sbshc.o
|
obj-$(CONFIG_ACPI_SBS) += sbshc.o
|
||||||
obj-$(CONFIG_ACPI_SBS) += sbs.o
|
obj-$(CONFIG_ACPI_SBS) += sbs.o
|
||||||
|
obj-$(CONFIG_ACPI_POWER_METER) += power_meter.o
|
||||||
|
|
||||||
# processor has its own "processor." module_param namespace
|
# processor has its own "processor." module_param namespace
|
||||||
processor-y := processor_core.o processor_throttling.o
|
processor-y := processor_core.o processor_throttling.o
|
||||||
|
1018
drivers/acpi/power_meter.c
Normal file
1018
drivers/acpi/power_meter.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user