ABI: add additional sysfs docs and update some other ABI files
Subsystems (5)
v2 cover ABI: add additional sysfs docs and update some other ABI files
Hi Greg,
This series contain:
patch 1: Convert sys/class/thermal to Documentation/ABI;
patch 2: Convert sys/class/hwmon to Documentation/ABI;
patch 3: add a new sysfs element on hwmon that weren't documented yet; patch 4: Convert MCE sysfs documentation into Documentation/ABI; patch 5: Add 3 missing elements to MCE sysfs documentation;
patches 6 and 7: fix wildcards at sysfs-class-extcon and sysfs-devices-system-cpu.
Those help to reduce the gap of undocumented ABI detected by:
./scripts/get_abi.pl undefined
On an ARM and on an AMD x86_64 server.
Mauro Carvalho Chehab (7):
ABI: sysfs-class-thermal: create a file with thermal_zone ABI
ABI: sysfs-class-hwmon: add ABI documentation for it
ABI: sysfs-class-hwmon: add a description for tempY_crit_alarm
ABI: sysfs-mce: add a new ABI file
ABI: sysfs-mce: add 3 missing files
ABI: sysfs-class-extcon: use uppercase X for wildcards
ABI: u: use cpuX instead of cpu#
Documentation/ABI/testing/sysfs-class-extcon | 12 +- Documentation/ABI/testing/sysfs-class-hwmon | 932 ++++++++++++++++++ Documentation/ABI/testing/sysfs-class-thermal | 259 +++++ .../ABI/testing/sysfs-devices-system-cpu | 52 +- Documentation/ABI/testing/sysfs-mce | 129 +++ .../driver-api/thermal/sysfs-api.rst | 225 +---- Documentation/hwmon/sysfs-interface.rst | 596 +---------- Documentation/x86/x86_64/machinecheck.rst | 56 +- MAINTAINERS | 5 + 9 files changed, 1404 insertions(+), 862 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-class-hwmon create mode 100644 Documentation/ABI/testing/sysfs-class-thermal create mode 100644 Documentation/ABI/testing/sysfs-mce
Signature · 1 line
2.31.1
PATCH v2 1/7 ABI: sysfs-class-thermal: create a file with thermal_zone ABI
The thermal ABI is described, together with the internal development details at:
Documentation/driver-api/thermal/sysfs-api.rst
Move the sysfs API description to Documentation/ABI, ensuring that scripts/get_abi.pl will properly parse it.
---
See [PATCH v2 0/7] at: https://lore.kernel.org/all/[email protected]/
Documentation/ABI/testing/sysfs-class-thermal | 259 ++++++++++++++++++ .../driver-api/thermal/sysfs-api.rst | 225 +-------------- MAINTAINERS | 2 + 3 files changed, 264 insertions(+), 222 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-class-thermal
Documentation/ABI/testing/sysfs-class-thermal new file +259 -0
@@ -0,0 +1,259 @@ +What: /sys/class/thermal/thermal_zoneX/type +Description: + Strings which represent the thermal zone type. + This is given by thermal zone driver as part of registration. + E.g: "acpitz" indicates it's an ACPI thermal device. + In order to keep it consistent with hwmon sys attribute; this + shouldbe a short, lowercase string, not containing spaces nor + dashes. + + RO, Required + +What: /sys/class/thermal/thermal_zoneX/temp +Description: + Current temperature as reported by thermal zone (sensor). + + Unit: millidegree Celsius + + RO, Required + +What: /sys/class/thermal/thermal_zoneX/mode +Description: + One of the predefined values in [enabled, disabled]. + This file gives information about the algorithm that is + currently managing the thermal zone. It can be either default + kernel based algorithm or user space application. + + enabled + enable Kernel Thermal management. + disabled + Preventing kernel thermal zone driver actions upon + trip points so that user application can take full + charge of the thermal management. + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/policy +Description: + One of the various thermal governors used for a particular zone. + + RW, Required + +What: /sys/class/thermal/thermal_zoneX/available_policies +Description: + Available thermal governors which can be used for a + particular zone. + + RO, Required + +What: /sys/class/thermal/thermal_zoneX/trip_point_Y_temp +Description: + The temperature above which trip point will be fired. + + Unit: millidegree Celsius + + RO, Optional + +What: /sys/class/thermal/thermal_zoneX/trip_point_Y_type +Description: + Strings which indicate the type of the trip point. + + E.g. it can be one of critical, hot, passive, `active[0-*]` + for ACPI thermal zone. + + RO, Optional + +What: /sys/class/thermal/thermal_zoneX/trip_point_Y_hyst +Description: + The hysteresis value for a trip point, represented as an + integer. + + Unit: Celsius + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/cdevY +Description: + Sysfs link to the thermal cooling device node where the sys I/F + for cooling device throttling control represents. + + RO, Optional + +What: /sys/class/thermal/thermal_zoneX/cdevY_trip_point +Description: + The trip point in this thermal zone which `cdev[0-*]` is + associated with; -1 means the cooling device is not + associated with any trip point. + + RO, Optional + +What: /sys/class/thermal/thermal_zoneX/cdevY_weight +Description: + The influence of `cdev[0-*]` in this thermal zone. This value + is relative to the rest of cooling devices in the thermal + zone. For example, if a cooling device has a weight double + than that of other, it's twice as effective in cooling the + thermal zone. + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/emul_temp +Description: + Interface to set the emulated temperature method in thermal zone + (sensor). After setting this temperature, the thermal zone may + pass this temperature to platform emulation function if + registered or cache it locally. This is useful in debugging + different temperature threshold and its associated cooling + action. This is write only node and writing 0 on this node + should disable emulation. + + Unit: millidegree Celsius + + WO, Optional + + WARNING: + Be careful while enabling this option on production systems, + because userland can easily disable the thermal policy by simply + flooding this sysfs node with low temperature values. + + +What: /sys/class/thermal/thermal_zoneX/k_d +Description: + The derivative term of the power allocator governor's PID + controller. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/k_i +Description: + The integral term of the power allocator governor's PID + controller. This term allows the PID controller to compensate + for long term drift. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/k_po +Description: + The proportional term of the power allocator governor's PID + controller during temperature overshoot. Temperature overshoot + is when the current temperature is above the "desired + temperature" trip point. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/k_pu +Description: + The proportional term of the power allocator governor's PID + controller during temperature undershoot. Temperature undershoot + is when the current temperature is below the "desired + temperature" trip point. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/integral_cutoff +Description: + Temperature offset from the desired temperature trip point + above which the integral term of the power allocator + governor's PID controller starts accumulating errors. For + example, if integral_cutoff is 0, then the integral term only + accumulates error when temperature is above the desired + temperature trip point. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + Unit: millidegree Celsius + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/slope +Description: + The slope constant used in a linear extrapolation model + to determine a hotspot temperature based off the sensor's + raw readings. It is up to the device driver to determine + the usage of these values. + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/offset +Description: + The offset constant used in a linear extrapolation model + to determine a hotspot temperature based off the sensor's + raw readings. It is up to the device driver to determine + the usage of these values. + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/sustainable_power +Description: + An estimate of the sustained power that can be dissipated by + the thermal zone. Used by the power allocator governor. For + more information see + Documentation/driver-api/thermal/power_allocator.rst + + Unit: milliwatts + + RW, Optional + +What: /sys/class/thermal/cooling_deviceX/type +Description: + String which represents the type of device, e.g: + + - for generic ACPI: should be "Fan", "Processor" or "LCD" + - for memory controller device on intel_menlow platform: + should be "Memory controller". + + RO, Required + +What: /sys/class/thermal/cooling_deviceX/max_state +Description: + The maximum permissible cooling state of this cooling device. + + RO, Required + +What: /sys/class/thermal/cooling_deviceX/cur_state +Description: + The current cooling state of this cooling device. + The value can any integer numbers between 0 and max_state: + + - cur_state == 0 means no cooling + - cur_state == max_state means the maximum cooling. + + RW, Required + +What: /sys/class/thermal/cooling_deviceX/stats/reset +Description: + Writing any value resets the cooling device's statistics. + + WO, Required + +What: /sys/class/thermal/cooling_deviceX/stats/time_in_state_ms: +Description: + The amount of time spent by the cooling device in various + cooling states. The output will have "<state> <time>" pair + in each line, which will mean this cooling device spent <time> + msec of time at <state>. + + Output will have one line for each of the supported states. + + RO, Required + +What: /sys/class/thermal/cooling_deviceX/stats/total_trans +Description: + A single positive value showing the total number of times + the state of a cooling device is changed. + + RO, Required + +What: /sys/class/thermal/cooling_deviceX/stats/trans_table +Description: + This gives fine grained information about all the cooling state + transitions. The cat output here is a two dimensional matrix, + where an entry <i,j> (row i, column j) represents the number + of transitions from State_i to State_j. If the transition + table is bigger than PAGE_SIZE, reading this will return + an -EFBIG error. + + RO, Required
Documentation/driver-api/thermal/sysfs-api.rst +3 -222
237 lines not on this page · raw message
MAINTAINERS +2 -0
@@ -18653,7 +18653,9 @@ L: [email protected] S: Supported Q: https://patchwork.kernel.org/project/linux-pm/list/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git +F: Documentation/ABI/testing/sysfs-class-thermal F: Documentation/devicetree/bindings/thermal/ +F: Documentation/driver-api/thermal/ F: drivers/thermal/ F: include/linux/cpu_cooling.h F: include/linux/thermal.h
Signature · 1 line
2.31.1
Rafael J. Wysocki
maintainerRe: [PATCH v2 1/7] ABI: sysfs-class-thermal: create a file with thermal_zone ABI
Quoted 8 lines · Mauro Carvalho Chehab
The thermal ABI is described, together with the internal development details at:
Documentation/driver-api/thermal/sysfs-api.rstMove the sysfs API description to
Documentation/ABI, ensuring thatscripts/get_abi.plwill properly parse it.
So the subject of the patch should be something like
thermal: Move ABI documentation do Documentation/ABI
Also please mention the MAINTAINERS update in the changelog.
Quoted 536 lines
Signed-off-by Mauro Carvalho Chehab <[email protected]>---
See [PATCH v2 0/7] at: https://lore.kernel.org/all/[email protected]/
Documentation/ABI/testing/sysfs-class-thermal | 259 ++++++++++++++++++ .../driver-api/thermal/sysfs-api.rst | 225 +-------------- MAINTAINERS | 2 + 3 files changed, 264 insertions(+), 222 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-class-thermalDocumentation/ABI/testing/sysfs-class-thermal new file +259
-0@@ -0,0 +1,259 @@ +What: /sys/class/thermal/thermal_zoneX/type +Description: + Strings which represent the thermal zone type. + This is given by thermal zone driver as part of registration. + E.g: "acpitz" indicates it's an ACPI thermal device. + In order to keep it consistent with hwmon sys attribute; this + shouldbe a short, lowercase string, not containing spaces nor + dashes. + + RO, Required + +What: /sys/class/thermal/thermal_zoneX/temp +Description: + Current temperature as reported by thermal zone (sensor). + + Unit: millidegree Celsius + + RO, Required + +What: /sys/class/thermal/thermal_zoneX/mode +Description: + One of the predefined values in [enabled, disabled]. + This file gives information about the algorithm that is + currently managing the thermal zone. It can be either default + kernel based algorithm or user space application. + + enabled + enable Kernel Thermal management. + disabled + Preventing kernel thermal zone driver actions upon + trip points so that user application can take full + charge of the thermal management. + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/policy +Description: + One of the various thermal governors used for a particular zone. + + RW, Required + +What: /sys/class/thermal/thermal_zoneX/available_policies +Description: + Available thermal governors which can be used for a + particular zone. + + RO, Required + +What: /sys/class/thermal/thermal_zoneX/trip_point_Y_temp +Description: + The temperature above which trip point will be fired. + + Unit: millidegree Celsius + + RO, Optional + +What: /sys/class/thermal/thermal_zoneX/trip_point_Y_type +Description: + Strings which indicate the type of the trip point. + + E.g. it can be one of critical, hot, passive, `active[0-*]` + for ACPI thermal zone. + + RO, Optional + +What: /sys/class/thermal/thermal_zoneX/trip_point_Y_hyst +Description: + The hysteresis value for a trip point, represented as an + integer. + + Unit: Celsius + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/cdevY +Description: + Sysfs link to the thermal cooling device node where the sys I/F + for cooling device throttling control represents. + + RO, Optional + +What: /sys/class/thermal/thermal_zoneX/cdevY_trip_point +Description: + The trip point in this thermal zone which `cdev[0-*]` is + associated with; -1 means the cooling device is not + associated with any trip point. + + RO, Optional + +What: /sys/class/thermal/thermal_zoneX/cdevY_weight +Description: + The influence of `cdev[0-*]` in this thermal zone. This value + is relative to the rest of cooling devices in the thermal + zone. For example, if a cooling device has a weight double + than that of other, it's twice as effective in cooling the + thermal zone. + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/emul_temp +Description: + Interface to set the emulated temperature method in thermal zone + (sensor). After setting this temperature, the thermal zone may + pass this temperature to platform emulation function if + registered or cache it locally. This is useful in debugging + different temperature threshold and its associated cooling + action. This is write only node and writing 0 on this node + should disable emulation. + + Unit: millidegree Celsius + + WO, Optional + + WARNING: + Be careful while enabling this option on production systems, + because userland can easily disable the thermal policy by simply + flooding this sysfs node with low temperature values. + + +What: /sys/class/thermal/thermal_zoneX/k_d +Description: + The derivative term of the power allocator governor's PID + controller. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/k_i +Description: + The integral term of the power allocator governor's PID + controller. This term allows the PID controller to compensate + for long term drift. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/k_po +Description: + The proportional term of the power allocator governor's PID + controller during temperature overshoot. Temperature overshoot + is when the current temperature is above the "desired + temperature" trip point. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/k_pu +Description: + The proportional term of the power allocator governor's PID + controller during temperature undershoot. Temperature undershoot + is when the current temperature is below the "desired + temperature" trip point. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/integral_cutoff +Description: + Temperature offset from the desired temperature trip point + above which the integral term of the power allocator + governor's PID controller starts accumulating errors. For + example, if integral_cutoff is 0, then the integral term only + accumulates error when temperature is above the desired + temperature trip point. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + Unit: millidegree Celsius + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/slope +Description: + The slope constant used in a linear extrapolation model + to determine a hotspot temperature based off the sensor's + raw readings. It is up to the device driver to determine + the usage of these values. + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/offset +Description: + The offset constant used in a linear extrapolation model + to determine a hotspot temperature based off the sensor's + raw readings. It is up to the device driver to determine + the usage of these values. + + RW, Optional + +What: /sys/class/thermal/thermal_zoneX/sustainable_power +Description: + An estimate of the sustained power that can be dissipated by + the thermal zone. Used by the power allocator governor. For + more information see + Documentation/driver-api/thermal/power_allocator.rst + + Unit: milliwatts + + RW, Optional + +What: /sys/class/thermal/cooling_deviceX/type +Description: + String which represents the type of device, e.g: + + - for generic ACPI: should be "Fan", "Processor" or "LCD" + - for memory controller device on intel_menlow platform: + should be "Memory controller". + + RO, Required + +What: /sys/class/thermal/cooling_deviceX/max_state +Description: + The maximum permissible cooling state of this cooling device. + + RO, Required + +What: /sys/class/thermal/cooling_deviceX/cur_state +Description: + The current cooling state of this cooling device. + The value can any integer numbers between 0 and max_state: + + - cur_state == 0 means no cooling + - cur_state == max_state means the maximum cooling. + + RW, Required + +What: /sys/class/thermal/cooling_deviceX/stats/reset +Description: + Writing any value resets the cooling device's statistics. + + WO, Required + +What: /sys/class/thermal/cooling_deviceX/stats/time_in_state_ms: +Description: + The amount of time spent by the cooling device in various + cooling states. The output will have "<state> <time>" pair + in each line, which will mean this cooling device spent <time> + msec of time at <state>. + + Output will have one line for each of the supported states. + + RO, Required + +What: /sys/class/thermal/cooling_deviceX/stats/total_trans +Description: + A single positive value showing the total number of times + the state of a cooling device is changed. + + RO, Required + +What: /sys/class/thermal/cooling_deviceX/stats/trans_table +Description: + This gives fine grained information about all the cooling state + transitions. The cat output here is a two dimensional matrix, + where an entry <i,j> (row i, column j) represents the number + of transitions from State_i to State_j. If the transition + table is bigger than PAGE_SIZE, reading this will return + an -EFBIG error. + + RO, RequiredDocumentation/driver-api/thermal/sysfs-api.rst +3
-222@@ -428,6 +428,9 @@ of thermal zone device. E.g. the generic thermal driver registers one hwmon class device and build the associated hwmon sysfs I/F for all the registered ACPI thermal zones. +Please read Documentation/ABI/testing/sysfs-class-thermal for thermal +zone and cooling device attribute details. + :: /sys/class/hwmon/hwmon[0-*]:@@ -437,228 +440,6 @@ ACPI thermal zones. Please read Documentation/hwmon/sysfs-interface.rst for additional information. -Thermal zone attributes ------------------------ - -type - Strings which represent the thermal zone type. - This is given by thermal zone driver as part of registration. - E.g: "acpitz" indicates it's an ACPI thermal device. - In order to keep it consistent with hwmon sys attribute; this should - be a short, lowercase string, not containing spaces nor dashes. - RO, Required - -temp - Current temperature as reported by thermal zone (sensor). - Unit: millidegree Celsius - RO, Required - -mode - One of the predefined values in [enabled, disabled]. - This file gives information about the algorithm that is currently - managing the thermal zone. It can be either default kernel based - algorithm or user space application. - - enabled - enable Kernel Thermal management. - disabled - Preventing kernel thermal zone driver actions upon - trip points so that user application can take full - charge of the thermal management. - - RW, Optional - -policy - One of the various thermal governors used for a particular zone. - - RW, Required - -available_policies - Available thermal governors which can be used for a particular zone. - - RO, Required - -`trip_point_[0-*]_temp` - The temperature above which trip point will be fired. - - Unit: millidegree Celsius - - RO, Optional - -`trip_point_[0-*]_type` - Strings which indicate the type of the trip point. - - E.g. it can be one of critical, hot, passive, `active[0-*]` for ACPI - thermal zone. - - RO, Optional - -`trip_point_[0-*]_hyst` - The hysteresis value for a trip point, represented as an integer - Unit: Celsius - RW, Optional - -`cdev[0-*]` - Sysfs link to the thermal cooling device node where the sys I/F - for cooling device throttling control represents. - - RO, Optional - -`cdev[0-*]_trip_point` - The trip point in this thermal zone which `cdev[0-*]` is associated - with; -1 means the cooling device is not associated with any trip - point. - - RO, Optional - -`cdev[0-*]_weight` - The influence of `cdev[0-*]` in this thermal zone. This value - is relative to the rest of cooling devices in the thermal - zone. For example, if a cooling device has a weight double - than that of other, it's twice as effective in cooling the - thermal zone. - - RW, Optional - -emul_temp - Interface to set the emulated temperature method in thermal zone - (sensor). After setting this temperature, the thermal zone may pass - this temperature to platform emulation function if registered or - cache it locally. This is useful in debugging different temperature - threshold and its associated cooling action. This is write only node - and writing 0 on this node should disable emulation. - Unit: millidegree Celsius - - WO, Optional - - WARNING: - Be careful while enabling this option on production systems, - because userland can easily disable the thermal policy by simply - flooding this sysfs node with low temperature values. - -sustainable_power - An estimate of the sustained power that can be dissipated by - the thermal zone. Used by the power allocator governor. For - more information see Documentation/driver-api/thermal/power_allocator.rst - - Unit: milliwatts - - RW, Optional - -k_po - The proportional term of the power allocator governor's PID - controller during temperature overshoot. Temperature overshoot - is when the current temperature is above the "desired - temperature" trip point. For more information see - Documentation/driver-api/thermal/power_allocator.rst - - RW, Optional - -k_pu - The proportional term of the power allocator governor's PID - controller during temperature undershoot. Temperature undershoot - is when the current temperature is below the "desired - temperature" trip point. For more information see - Documentation/driver-api/thermal/power_allocator.rst - - RW, Optional - -k_i - The integral term of the power allocator governor's PID - controller. This term allows the PID controller to compensate - for long term drift. For more information see - Documentation/driver-api/thermal/power_allocator.rst - - RW, Optional - -k_d - The derivative term of the power allocator governor's PID - controller. For more information see - Documentation/driver-api/thermal/power_allocator.rst - - RW, Optional - -integral_cutoff - Temperature offset from the desired temperature trip point - above which the integral term of the power allocator - governor's PID controller starts accumulating errors. For - example, if integral_cutoff is 0, then the integral term only - accumulates error when temperature is above the desired - temperature trip point. For more information see - Documentation/driver-api/thermal/power_allocator.rst - - Unit: millidegree Celsius - - RW, Optional - -slope - The slope constant used in a linear extrapolation model - to determine a hotspot temperature based off the sensor's - raw readings. It is up to the device driver to determine - the usage of these values. - - RW, Optional - -offset - The offset constant used in a linear extrapolation model - to determine a hotspot temperature based off the sensor's - raw readings. It is up to the device driver to determine - the usage of these values. - - RW, Optional - -Cooling device attributes -------------------------- - -type - String which represents the type of device, e.g: - - - for generic ACPI: should be "Fan", "Processor" or "LCD" - - for memory controller device on intel_menlow platform: - should be "Memory controller". - - RO, Required - -max_state - The maximum permissible cooling state of this cooling device. - - RO, Required - -cur_state - The current cooling state of this cooling device. - The value can any integer numbers between 0 and max_state: - - - cur_state == 0 means no cooling - - cur_state == max_state means the maximum cooling. - - RW, Required - -stats/reset - Writing any value resets the cooling device's statistics. - WO, Required - -stats/time_in_state_ms: - The amount of time spent by the cooling device in various cooling - states. The output will have "<state> <time>" pair in each line, which - will mean this cooling device spent <time> msec of time at <state>. - Output will have one line for each of the supported states. - RO, Required - - -stats/total_trans: - A single positive value showing the total number of times the state of a - cooling device is changed. - - RO, Required - -stats/trans_table: - This gives fine grained information about all the cooling state - transitions. The cat output here is a two dimensional matrix, where an - entry <i,j> (row i, column j) represents the number of transitions from - State_i to State_j. If the transition table is bigger than PAGE_SIZE, - reading this will return an -EFBIG error. - RO, Required - 3. A simple implementation ==========================MAINTAINERS +2
-1@@ -18653,7 +18653,9 @@ L: [email protected] S: Supported Q: https://patchwork.kernel.org/project/linux-pm/list/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git +F: Documentation/ABI/testing/sysfs-class-thermal F: Documentation/devicetree/bindings/thermal/ +F: Documentation/driver-api/thermal/ F: drivers/thermal/ F: include/linux/cpu_cooling.h F: include/linux/thermal.h --2.31.1
PATCH v2 2/7 ABI: sysfs-class-hwmon: add ABI documentation for it
In reply to Mauro Carvalho ChehabMove the ABI attributes documentation from:
Documentation/hwmon/sysfs-interface.rst
in order for it to follow the usual ABI documentation. That allows script/get_abi.pl to properly handle it.
---
See [PATCH v2 0/7] at: https://lore.kernel.org/all/[email protected]/
Documentation/ABI/testing/sysfs-class-hwmon | 918 ++++++++++++++++++++ Documentation/hwmon/sysfs-interface.rst | 596 +------------ MAINTAINERS | 1 + 3 files changed, 961 insertions(+), 554 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-class-hwmon
Documentation/ABI/testing/sysfs-class-hwmon new file +918 -0
@@ -0,0 +1,918 @@ +What: /sys/class/hwmon/hwmonX/name +Description: + The chip name. + This should be a short, lowercase string, not containing + whitespace, dashes, or the wildcard character '*'. + This attribute represents the chip name. It is the only + mandatory attribute. + I2C devices get this attribute created automatically. + + RO + +What: /sys/class/hwmon/hwmonX/update_interval +Description: + The interval at which the chip will update readings. + Unit: millisecond + + RW + + Some devices have a variable update rate or interval. + This attribute can be used to change it to the desired value. + +What: /sys/class/hwmon/hwmonX/inY_min +Description: + Voltage min value. + + Unit: millivolt + + RW + +What: /sys/class/hwmon/hwmonX/inY_lcrit +Description: + Voltage critical min value. + + Unit: millivolt + + RW + + If voltage drops to or below this limit, the system may + take drastic action such as power down or reset. At the very + least, it should report a fault. + +What: /sys/class/hwmon/hwmonX/inY_max +Description: + Voltage max value. + + Unit: millivolt + + RW + +What: /sys/class/hwmon/hwmonX/inY_crit +Description: + Voltage critical max value. + + Unit: millivolt + + RW + + If voltage reaches or exceeds this limit, the system may + take drastic action such as power down or reset. At the very + least, it should report a fault. + +What: /sys/class/hwmon/hwmonX/inY_input +Description: + Voltage input value. + + Unit: millivolt + + RO + + Voltage measured on the chip pin. + + Actual voltage depends on the scaling resistors on the + motherboard, as recommended in the chip datasheet. + + This varies by chip and by motherboard. + Because of this variation, values are generally NOT scaled + by the chip driver, and must be done by the application. + However, some drivers (notably lm87 and via686a) + do scale, because of internal resistors built into a chip. + These drivers will output the actual voltage. Rule of + thumb: drivers should report the voltage values at the + "pins" of the chip. + +What: /sys/class/hwmon/hwmonX/inY_average +Description: + Average voltage + + Unit: millivolt + + RO + +What: /sys/class/hwmon/hwmonX/inY_lowest +Description: + Historical minimum voltage + + Unit: millivolt + + RO + +What: /sys/class/hwmon/hwmonX/inY_highest +Description: + Historical maximum voltage + + Unit: millivolt + + RO + +What: /sys/class/hwmon/hwmonX/inY_reset_history +Description: + Reset inX_lowest and inX_highest + + WO + +What: /sys/class/hwmon/hwmonX/in_reset_history +Description: + Reset inX_lowest and inX_highest for all sensors + + WO + +What: /sys/class/hwmon/hwmonX/inY_label +Description: + Suggested voltage channel label. + + Text string + + Should only be created if the driver has hints about what + this voltage channel is being used for, and user-space + doesn't. In all other cases, the label is provided by + user-space. + + RO + +What: /sys/class/hwmon/hwmonX/inY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/cpuY_vid +Description: + CPU core reference voltage. + + Unit: millivolt + + RO + + Not always correct. + +What: /sys/class/hwmon/hwmonX/vrm +Description: + Voltage Regulator Module version number. + + RW (but changing it should no more be necessary) + + Originally the VRM standard version multiplied by 10, but now + an arbitrary number, as not all standards have a version + number. + + Affects the way the driver calculates the CPU core reference + voltage from the vid pins. + +What: /sys/class/hwmon/hwmonX/inY_rated_min +Description: + Minimum rated voltage. + + Unit: millivolt + + RO + +What: /sys/class/hwmon/hwmonX/inY_rated_max +Description: + Maximum rated voltage. + + Unit: millivolt + + RO + +What: /sys/class/hwmon/hwmonX/fanY_min +Description: + Fan minimum value + + Unit: revolution/min (RPM) + + RW + +What: /sys/class/hwmon/hwmonX/fanY_max +Description: + Fan maximum value + + Unit: revolution/min (RPM) + + Only rarely supported by the hardware. + RW + +What: /sys/class/hwmon/hwmonX/fanY_input +Description: + Fan input value. + + Unit: revolution/min (RPM) + + RO + +What: /sys/class/hwmon/hwmonX/fanY_div +Description: + Fan divisor. + + Integer value in powers of two (1, 2, 4, 8, 16, 32, 64, 128). + + RW + + Some chips only support values 1, 2, 4 and 8. + Note that this is actually an internal clock divisor, which + affects the measurable speed range, not the read value. + +What: /sys/class/hwmon/hwmonX/fanY_pulses +Description: + Number of tachometer pulses per fan revolution. + + Integer value, typically between 1 and 4. + + RW + + This value is a characteristic of the fan connected to the + device's input, so it has to be set in accordance with the fan + model. + + Should only be created if the chip has a register to configure + the number of pulses. In the absence of such a register (and + thus attribute) the value assumed by all devices is 2 pulses + per fan revolution. + +What: /sys/class/hwmon/hwmonX/fanY_target +Description: + Desired fan speed + + Unit: revolution/min (RPM) + + RW + + Only makes sense if the chip supports closed-loop fan speed + control based on the measured fan speed. + +What: /sys/class/hwmon/hwmonX/fanY_label +Description: + Suggested fan channel label. + + Text string + + Should only be created if the driver has hints about what + this fan channel is being used for, and user-space doesn't. + In all other cases, the label is provided by user-space. + + RO + +What: /sys/class/hwmon/hwmonX/fanY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/pwmY +Description: + Pulse width modulation fan control. + + Integer value in the range 0 to 255 + + RW + + 255 is max or 100%. + +What: /sys/class/hwmon/hwmonX/pwmY_enable +Description: + Fan speed control method: + + - 0: no fan speed control (i.e. fan at full speed) + - 1: manual fan speed control enabled (using `pwmY`) + - 2+: automatic fan speed control enabled + + Check individual chip documentation files for automatic mode + details. + + RW + +What: /sys/class/hwmon/hwmonX/pwmY_mode +Description: + - 0: DC mode (direct current) + - 1: PWM mode (pulse-width modulation) + + RW + +What: /sys/class/hwmon/hwmonX/pwmY_freq +Description: + Base PWM frequency in Hz. + + Only possibly available when pwmN_mode is PWM, but not always + present even then. + + RW + +What: /sys/class/hwmon/hwmonX/pwmY_auto_channels_temp +Description: + Select which temperature channels affect this PWM output in + auto mode. + + Bitfield, 1 is temp1, 2 is temp2, 4 is temp3 etc... + Which values are possible depend on the chip used. + + RW + +What: /sys/class/hwmon/hwmonX/pwmY_auto_pointZ_pwm +What: /sys/class/hwmon/hwmonX/pwmY_auto_pointZ_temp +What: /sys/class/hwmon/hwmonX/pwmY_auto_pointZ_temp_hyst +Description: + Define the PWM vs temperature curve. + + Number of trip points is chip-dependent. Use this for chips + which associate trip points to PWM output channels. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_auto_pointZ_pwm +What: /sys/class/hwmon/hwmonX/tempY_auto_pointZ_temp +What: /sys/class/hwmon/hwmonX/tempY_auto_pointZ_temp_hyst +Description: + Define the PWM vs temperature curve. + + Number of trip points is chip-dependent. Use this for chips + which associate trip points to temperature channels. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_type +Description: + Sensor type selection. + + Integers 1 to 6 + + RW + + - 1: CPU embedded diode + - 2: 3904 transistor + - 3: thermal diode + - 4: thermistor + - 5: AMD AMDSI + - 6: Intel PECI + + Not all types are supported by all chips + +What: /sys/class/hwmon/hwmonX/tempY_max +Description: + Temperature max value. + + Unit: millidegree Celsius (or millivolt, see below) + + RW + +What: /sys/class/hwmon/hwmonX/tempY_min +Description: + Temperature min value. + + Unit: millidegree Celsius + + RW + +What: /sys/class/hwmon/hwmonX/tempY_max_hyst +Description: + Temperature hysteresis value for max limit. + + Unit: millidegree Celsius + + Must be reported as an absolute temperature, NOT a delta + from the max value. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_min_hyst +Description: + Temperature hysteresis value for min limit. + Unit: millidegree Celsius + + Must be reported as an absolute temperature, NOT a delta + from the min value. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_input +Description: + Temperature input value. + + Unit: millidegree Celsius + + RO + +What: /sys/class/hwmon/hwmonX/tempY_crit +Description: + Temperature critical max value, typically greater than + corresponding temp_max values. + + Unit: millidegree Celsius + + RW + +What: /sys/class/hwmon/hwmonX/tempY_crit_hyst +Description: + Temperature hysteresis value for critical limit. + + Unit: millidegree Celsius + + Must be reported as an absolute temperature, NOT a delta + from the critical value. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_emergency +Description: + Temperature emergency max value, for chips supporting more than + two upper temperature limits. Must be equal or greater than + corresponding temp_crit values. + + Unit: millidegree Celsius + + RW + +What: /sys/class/hwmon/hwmonX/tempY_emergency_hyst +Description: + Temperature hysteresis value for emergency limit. + + Unit: millidegree Celsius + + Must be reported as an absolute temperature, NOT a delta + from the emergency value. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_lcrit +Description: + Temperature critical min value, typically lower than + corresponding temp_min values. + + Unit: millidegree Celsius + + RW + +What: /sys/class/hwmon/hwmonX/tempY_lcrit_hyst +Description: + Temperature hysteresis value for critical min limit. + + Unit: millidegree Celsius + + Must be reported as an absolute temperature, NOT a delta + from the critical min value. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_offset +Description: + Temperature offset which is added to the temperature reading + by the chip. + + Unit: millidegree Celsius + + Read/Write value. + +What: /sys/class/hwmon/hwmonX/tempY_label +Description: + Suggested temperature channel label. + + Text string + + Should only be created if the driver has hints about what + this temperature channel is being used for, and user-space + doesn't. In all other cases, the label is provided by + user-space. + + RO + +What: /sys/class/hwmon/hwmonX/tempY_lowest +Description: + Historical minimum temperature + + Unit: millidegree Celsius + + RO + +What: /sys/class/hwmon/hwmonX/tempY_highest +Description: + Historical maximum temperature + + Unit: millidegree Celsius + + RO + +What: /sys/class/hwmon/hwmonX/tempY_reset_history +Description: + Reset temp_lowest and temp_highest + + WO + +What: /sys/class/hwmon/hwmonX/temp_reset_history +Description: + Reset temp_lowest and temp_highest for all sensors + + WO + +What: /sys/class/hwmon/hwmonX/tempY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/tempY_rated_min +Description: + Minimum rated temperature. + + Unit: millidegree Celsius + + RO + +What: /sys/class/hwmon/hwmonX/tempY_rated_max +Description: + Maximum rated temperature. + + Unit: millidegree Celsius + + RO + +What: /sys/class/hwmon/hwmonX/currY_max +Description: + Current max value + + Unit: milliampere + + RW + +What: /sys/class/hwmon/hwmonX/currY_min +Description: + Current min value. + + Unit: milliampere + + RW + +What: /sys/class/hwmon/hwmonX/currY_lcrit +Description: + Current critical low value + + Unit: milliampere + + RW + +What: /sys/class/hwmon/hwmonX/currY_crit +Description: + Current critical high value. + + Unit: milliampere + + RW + +What: /sys/class/hwmon/hwmonX/currY_input +Description: + Current input value + + Unit: milliampere + + RO + +What: /sys/class/hwmon/hwmonX/currY_average +Description: + Average current use + + Unit: milliampere + + RO + +What: /sys/class/hwmon/hwmonX/currY_lowest +Description: + Historical minimum current + + Unit: milliampere + + RO + +What: /sys/class/hwmon/hwmonX/currY_highest +Description: + Historical maximum current + Unit: milliampere + RO + +What: /sys/class/hwmon/hwmonX/currY_reset_history +Description: + Reset currX_lowest and currX_highest + + WO + +What: /sys/class/hwmon/hwmonX/curr_reset_history +Description: + Reset currX_lowest and currX_highest for all sensors + + WO + +What: /sys/class/hwmon/hwmonX/currY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/currY_rated_min +Description: + Minimum rated current. + + Unit: milliampere + + RO + +What: /sys/class/hwmon/hwmonX/currY_rated_max +Description: + Maximum rated current. + + Unit: milliampere + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average +Description: + Average power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average_interval +Description: + Power use averaging interval. A poll + notification is sent to this file if the + hardware changes the averaging interval. + + Unit: milliseconds + + RW + +What: /sys/class/hwmon/hwmonX/powerY_average_interval_max +Description: + Maximum power use averaging interval + + Unit: milliseconds + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average_interval_min +Description: + Minimum power use averaging interval + + Unit: milliseconds + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average_highest +Description: + Historical average maximum power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average_lowest +Description: + Historical average minimum power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average_max +Description: + A poll notification is sent to + `powerY_average` when power use + rises above this value. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_average_min +Description: + A poll notification is sent to + `powerY_average` when power use + sinks below this value. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_input +Description: + Instantaneous power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_input_highest +Description: + Historical maximum power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_input_lowest +Description: + Historical minimum power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_reset_history +Description: + Reset input_highest, input_lowest, + average_highest and average_lowest. + + WO + +What: /sys/class/hwmon/hwmonX/powerY_accuracy +Description: + Accuracy of the power meter. + + Unit: Percent + + RO + +What: /sys/class/hwmon/hwmonX/powerY_cap +Description: + If power use rises above this limit, the + system should take action to reduce power use. + A poll notification is sent to this file if the + cap is changed by the hardware. The `*_cap` + files only appear if the cap is known to be + enforced by hardware. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_cap_hyst +Description: + Margin of hysteresis built around capping and + notification. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_cap_max +Description: + Maximum cap that can be set. + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_cap_min +Description: + Minimum cap that can be set. + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_max +Description: + Maximum power. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_crit +Description: + Critical maximum power. + + If power rises to or above this limit, the + system is expected take drastic action to reduce + power consumption, such as a system shutdown or + a forced powerdown of some devices. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return + -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/powerY_rated_min +Description: + Minimum rated power. + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_rated_max +Description: + Maximum rated power. + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/energyY_input +Description: + Cumulative energy use + + Unit: microJoule + + RO + +What: /sys/class/hwmon/hwmonX/energyY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return + -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/humidityY_input +Description: + Humidity + + Unit: milli-percent (per cent mille, pcm) + + RO + + +What: /sys/class/hwmon/hwmonX/humidityY_enable +Description: + Enable or disable the sensors + + When disabled the sensor read will return + -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/humidityY_rated_min +Description: + Minimum rated humidity. + + Unit: milli-percent (per cent mille, pcm) + + RO + +What: /sys/class/hwmon/hwmonX/humidityY_rated_max +Description: + Maximum rated humidity. + + Unit: milli-percent (per cent mille, pcm) + + RO + + +What: /sys/class/hwmon/hwmonX/intrusionY_alarm +Description: + Chassis intrusion detection + + - 0: OK + - 1: intrusion detected + + RW + + Contrary to regular alarm flags which clear themselves + automatically when read, this one sticks until cleared by + the user. This is done by writing 0 to the file. Writing + other values is unsupported. + +What: /sys/class/hwmon/hwmonX/intrusionY_beep +Description: + Chassis intrusion beep + + - 0: disable + - 1: enable + + RW
Documentation/hwmon/sysfs-interface.rst +42 -554
900 lines not on this page · raw message
MAINTAINERS +1 -0
@@ -8274,6 +8274,7 @@ L: [email protected] S: Maintained W: http://hwmon.wiki.kernel.org/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git +F: Documentation/ABI/testing/sysfs-class-hwmon F: Documentation/devicetree/bindings/hwmon/ F: Documentation/hwmon/ F: drivers/hwmon/
Signature · 1 line
2.31.1
Guenter Roeck
maintainerRe: [PATCH v2 2/7] ABI: sysfs-class-hwmon: add ABI documentation for it
Quoted 3 lines · Mauro Carvalho Chehab
Move the ABI attributes documentation from:
Documentation/hwmon/sysfs-interface.rst
The patche moves th documentation; it doesn't add it. That should be reflected in the subject.
Quoted 19 lines
in order for it to follow the usual ABI documentation. That allows
script/get_abi.plto properly handle it.Quoted 1 line
Signed-off-by Mauro Carvalho Chehab <[email protected]>---
See [PATCH v2 0/7] at: https://lore.kernel.org/all/[email protected]/
Documentation/ABI/testing/sysfs-class-hwmon | 918 ++++++++++++++++++++ Documentation/hwmon/sysfs-interface.rst | 596 +------------ MAINTAINERS | 1 + 3 files changed, 961 insertions(+), 554 deletions(-)create mode 100644
Documentation/ABI/testing/sysfs-class-hwmonDocumentation/ABI/testing/sysfs-class-hwmon new file +0
-0
Documentation/ABI/testing/sysfs-class-hwmon line 8
Quoted 8 lines
Documentation/ABI/testing/sysfs-class-hwmon new file +8
-0@@ -0,0 +1,918 @@ +What: /sys/class/hwmon/hwmonX/name +Description: + The chip name. + This should be a short, lowercase string, not containing + whitespace, dashes, or the wildcard character '*'. + This attribute represents the chip name. It is the only + mandatory attribute. + I2C devices get this attribute created automatically.
The above sentence is obsolete and should be removed. The name attribute is generated automatically for all non-obsolete APIs.
Quoted 11 lines
Documentation/ABI/testing/sysfs-class-hwmon new file +11
-0+ + RO + +What: /sys/class/hwmon/hwmonX/update_interval +Description: + The interval at which the chip will update readings. + Unit: millisecond + + RW + + Some devices have a variable update rate or interval.
Documentation/ABI/testing/sysfs-class-hwmon line 29
Quoted 10 lines
Documentation/ABI/testing/sysfs-class-hwmon new file +10
-0+ This attribute can be used to change it to the desired value. + +What: /sys/class/hwmon/hwmonX/inY_min +Description: + Voltage min value. + + Unit: millivolt + + RW +
The range of "Y" gets lost in those definitions. They are still retained in the original file, so maybe tit doesn't matter. It seems a bit incomplete, though.
Quoted 1,819 lines
Documentation/ABI/testing/sysfs-class-hwmon new file +889
-0+What: /sys/class/hwmon/hwmonX/inY_lcrit +Description: + Voltage critical min value. + + Unit: millivolt + + RW + + If voltage drops to or below this limit, the system may + take drastic action such as power down or reset. At the very + least, it should report a fault. + +What: /sys/class/hwmon/hwmonX/inY_max +Description: + Voltage max value. + + Unit: millivolt + + RW + +What: /sys/class/hwmon/hwmonX/inY_crit +Description: + Voltage critical max value. + + Unit: millivolt + + RW + + If voltage reaches or exceeds this limit, the system may + take drastic action such as power down or reset. At the very + least, it should report a fault. + +What: /sys/class/hwmon/hwmonX/inY_input +Description: + Voltage input value. + + Unit: millivolt + + RO + + Voltage measured on the chip pin. + + Actual voltage depends on the scaling resistors on the + motherboard, as recommended in the chip datasheet. + + This varies by chip and by motherboard. + Because of this variation, values are generally NOT scaled + by the chip driver, and must be done by the application. + However, some drivers (notably lm87 and via686a) + do scale, because of internal resistors built into a chip. + These drivers will output the actual voltage. Rule of + thumb: drivers should report the voltage values at the + "pins" of the chip. + +What: /sys/class/hwmon/hwmonX/inY_average +Description: + Average voltage + + Unit: millivolt + + RO + +What: /sys/class/hwmon/hwmonX/inY_lowest +Description: + Historical minimum voltage + + Unit: millivolt + + RO + +What: /sys/class/hwmon/hwmonX/inY_highest +Description: + Historical maximum voltage + + Unit: millivolt + + RO + +What: /sys/class/hwmon/hwmonX/inY_reset_history +Description: + Reset inX_lowest and inX_highest + + WO + +What: /sys/class/hwmon/hwmonX/in_reset_history +Description: + Reset inX_lowest and inX_highest for all sensors + + WO + +What: /sys/class/hwmon/hwmonX/inY_label +Description: + Suggested voltage channel label. + + Text string + + Should only be created if the driver has hints about what + this voltage channel is being used for, and user-space + doesn't. In all other cases, the label is provided by + user-space. + + RO + +What: /sys/class/hwmon/hwmonX/inY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/cpuY_vid +Description: + CPU core reference voltage. + + Unit: millivolt + + RO + + Not always correct. + +What: /sys/class/hwmon/hwmonX/vrm +Description: + Voltage Regulator Module version number. + + RW (but changing it should no more be necessary) + + Originally the VRM standard version multiplied by 10, but now + an arbitrary number, as not all standards have a version + number. + + Affects the way the driver calculates the CPU core reference + voltage from the vid pins. + +What: /sys/class/hwmon/hwmonX/inY_rated_min +Description: + Minimum rated voltage. + + Unit: millivolt + + RO + +What: /sys/class/hwmon/hwmonX/inY_rated_max +Description: + Maximum rated voltage. + + Unit: millivolt + + RO + +What: /sys/class/hwmon/hwmonX/fanY_min +Description: + Fan minimum value + + Unit: revolution/min (RPM) + + RW + +What: /sys/class/hwmon/hwmonX/fanY_max +Description: + Fan maximum value + + Unit: revolution/min (RPM) + + Only rarely supported by the hardware. + RW + +What: /sys/class/hwmon/hwmonX/fanY_input +Description: + Fan input value. + + Unit: revolution/min (RPM) + + RO + +What: /sys/class/hwmon/hwmonX/fanY_div +Description: + Fan divisor. + + Integer value in powers of two (1, 2, 4, 8, 16, 32, 64, 128). + + RW + + Some chips only support values 1, 2, 4 and 8. + Note that this is actually an internal clock divisor, which + affects the measurable speed range, not the read value. + +What: /sys/class/hwmon/hwmonX/fanY_pulses +Description: + Number of tachometer pulses per fan revolution. + + Integer value, typically between 1 and 4. + + RW + + This value is a characteristic of the fan connected to the + device's input, so it has to be set in accordance with the fan + model. + + Should only be created if the chip has a register to configure + the number of pulses. In the absence of such a register (and + thus attribute) the value assumed by all devices is 2 pulses + per fan revolution. + +What: /sys/class/hwmon/hwmonX/fanY_target +Description: + Desired fan speed + + Unit: revolution/min (RPM) + + RW + + Only makes sense if the chip supports closed-loop fan speed + control based on the measured fan speed. + +What: /sys/class/hwmon/hwmonX/fanY_label +Description: + Suggested fan channel label. + + Text string + + Should only be created if the driver has hints about what + this fan channel is being used for, and user-space doesn't. + In all other cases, the label is provided by user-space. + + RO + +What: /sys/class/hwmon/hwmonX/fanY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/pwmY +Description: + Pulse width modulation fan control. + + Integer value in the range 0 to 255 + + RW + + 255 is max or 100%. + +What: /sys/class/hwmon/hwmonX/pwmY_enable +Description: + Fan speed control method: + + - 0: no fan speed control (i.e. fan at full speed) + - 1: manual fan speed control enabled (using `pwmY`) + - 2+: automatic fan speed control enabled + + Check individual chip documentation files for automatic mode + details. + + RW + +What: /sys/class/hwmon/hwmonX/pwmY_mode +Description: + - 0: DC mode (direct current) + - 1: PWM mode (pulse-width modulation) + + RW + +What: /sys/class/hwmon/hwmonX/pwmY_freq +Description: + Base PWM frequency in Hz. + + Only possibly available when pwmN_mode is PWM, but not always + present even then. + + RW + +What: /sys/class/hwmon/hwmonX/pwmY_auto_channels_temp +Description: + Select which temperature channels affect this PWM output in + auto mode. + + Bitfield, 1 is temp1, 2 is temp2, 4 is temp3 etc... + Which values are possible depend on the chip used. + + RW + +What: /sys/class/hwmon/hwmonX/pwmY_auto_pointZ_pwm +What: /sys/class/hwmon/hwmonX/pwmY_auto_pointZ_temp +What: /sys/class/hwmon/hwmonX/pwmY_auto_pointZ_temp_hyst +Description: + Define the PWM vs temperature curve. + + Number of trip points is chip-dependent. Use this for chips + which associate trip points to PWM output channels. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_auto_pointZ_pwm +What: /sys/class/hwmon/hwmonX/tempY_auto_pointZ_temp +What: /sys/class/hwmon/hwmonX/tempY_auto_pointZ_temp_hyst +Description: + Define the PWM vs temperature curve. + + Number of trip points is chip-dependent. Use this for chips + which associate trip points to temperature channels. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_type +Description: + Sensor type selection. + + Integers 1 to 6 + + RW + + - 1: CPU embedded diode + - 2: 3904 transistor + - 3: thermal diode + - 4: thermistor + - 5: AMD AMDSI + - 6: Intel PECI + + Not all types are supported by all chips + +What: /sys/class/hwmon/hwmonX/tempY_max +Description: + Temperature max value. + + Unit: millidegree Celsius (or millivolt, see below) + + RW + +What: /sys/class/hwmon/hwmonX/tempY_min +Description: + Temperature min value. + + Unit: millidegree Celsius + + RW + +What: /sys/class/hwmon/hwmonX/tempY_max_hyst +Description: + Temperature hysteresis value for max limit. + + Unit: millidegree Celsius + + Must be reported as an absolute temperature, NOT a delta + from the max value. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_min_hyst +Description: + Temperature hysteresis value for min limit. + Unit: millidegree Celsius + + Must be reported as an absolute temperature, NOT a delta + from the min value. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_input +Description: + Temperature input value. + + Unit: millidegree Celsius + + RO + +What: /sys/class/hwmon/hwmonX/tempY_crit +Description: + Temperature critical max value, typically greater than + corresponding temp_max values. + + Unit: millidegree Celsius + + RW + +What: /sys/class/hwmon/hwmonX/tempY_crit_hyst +Description: + Temperature hysteresis value for critical limit. + + Unit: millidegree Celsius + + Must be reported as an absolute temperature, NOT a delta + from the critical value. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_emergency +Description: + Temperature emergency max value, for chips supporting more than + two upper temperature limits. Must be equal or greater than + corresponding temp_crit values. + + Unit: millidegree Celsius + + RW + +What: /sys/class/hwmon/hwmonX/tempY_emergency_hyst +Description: + Temperature hysteresis value for emergency limit. + + Unit: millidegree Celsius + + Must be reported as an absolute temperature, NOT a delta + from the emergency value. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_lcrit +Description: + Temperature critical min value, typically lower than + corresponding temp_min values. + + Unit: millidegree Celsius + + RW + +What: /sys/class/hwmon/hwmonX/tempY_lcrit_hyst +Description: + Temperature hysteresis value for critical min limit. + + Unit: millidegree Celsius + + Must be reported as an absolute temperature, NOT a delta + from the critical min value. + + RW + +What: /sys/class/hwmon/hwmonX/tempY_offset +Description: + Temperature offset which is added to the temperature reading + by the chip. + + Unit: millidegree Celsius + + Read/Write value. + +What: /sys/class/hwmon/hwmonX/tempY_label +Description: + Suggested temperature channel label. + + Text string + + Should only be created if the driver has hints about what + this temperature channel is being used for, and user-space + doesn't. In all other cases, the label is provided by + user-space. + + RO + +What: /sys/class/hwmon/hwmonX/tempY_lowest +Description: + Historical minimum temperature + + Unit: millidegree Celsius + + RO + +What: /sys/class/hwmon/hwmonX/tempY_highest +Description: + Historical maximum temperature + + Unit: millidegree Celsius + + RO + +What: /sys/class/hwmon/hwmonX/tempY_reset_history +Description: + Reset temp_lowest and temp_highest + + WO + +What: /sys/class/hwmon/hwmonX/temp_reset_history +Description: + Reset temp_lowest and temp_highest for all sensors + + WO + +What: /sys/class/hwmon/hwmonX/tempY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/tempY_rated_min +Description: + Minimum rated temperature. + + Unit: millidegree Celsius + + RO + +What: /sys/class/hwmon/hwmonX/tempY_rated_max +Description: + Maximum rated temperature. + + Unit: millidegree Celsius + + RO + +What: /sys/class/hwmon/hwmonX/currY_max +Description: + Current max value + + Unit: milliampere + + RW + +What: /sys/class/hwmon/hwmonX/currY_min +Description: + Current min value. + + Unit: milliampere + + RW + +What: /sys/class/hwmon/hwmonX/currY_lcrit +Description: + Current critical low value + + Unit: milliampere + + RW + +What: /sys/class/hwmon/hwmonX/currY_crit +Description: + Current critical high value. + + Unit: milliampere + + RW + +What: /sys/class/hwmon/hwmonX/currY_input +Description: + Current input value + + Unit: milliampere + + RO + +What: /sys/class/hwmon/hwmonX/currY_average +Description: + Average current use + + Unit: milliampere + + RO + +What: /sys/class/hwmon/hwmonX/currY_lowest +Description: + Historical minimum current + + Unit: milliampere + + RO + +What: /sys/class/hwmon/hwmonX/currY_highest +Description: + Historical maximum current + Unit: milliampere + RO + +What: /sys/class/hwmon/hwmonX/currY_reset_history +Description: + Reset currX_lowest and currX_highest + + WO + +What: /sys/class/hwmon/hwmonX/curr_reset_history +Description: + Reset currX_lowest and currX_highest for all sensors + + WO + +What: /sys/class/hwmon/hwmonX/currY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/currY_rated_min +Description: + Minimum rated current. + + Unit: milliampere + + RO + +What: /sys/class/hwmon/hwmonX/currY_rated_max +Description: + Maximum rated current. + + Unit: milliampere + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average +Description: + Average power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average_interval +Description: + Power use averaging interval. A poll + notification is sent to this file if the + hardware changes the averaging interval. + + Unit: milliseconds + + RW + +What: /sys/class/hwmon/hwmonX/powerY_average_interval_max +Description: + Maximum power use averaging interval + + Unit: milliseconds + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average_interval_min +Description: + Minimum power use averaging interval + + Unit: milliseconds + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average_highest +Description: + Historical average maximum power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average_lowest +Description: + Historical average minimum power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_average_max +Description: + A poll notification is sent to + `powerY_average` when power use + rises above this value. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_average_min +Description: + A poll notification is sent to + `powerY_average` when power use + sinks below this value. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_input +Description: + Instantaneous power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_input_highest +Description: + Historical maximum power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_input_lowest +Description: + Historical minimum power use + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_reset_history +Description: + Reset input_highest, input_lowest, + average_highest and average_lowest. + + WO + +What: /sys/class/hwmon/hwmonX/powerY_accuracy +Description: + Accuracy of the power meter. + + Unit: Percent + + RO + +What: /sys/class/hwmon/hwmonX/powerY_cap +Description: + If power use rises above this limit, the + system should take action to reduce power use. + A poll notification is sent to this file if the + cap is changed by the hardware. The `*_cap` + files only appear if the cap is known to be + enforced by hardware. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_cap_hyst +Description: + Margin of hysteresis built around capping and + notification. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_cap_max +Description: + Maximum cap that can be set. + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_cap_min +Description: + Minimum cap that can be set. + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_max +Description: + Maximum power. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_crit +Description: + Critical maximum power. + + If power rises to or above this limit, the + system is expected take drastic action to reduce + power consumption, such as a system shutdown or + a forced powerdown of some devices. + + Unit: microWatt + + RW + +What: /sys/class/hwmon/hwmonX/powerY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return + -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/powerY_rated_min +Description: + Minimum rated power. + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/powerY_rated_max +Description: + Maximum rated power. + + Unit: microWatt + + RO + +What: /sys/class/hwmon/hwmonX/energyY_input +Description: + Cumulative energy use + + Unit: microJoule + + RO + +What: /sys/class/hwmon/hwmonX/energyY_enable +Description: + Enable or disable the sensors. + + When disabled the sensor read will return + -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/humidityY_input +Description: + Humidity + + Unit: milli-percent (per cent mille, pcm) + + RO + + +What: /sys/class/hwmon/hwmonX/humidityY_enable +Description: + Enable or disable the sensors + + When disabled the sensor read will return + -ENODATA. + + - 1: Enable + - 0: Disable + + RW + +What: /sys/class/hwmon/hwmonX/humidityY_rated_min +Description: + Minimum rated humidity. + + Unit: milli-percent (per cent mille, pcm) + + RO + +What: /sys/class/hwmon/hwmonX/humidityY_rated_max +Description: + Maximum rated humidity. + + Unit: milli-percent (per cent mille, pcm) + + RO + + +What: /sys/class/hwmon/hwmonX/intrusionY_alarm +Description: + Chassis intrusion detection + + - 0: OK + - 1: intrusion detected + + RW + + Contrary to regular alarm flags which clear themselves + automatically when read, this one sticks until cleared by + the user. This is done by writing 0 to the file. Writing + other values is unsupported. + +What: /sys/class/hwmon/hwmonX/intrusionY_beep +Description: + Chassis intrusion beep + + - 0: disable + - 1: enable + + RWDocumentation/hwmon/sysfs-interface.rst +42
-554@@ -89,6 +89,8 @@ hardware implementation. All entries (except name) are optional, and should only be created in a given driver if the chip has the feature. +See Documentation/ABI/testing/sysfs-class-hwmon for a complete description +of the attributes. ***************** Global attributes@@ -96,22 +98,9 @@ Global attributes `name` The chip name. - This should be a short, lowercase string, not containing - whitespace, dashes, or the wildcard character '*'. - This attribute represents the chip name. It is the only - mandatory attribute. - I2C devices get this attribute created automatically. - - RO `update_interval` The interval at which the chip will update readings. - Unit: millisecond - - RW - - Some devices have a variable update rate or interval. - This attribute can be used to change it to the desired value. ********@@ -121,148 +110,51 @@ Voltages `in[0-*]_min` Voltage min value. - Unit: millivolt - - RW - `in[0-*]_lcrit` Voltage critical min value. - Unit: millivolt - - RW - - If voltage drops to or below this limit, the system may - take drastic action such as power down or reset. At the very - least, it should report a fault. - `in[0-*]_max` Voltage max value. - Unit: millivolt - - RW - `in[0-*]_crit` Voltage critical max value. - Unit: millivolt - - RW - - If voltage reaches or exceeds this limit, the system may - take drastic action such as power down or reset. At the very - least, it should report a fault. - `in[0-*]_input` Voltage input value. - Unit: millivolt - - RO - - Voltage measured on the chip pin. - - Actual voltage depends on the scaling resistors on the - motherboard, as recommended in the chip datasheet. - - This varies by chip and by motherboard. - Because of this variation, values are generally NOT scaled - by the chip driver, and must be done by the application. - However, some drivers (notably lm87 and via686a) - do scale, because of internal resistors built into a chip. - These drivers will output the actual voltage. Rule of - thumb: drivers should report the voltage values at the - "pins" of the chip. - `in[0-*]_average` Average voltage - Unit: millivolt - - RO - `in[0-*]_lowest` Historical minimum voltage - Unit: millivolt - - RO - `in[0-*]_highest` Historical maximum voltage - Unit: millivolt - - RO - `in[0-*]_reset_history` Reset inX_lowest and inX_highest - WO - `in_reset_history` Reset inX_lowest and inX_highest for all sensors - WO - `in[0-*]_label` Suggested voltage channel label. - Text string - - Should only be created if the driver has hints about what - this voltage channel is being used for, and user-space - doesn't. In all other cases, the label is provided by - user-space. - - RO - `in[0-*]_enable` Enable or disable the sensors. - When disabled the sensor read will return -ENODATA. - - - 1: Enable - - 0: Disable - - RW - `cpu[0-*]_vid` CPU core reference voltage. - Unit: millivolt - - RO - - Not always correct. - `vrm` Voltage Regulator Module version number. - RW (but changing it should no more be necessary) - - Originally the VRM standard version multiplied by 10, but now - an arbitrary number, as not all standards have a version - number. - - Affects the way the driver calculates the CPU core reference - voltage from the vid pins. - `in[0-*]_rated_min` Minimum rated voltage. - Unit: millivolt - - RO - `in[0-*]_rated_max` Maximum rated voltage. - Unit: millivolt - - RO - Also see the Alarms section for status flags associated with voltages.@@ -273,83 +165,27 @@ Fans `fan[1-*]_min` Fan minimum value - Unit: revolution/min (RPM) - - RW - `fan[1-*]_max` Fan maximum value - Unit: revolution/min (RPM) - - Only rarely supported by the hardware. - RW - `fan[1-*]_input` Fan input value. - Unit: revolution/min (RPM) - - RO - `fan[1-*]_div` Fan divisor. - Integer value in powers of two (1, 2, 4, 8, 16, 32, 64, 128). - - RW - - Some chips only support values 1, 2, 4 and 8. - Note that this is actually an internal clock divisor, which - affects the measurable speed range, not the read value. - `fan[1-*]_pulses` Number of tachometer pulses per fan revolution. - Integer value, typically between 1 and 4. - - RW - - This value is a characteristic of the fan connected to the - device's input, so it has to be set in accordance with the fan - model. - - Should only be created if the chip has a register to configure - the number of pulses. In the absence of such a register (and - thus attribute) the value assumed by all devices is 2 pulses - per fan revolution. - `fan[1-*]_target` Desired fan speed - Unit: revolution/min (RPM) - - RW - - Only makes sense if the chip supports closed-loop fan speed - control based on the measured fan speed. - `fan[1-*]_label` Suggested fan channel label. - Text string - - Should only be created if the driver has hints about what - this fan channel is being used for, and user-space doesn't. - In all other cases, the label is provided by user-space. - - RO - `fan[1-*]_enable` Enable or disable the sensors. - When disabled the sensor read will return -ENODATA. - - - 1: Enable - - 0: Disable - - RW - Also see the Alarms section for status flags associated with fans.@@ -360,63 +196,25 @@ PWM `pwm[1-*]` Pulse width modulation fan control. - Integer value in the range 0 to 255 - - RW - - 255 is max or 100%. - `pwm[1-*]_enable` Fan speed control method: - - 0: no fan speed control (i.e. fan at full speed) - - 1: manual fan speed control enabled (using `pwm[1-*]`) - - 2+: automatic fan speed control enabled - - Check individual chip documentation files for automatic mode - details. - - RW - `pwm[1-*]_mode` - - 0: DC mode (direct current) - - 1: PWM mode (pulse-width modulation) - - RW + direct current or pulse-width modulation. `pwm[1-*]_freq` Base PWM frequency in Hz. - Only possibly available when pwmN_mode is PWM, but not always - present even then. - - RW - `pwm[1-*]_auto_channels_temp` Select which temperature channels affect this PWM output in auto mode. - Bitfield, 1 is temp1, 2 is temp2, 4 is temp3 etc... - Which values are possible depend on the chip used. - - RW - `pwm[1-*]_auto_point[1-*]_pwm` / `pwm[1-*]_auto_point[1-*]_temp` / `pwm[1-*]_auto_point[1-*]_temp_hyst` Define the PWM vs temperature curve. - Number of trip points is chip-dependent. Use this for chips - which associate trip points to PWM output channels. - - RW - `temp[1-*]_auto_point[1-*]_pwm` / `temp[1-*]_auto_point[1-*]_temp` / `temp[1-*]_auto_point[1-*]_temp_hyst` Define the PWM vs temperature curve. - Number of trip points is chip-dependent. Use this for chips - which associate trip points to temperature channels. - - RW - There is a third case where trip points are associated to both PWM output channels and temperature channels: the PWM values are associated to PWM output channels while the temperature values are associated to temperature@@ -434,182 +232,70 @@ Temperatures `temp[1-*]_type` Sensor type selection. - Integers 1 to 6 - - RW - - - 1: CPU embedded diode - - 2: 3904 transistor - - 3: thermal diode - - 4: thermistor - - 5: AMD AMDSI - - 6: Intel PECI - - Not all types are supported by all chips - `temp[1-*]_max` Temperature max value. - Unit: millidegree Celsius (or millivolt, see below) - - RW - `temp[1-*]_min` Temperature min value. - Unit: millidegree Celsius - - RW - `temp[1-*]_max_hyst` Temperature hysteresis value for max limit. - Unit: millidegree Celsius - - Must be reported as an absolute temperature, NOT a delta - from the max value. - - RW - `temp[1-*]_min_hyst` Temperature hysteresis value for min limit. - Unit: millidegree Celsius - - Must be reported as an absolute temperature, NOT a delta - from the min value. - - RW `temp[1-*]_input` - Temperature input value. - - Unit: millidegree Celsius - - RO + Temperature input value. `temp[1-*]_crit` Temperature critical max value, typically greater than corresponding temp_max values. - Unit: millidegree Celsius - - RW - `temp[1-*]_crit_hyst` Temperature hysteresis value for critical limit. - Unit: millidegree Celsius - - Must be reported as an absolute temperature, NOT a delta - from the critical value. - - RW - `temp[1-*]_emergency` Temperature emergency max value, for chips supporting more than - two upper temperature limits. Must be equal or greater than - corresponding temp_crit values. - - Unit: millidegree Celsius - - RW + two upper temperature limits. `temp[1-*]_emergency_hyst` Temperature hysteresis value for emergency limit. - Unit: millidegree Celsius - - Must be reported as an absolute temperature, NOT a delta - from the emergency value. - - RW - `temp[1-*]_lcrit` Temperature critical min value, typically lower than corresponding temp_min values. - Unit: millidegree Celsius - - RW - `temp[1-*]_lcrit_hyst` Temperature hysteresis value for critical min limit. - Unit: millidegree Celsius - - Must be reported as an absolute temperature, NOT a delta - from the critical min value. - - RW - `temp[1-*]_offset` Temperature offset which is added to the temperature reading by the chip. - Unit: millidegree Celsius - - Read/Write value. - `temp[1-*]_label` Suggested temperature channel label. - Text string - - Should only be created if the driver has hints about what - this temperature channel is being used for, and user-space - doesn't. In all other cases, the label is provided by - user-space. - - RO - `temp[1-*]_lowest` Historical minimum temperature - Unit: millidegree Celsius - - RO - `temp[1-*]_highest` Historical maximum temperature - Unit: millidegree Celsius - - RO - `temp[1-*]_reset_history` Reset temp_lowest and temp_highest - WO - `temp_reset_history` Reset temp_lowest and temp_highest for all sensors - WO - `temp[1-*]_enable` Enable or disable the sensors. - When disabled the sensor read will return -ENODATA. - - - 1: Enable - - 0: Disable - - RW - `temp[1-*]_rated_min` Minimum rated temperature. - Unit: millidegree Celsius - - RO - `temp[1-*]_rated_max` Maximum rated temperature. - Unit: millidegree Celsius - - RO - Some chips measure temperature using external thermistors and an ADC, and report the temperature measurement as a voltage. Converting this voltage back to a temperature (or the other way around for limits) requires@@ -627,58 +313,28 @@ Currents ******** `curr[1-*]_max` - Current max value - - Unit: milliampere - - RW + Current max value. `curr[1-*]_min` Current min value. - Unit: milliampere - - RW - `curr[1-*]_lcrit` Current critical low value - Unit: milliampere - - RW - `curr[1-*]_crit` Current critical high value. - Unit: milliampere - - RW - `curr[1-*]_input` - Current input value - - Unit: milliampere - - RO + Current input value. `curr[1-*]_average` - Average current use - - Unit: milliampere - - RO + Average current use. `curr[1-*]_lowest` - Historical minimum current - - Unit: milliampere - - RO + Historical minimum current. `curr[1-*]_highest` - Historical maximum current - Unit: milliampere - RO + Historical maximum current. `curr[1-*]_reset_history` Reset currX_lowest and currX_highest@@ -686,34 +342,17 @@ Currents WO `curr_reset_history` - Reset currX_lowest and currX_highest for all sensors - - WO + Reset currX_lowest and currX_highest for all sensors. `curr[1-*]_enable` Enable or disable the sensors. - When disabled the sensor read will return -ENODATA. - - - 1: Enable - - 0: Disable - - RW - `curr[1-*]_rated_min` Minimum rated current. - Unit: milliampere - - RO - `curr[1-*]_rated_max` Maximum rated current. - Unit: milliampere - - RO - Also see the Alarms section for status flags associated with currents. *****@@ -721,141 +360,62 @@ Power ***** `power[1-*]_average` - Average power use - - Unit: microWatt - - RO + Average power use. `power[1-*]_average_interval` - Power use averaging interval. A poll - notification is sent to this file if the - hardware changes the averaging interval. - - Unit: milliseconds - - RW + Power use averaging interval. `power[1-*]_average_interval_max` - Maximum power use averaging interval - - Unit: milliseconds - - RO + Maximum power use averaging interval. `power[1-*]_average_interval_min` - Minimum power use averaging interval - - Unit: milliseconds - - RO + Minimum power use averaging interval. `power[1-*]_average_highest` - Historical average maximum power use - - Unit: microWatt - - RO + Historical average maximum power use `power[1-*]_average_lowest` - Historical average minimum power use - - Unit: microWatt - - RO + Historical average minimum power use `power[1-*]_average_max` - A poll notification is sent to - `power[1-*]_average` when power use - rises above this value. - - Unit: microWatt - - RW + A poll notification is sent to `power[1-*]_average` when + power use rises above this value. `power[1-*]_average_min` - A poll notification is sent to - `power[1-*]_average` when power use - sinks below this value. - - Unit: microWatt - - RW + A poll notification is sent to `power[1-*]_average` when + power use sinks below this value. `power[1-*]_input` - Instantaneous power use - - Unit: microWatt - - RO + Instantaneous power use. `power[1-*]_input_highest` - Historical maximum power use - - Unit: microWatt - - RO + Historical maximum power use `power[1-*]_input_lowest` - Historical minimum power use - - Unit: microWatt - - RO + Historical minimum power use. `power[1-*]_reset_history` - Reset input_highest, input_lowest, - average_highest and average_lowest. - - WO + Reset input_highest, input_lowest, average_highest and + average_lowest. `power[1-*]_accuracy` - Accuracy of the power meter. - - Unit: Percent - - RO + Accuracy of the power meter. `power[1-*]_cap` - If power use rises above this limit, the - system should take action to reduce power use. - A poll notification is sent to this file if the - cap is changed by the hardware. The `*_cap` - files only appear if the cap is known to be - enforced by hardware. - - Unit: microWatt - - RW + If power use rises above this limit, the + system should take action to reduce power use. `power[1-*]_cap_hyst` - Margin of hysteresis built around capping and - notification. - - Unit: microWatt - - RW + Margin of hysteresis built around capping and notification. `power[1-*]_cap_max` - Maximum cap that can be set. - - Unit: microWatt - - RO + Maximum cap that can be set. `power[1-*]_cap_min` - Minimum cap that can be set. - - Unit: microWatt - - RO + Minimum cap that can be set. `power[1-*]_max` - Maximum power. - - Unit: microWatt - - RW + Maximum power. `power[1-*]_crit` Critical maximum power.@@ -923,37 +483,16 @@ Humidity ******** `humidity[1-*]_input` - Humidity - - Unit: milli-percent (per cent mille, pcm) - - RO - + Humidity. `humidity[1-*]_enable` - Enable or disable the sensors - - When disabled the sensor read will return - -ENODATA. - - - 1: Enable - - 0: Disable - - RW + Enable or disable the sensors. `humidity[1-*]_rated_min` - Minimum rated humidity. - - Unit: milli-percent (per cent mille, pcm) - - RO + Minimum rated humidity. `humidity[1-*]_rated_max` - Maximum rated humidity. - - Unit: milli-percent (per cent mille, pcm) - - RO + Maximum rated humidity. ****** Alarms@@ -1004,30 +543,15 @@ supports it. When this boolean has value 1, the measurement for that channel should not be trusted. `fan[1-*]_fault` / `temp[1-*]_fault` - Input fault condition - - - 0: no fault occurred - - 1: fault condition - - RO + Input fault condition. Some chips also offer the possibility to get beeped when an alarm occurs: `beep_enable` - Master beep enable - - - 0: no beeps - - 1: beeps - - RW + Master beep enable. `in[0-*]_beep`, `curr[1-*]_beep`, `fan[1-*]_beep`, `temp[1-*]_beep`, - Channel beep - - - 0: disable - - 1: enable - - RW + Channel beep. In theory, a chip could provide per-limit beep masking, but no such chip was seen so far.@@ -1039,29 +563,8 @@ for compatibility reasons: `alarms` Alarm bitmask. - RO - - Integer representation of one to four bytes. - - A '1' bit means an alarm. - - Chips should be programmed for 'comparator' mode so that - the alarm will 'come back' after you read the register - if it is still valid. - - Generally a direct representation of a chip's internal - alarm registers; there is no standard for the position - of individual bits. For this reason, the use of this - interface file for new drivers is discouraged. Use - `individual *_alarm` and `*_fault` files instead. - Bits are defined in kernel/include/sensors.h. - `beep_mask` Bitmask for beep. - Same format as 'alarms' with the same bit locations, - use discouraged for the same reason. Use individual - `*_beep` files instead. - RW *******************@@ -1069,25 +572,10 @@ Intrusion detection ******************* `intrusion[0-*]_alarm` - Chassis intrusion detection - - - 0: OK - - 1: intrusion detected - - RW - - Contrary to regular alarm flags which clear themselves - automatically when read, this one sticks until cleared by - the user. This is done by writing 0 to the file. Writing - other values is unsupported. + Chassis intrusion detection. `intrusion[0-*]_beep` - Chassis intrusion beep - - 0: disable - 1: enable - - RW + Chassis intrusion beep. **************************** Average sample configurationMAINTAINERS +1
-0@@ -8274,6 +8274,7 @@ L: [email protected] S: Maintained W: http://hwmon.wiki.kernel.org/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git +F: Documentation/ABI/testing/sysfs-class-hwmon F: Documentation/devicetree/bindings/hwmon/ F: Documentation/hwmon/ F: drivers/hwmon/
PATCH v2 3/7 ABI: sysfs-class-hwmon: add a description for tempY_crit_alarm
In reply to Mauro Carvalho ChehabSuch ABI symbol is currently not described. Document it.
---
See [PATCH v2 0/7] at: https://lore.kernel.org/all/[email protected]/
Documentation/ABI/testing/sysfs-class-hwmon | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
Documentation/ABI/testing/sysfs-class-hwmon +14 -0
@@ -410,6 +410,20 @@ Description: RW +What: /sys/class/hwmon/hwmonX/tempY_crit_alarm +Description: + Critical high temperature alarm flag. + + - 0: OK + - 1: temperature has reached tempY_crit + + RW + + Contrary to regular alarm flags which clear themselves + automatically when read, this one sticks until cleared by + the user. This is done by writing 0 to the file. Writing + other values is unsupported. + What: /sys/class/hwmon/hwmonX/tempY_crit_hyst Description: Temperature hysteresis value for critical limit.
Signature · 1 line
2.31.1
Guenter Roeck
maintainerRe: [PATCH v2 3/7] ABI: sysfs-class-hwmon: add a description for tempY_crit_alarm
Quoted 22 lines · Mauro Carvalho Chehab
Such ABI symbol is currently not described. Document it.
Signed-off-by Mauro Carvalho Chehab <[email protected]>---
See [PATCH v2 0/7] at: https://lore.kernel.org/all/[email protected]/
Documentation/ABI/testing/sysfs-class-hwmon | 14 ++++++++++++++ 1 file changed, 14 insertions(+)Documentation/ABI/testing/sysfs-class-hwmon +4
-0@@ -410,6 +410,20 @@ Description: RW +What: /sys/class/hwmon/hwmonX/tempY_crit_alarm +Description: + Critical high temperature alarm flag. +
Documentation/ABI/testing/sysfs-class-hwmon Description: · line 426
Quoted 10 lines
Documentation/ABI/testing/sysfs-class-hwmon +10
-0+ - 0: OK + - 1: temperature has reached tempY_crit + + RW + + Contrary to regular alarm flags which clear themselves + automatically when read, this one sticks until cleared by + the user. This is done by writing 0 to the file. Writing + other values is unsupported. +
That is not really correct. It _may_ be current implementation for some drivers, but such an implementation would not be correct. The proper implementation would be to auto-clear the flag after it was read unless the condition persists.
Documentation/ABI/testing/sysfs-class-hwmon Description: · line 429
Quoted 4 lines
Documentation/ABI/testing/sysfs-class-hwmon +0
-0What: /sys/class/hwmon/hwmonX/tempY_crit_hyst Description: Temperature hysteresis value for critical limit.
This should be documented as part of the previous patch, together with all other alarm attributes.
Guenter
PATCH v2 4/7 ABI: sysfs-mce: add a new ABI file
In reply to Mauro Carvalho ChehabReduce the gap of missing ABIs for Intel servers with MCE by adding a new ABI file.
The contents of this file comes from:
Documentation/x86/x86_64/machinecheck.rst
---
See [PATCH v2 0/7] at: https://lore.kernel.org/all/[email protected]/
Documentation/ABI/testing/sysfs-mce | 107 ++++++++++++++++++++++ Documentation/x86/x86_64/machinecheck.rst | 56 +---------- MAINTAINERS | 2 + 3 files changed, 111 insertions(+), 54 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-mce
Documentation/ABI/testing/sysfs-mce new file +107 -0
@@ -0,0 +1,107 @@ +What: /sys/devices/system/machinecheck/machinecheckX/ +Contact: Andi Kleen <[email protected]> +Date: Feb, 2007 +Description: + (X = CPU number) + + Machine checks report internal hardware error conditions + detected by the CPU. Uncorrected errors typically cause a + machine check (often with panic), corrected ones cause a + machine check log entry. + + For more details about the x86 machine check architecture + see the Intel and AMD architecture manuals from their + developer websites. + + For more details about the architecture + see http://one.firstfloor.org/~andi/mce.pdf + + Each CPU has its own directory. + +What: /sys/devices/system/machinecheck/machinecheckX/bank<Y> +Contact: Andi Kleen <[email protected]> +Date: Feb, 2007 +Description: + (Y bank number) + + 64bit Hex bitmask enabling/disabling specific subevents for + bank Y. + + When a bit in the bitmask is zero then the respective + subevent will not be reported. + + By default all events are enabled. + + Note that BIOS maintain another mask to disable specific events + per bank. This is not visible here + +What: /sys/devices/system/machinecheck/machinecheckX/check_interval +Contact: Andi Kleen <[email protected]> +Date: Feb, 2007 +Description: + The entries appear for each CPU, but they are truly shared + between all CPUs. + + How often to poll for corrected machine check errors, in + seconds (Note output is hexadecimal). Default 5 minutes. + When the poller finds MCEs it triggers an exponential speedup + (poll more often) on the polling interval. When the poller + stops finding MCEs, it triggers an exponential backoff + (poll less often) on the polling interval. The check_interval + variable is both the initial and maximum polling interval. + 0 means no polling for corrected machine check errors + (but some corrected errors might be still reported + in other ways) + +What: /sys/devices/system/machinecheck/machinecheckX/tolerant +Contact: Andi Kleen <[email protected]> +Date: Feb, 2007 +Description: + The entries appear for each CPU, but they are truly shared + between all CPUs. + + Tolerance level. When a machine check exception occurs for a + non corrected machine check the kernel can take different + actions. + + Since machine check exceptions can happen any time it is + sometimes risky for the kernel to kill a process because it + defies normal kernel locking rules. The tolerance level + configures how hard the kernel tries to recover even at some + risk of deadlock. Higher tolerant values trade potentially + better uptime with the risk of a crash or even corruption + (for tolerant >= 3). + + == =========================================================== + 0 always panic on uncorrected errors, log corrected errors + 1 panic or SIGBUS on uncorrected errors, log corrected errors + 2 SIGBUS or log uncorrected errors, log corrected errors + 3 never panic or SIGBUS, log all errors (for testing only) + == =========================================================== + + Default: 1 + + Note this only makes a difference if the CPU allows recovery + from a machine check exception. Current x86 CPUs generally + do not. + +What: /sys/devices/system/machinecheck/machinecheckX/trigger +Contact: Andi Kleen <[email protected]> +Date: Feb, 2007 +Description: + The entries appear for each CPU, but they are truly shared + between all CPUs. + + Program to run when a machine check event is detected. + This is an alternative to running mcelog regularly from cron + and allows to detect events faster. + +What: /sys/devices/system/machinecheck/machinecheckX/monarch_timeout +Contact: Andi Kleen <[email protected]> +Date: Feb, 2007 +Description: + How long to wait for the other CPUs to machine check too on a + exception. 0 to disable waiting for other CPUs. + + Unit: us +
Documentation/x86/x86_64/machinecheck.rst +2 -54
62 lines not on this page · raw message
MAINTAINERS +2 -0
@@ -20457,6 +20457,8 @@ M: Tony Luck <[email protected]> M: Borislav Petkov <[email protected]> L: [email protected] S: Maintained +F: Documentation/ABI/testing/sysfs-mce +F: Documentation/x86/x86_64/machinecheck.rst F: arch/x86/kernel/cpu/mce/* X86 MICROCODE UPDATE SUPPORT
Signature · 1 line
2.31.1
Re: [PATCH v2 4/7] ABI: sysfs-mce: add a new ABI file
Quoted 8 lines · Mauro Carvalho Chehab
Reduce the gap of missing ABIs for Intel servers with MCE by adding a new ABI file.
The contents of this file comes from:
Documentation/x86/x86_64/machinecheck.rstCc Andi Kleen <[email protected]>Signed-off-by Mauro Carvalho Chehab <[email protected]>
PATCH v2 5/7 ABI: sysfs-mce: add 3 missing files
In reply to Mauro Carvalho ChehabChangeset 62fdac5913f7 ("x86, mce: Add boot options for corrected errors") added three more MCE files that are also exposed currently via sysfs.
Document them.
---
See [PATCH v2 0/7] at: https://lore.kernel.org/all/[email protected]/
Documentation/ABI/testing/sysfs-mce | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
Documentation/ABI/testing/sysfs-mce +22 -0
@@ -105,3 +105,25 @@ Description: Unit: us +What: /sys/devices/system/machinecheck/machinecheckX/ignore_ce +Contact: Hidetoshi Seto <[email protected]> +Date: Jun 2009 +Description: + Disables polling and CMCI for corrected errors. + All corrected events are not cleared and kept in bank MSRs. + +What: /sys/devices/system/machinecheck/machinecheckX/dont_log_ce +Contact: Hidetoshi Seto <[email protected]> +Date: Jun 2009 +Description: + Disables logging for corrected errors. + All reported corrected errors will be cleared silently. + + This option will be useful if you never care about corrected + errors. + +What: /sys/devices/system/machinecheck/machinecheckX/cmci_disabled +Contact: Hidetoshi Seto <[email protected]> +Date: Jun 2009 +Description: + Disables the CMCI feature.
Signature · 1 line
2.31.1
PATCH v2 6/7 ABI: sysfs-class-extcon: use uppercase X for wildcards
In reply to Mauro Carvalho ChehabUppercase letters X, Y and Z are handled as wildcards by scripts/get_abi.pl.
We can't do that with lowercase letters, as they're used everywhere.
---
See [PATCH v2 0/7] at: https://lore.kernel.org/all/[email protected]/
Documentation/ABI/testing/sysfs-class-extcon | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
Documentation/ABI/testing/sysfs-class-extcon +6 -6
@@ -65,19 +65,19 @@ Description: interface associated with each cable cannot update multiple cable states of an extcon device simultaneously. -What: /sys/class/extcon/.../cable.x/name +What: /sys/class/extcon/.../cable.X/name Date: February 2012 Contact: MyungJoo Ham <[email protected]> Description: - The /sys/class/extcon/.../cable.x/name shows the name of cable - "x" (integer between 0 and 31) of an extcon device. + The /sys/class/extcon/.../cable.X/name shows the name of cable + "X" (integer between 0 and 31) of an extcon device. -What: /sys/class/extcon/.../cable.x/state +What: /sys/class/extcon/.../cable.X/state Date: February 2012 Contact: MyungJoo Ham <[email protected]> Description: - The /sys/class/extcon/.../cable.x/state shows and stores the - state of cable "x" (integer between 0 and 31) of an extcon + The /sys/class/extcon/.../cable.X/state shows and stores the + state of cable "X" (integer between 0 and 31) of an extcon device. The state value is either 0 (detached) or 1 (attached).
Signature · 1 line
2.31.1
PATCH v2 7/7 ABI: sysfs-devices-system-cpu: use cpuX instead of cpu#
In reply to Mauro Carvalho ChehabSome What entries here use cpu# as a wildcard, while others use, instead, cpuX.
As scripts/get_abi.pl doesn't consider "#" as a wildcard, replace:
cpu# -> cpuX
inside the file.
---
See [PATCH v2 0/7] at: https://lore.kernel.org/all/[email protected]/
.../ABI/testing/sysfs-devices-system-cpu | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-)
Documentation/ABI/testing/sysfs-devices-system-cpu +26 -26
@@ -7,7 +7,7 @@ Description: Individual CPU attributes are contained in subdirectories named by the kernel's logical CPU number, e.g.: - /sys/devices/system/cpu/cpu#/ + /sys/devices/system/cpu/cpuX/ What: /sys/devices/system/cpu/kernel_max /sys/devices/system/cpu/offline
@@ -53,7 +53,7 @@ Description: Dynamic addition and removal of CPU's. This is not hotplug the system. Information written to the file to remove CPU's is architecture specific. -What: /sys/devices/system/cpu/cpu#/node +What: /sys/devices/system/cpu/cpuX/node Date: October 2009 Contact: Linux memory management mailing list <[email protected]> Description: Discover NUMA node a CPU belongs to
@@ -67,41 +67,41 @@ Description: Discover NUMA node a CPU belongs to /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2 -What: /sys/devices/system/cpu/cpu#/topology/core_id - /sys/devices/system/cpu/cpu#/topology/core_siblings - /sys/devices/system/cpu/cpu#/topology/core_siblings_list - /sys/devices/system/cpu/cpu#/topology/physical_package_id - /sys/devices/system/cpu/cpu#/topology/thread_siblings - /sys/devices/system/cpu/cpu#/topology/thread_siblings_list +What: /sys/devices/system/cpu/cpuX/topology/core_id + /sys/devices/system/cpu/cpuX/topology/core_siblings + /sys/devices/system/cpu/cpuX/topology/core_siblings_list + /sys/devices/system/cpu/cpuX/topology/physical_package_id + /sys/devices/system/cpu/cpuX/topology/thread_siblings + /sys/devices/system/cpu/cpuX/topology/thread_siblings_list Date: December 2008 Contact: Linux kernel mailing list <[email protected]> Description: CPU topology files that describe a logical CPU's relationship to other cores and threads in the same physical package. - One cpu# directory is created per logical CPU in the system, + One cpuX directory is created per logical CPU in the system, e.g. /sys/devices/system/cpu/cpu42/. Briefly, the files above are: - core_id: the CPU core ID of cpu#. Typically it is the + core_id: the CPU core ID of cpuX. Typically it is the hardware platform's identifier (rather than the kernel's). The actual value is architecture and platform dependent. - core_siblings: internal kernel map of cpu#'s hardware threads + core_siblings: internal kernel map of cpuX's hardware threads within the same physical_package_id. core_siblings_list: human-readable list of the logical CPU - numbers within the same physical_package_id as cpu#. + numbers within the same physical_package_id as cpuX. - physical_package_id: physical package id of cpu#. Typically + physical_package_id: physical package id of cpuX. Typically corresponds to a physical socket number, but the actual value is architecture and platform dependent. - thread_siblings: internal kernel map of cpu#'s hardware - threads within the same core as cpu# + thread_siblings: internal kernel map of cpuX's hardware + threads within the same core as cpuX - thread_siblings_list: human-readable list of cpu#'s hardware - threads within the same core as cpu# + thread_siblings_list: human-readable list of cpuX's hardware + threads within the same core as cpuX See Documentation/admin-guide/cputopology.rst for more information.
@@ -237,7 +237,7 @@ Description: Total number of times this state has been requested by the CPU while entering suspend-to-idle. -What: /sys/devices/system/cpu/cpu#/cpufreq/* +What: /sys/devices/system/cpu/cpuX/cpufreq/* Date: pre-git history Contact: [email protected] Description: Discover and change clock speed of CPUs
@@ -252,7 +252,7 @@ Description: Discover and change clock speed of CPUs See files in Documentation/cpu-freq/ for more information. -What: /sys/devices/system/cpu/cpu#/cpufreq/freqdomain_cpus +What: /sys/devices/system/cpu/cpuX/cpufreq/freqdomain_cpus Date: June 2013 Contact: [email protected] Description: Discover CPUs in the same CPU frequency coordination domain
@@ -301,16 +301,16 @@ Description: Processor frequency boosting control Documentation/admin-guide/pm/cpufreq.rst -What: /sys/devices/system/cpu/cpu#/crash_notes - /sys/devices/system/cpu/cpu#/crash_notes_size +What: /sys/devices/system/cpu/cpuX/crash_notes + /sys/devices/system/cpu/cpuX/crash_notes_size Date: April 2013 Contact: [email protected] Description: address and size of the percpu note. crash_notes: the physical address of the memory that holds the - note of cpu#. + note of cpuX. - crash_notes_size: size of the note of cpu#. + crash_notes_size: size of the note of cpuX. What: /sys/devices/system/cpu/intel_pstate/max_perf_pct
@@ -503,12 +503,12 @@ Description: Identifies the subset of CPUs in the system that can execute If absent, then all or none of the CPUs can execute AArch32 applications and execve() will behave accordingly. -What: /sys/devices/system/cpu/cpu#/cpu_capacity +What: /sys/devices/system/cpu/cpuX/cpu_capacity Date: December 2016 Contact: Linux kernel mailing list <[email protected]> Description: information about CPUs heterogeneity. - cpu_capacity: capacity of cpu#. + cpu_capacity: capacity of cpuX. What: /sys/devices/system/cpu/vulnerabilities /sys/devices/system/cpu/vulnerabilities/meltdown
@@ -560,7 +560,7 @@ Description: Control Symmetric Multi Threading (SMT) If control status is "forceoff" or "notsupported" writes are rejected. -What: /sys/devices/system/cpu/cpu#/power/energy_perf_bias +What: /sys/devices/system/cpu/cpuX/power/energy_perf_bias Date: March 2019 Contact: [email protected] Description: Intel Energy and Performance Bias Hint (EPB)
Signature · 1 line
2.31.1