Skip to content

Commit 584f790

Browse files
committed
Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging
* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging: hwmon: (max34440) Add driver documentation hwmon: (max16064) Add driver documentation hwmon: (max8688) Add driver documentation hwmon: (pmbus) Documentation updates hwmon: (smm665) Fix spelling error in driver documentation hwmon: (pmbus) Removed unused variable from struct pmbus_data hwmon: Add submitting-patches checklist to documentation
2 parents 18995ba + e428d8d commit 584f790

File tree

7 files changed

+331
-31
lines changed

7 files changed

+331
-31
lines changed

Documentation/hwmon/max16064

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
Kernel driver max16064
2+
======================
3+
4+
Supported chips:
5+
* Maxim MAX16064
6+
Prefix: 'max16064'
7+
Addresses scanned: -
8+
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf
9+
10+
Author: Guenter Roeck <guenter.roeck@ericsson.com>
11+
12+
13+
Description
14+
-----------
15+
16+
This driver supports hardware montoring for Maxim MAX16064 Quad Power-Supply
17+
Controller with Active-Voltage Output Control and PMBus Interface.
18+
19+
The driver is a client driver to the core PMBus driver.
20+
Please see Documentation/hwmon/pmbus for details on PMBus client drivers.
21+
22+
23+
Usage Notes
24+
-----------
25+
26+
This driver does not auto-detect devices. You will have to instantiate the
27+
devices explicitly. Please see Documentation/i2c/instantiating-devices for
28+
details.
29+
30+
31+
Platform data support
32+
---------------------
33+
34+
The driver supports standard PMBus driver platform data.
35+
36+
37+
Sysfs entries
38+
-------------
39+
40+
The following attributes are supported. Limits are read-write; all other
41+
attributes are read-only.
42+
43+
in[1-4]_label "vout[1-4]"
44+
in[1-4]_input Measured voltage. From READ_VOUT register.
45+
in[1-4]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
46+
in[1-4]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
47+
in[1-4]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
48+
in[1-4]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
49+
in[1-4]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
50+
in[1-4]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
51+
in[1-4]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
52+
in[1-4]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
53+
54+
temp1_input Measured temperature. From READ_TEMPERATURE_1 register.
55+
temp1_max Maximum temperature. From OT_WARN_LIMIT register.
56+
temp1_crit Critical high temperature. From OT_FAULT_LIMIT register.
57+
temp1_max_alarm Chip temperature high alarm. Set by comparing
58+
READ_TEMPERATURE_1 with OT_WARN_LIMIT if TEMP_OT_WARNING
59+
status is set.
60+
temp1_crit_alarm Chip temperature critical high alarm. Set by comparing
61+
READ_TEMPERATURE_1 with OT_FAULT_LIMIT if TEMP_OT_FAULT
62+
status is set.

Documentation/hwmon/max34440

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
Kernel driver max34440
2+
======================
3+
4+
Supported chips:
5+
* Maxim MAX34440
6+
Prefixes: 'max34440'
7+
Addresses scanned: -
8+
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34440.pdf
9+
* Maxim MAX34441
10+
PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller
11+
Prefixes: 'max34441'
12+
Addresses scanned: -
13+
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34441.pdf
14+
15+
Author: Guenter Roeck <guenter.roeck@ericsson.com>
16+
17+
18+
Description
19+
-----------
20+
21+
This driver supports hardware montoring for Maxim MAX34440 PMBus 6-Channel
22+
Power-Supply Manager and MAX34441 PMBus 5-Channel Power-Supply Manager
23+
and Intelligent Fan Controller.
24+
25+
The driver is a client driver to the core PMBus driver. Please see
26+
Documentation/hwmon/pmbus for details on PMBus client drivers.
27+
28+
29+
Usage Notes
30+
-----------
31+
32+
This driver does not auto-detect devices. You will have to instantiate the
33+
devices explicitly. Please see Documentation/i2c/instantiating-devices for
34+
details.
35+
36+
37+
Platform data support
38+
---------------------
39+
40+
The driver supports standard PMBus driver platform data.
41+
42+
43+
Sysfs entries
44+
-------------
45+
46+
The following attributes are supported. Limits are read-write; all other
47+
attributes are read-only.
48+
49+
in[1-6]_label "vout[1-6]".
50+
in[1-6]_input Measured voltage. From READ_VOUT register.
51+
in[1-6]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
52+
in[1-6]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
53+
in[1-6]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
54+
in[1-6]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
55+
in[1-6]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
56+
in[1-6]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
57+
in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
58+
in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
59+
60+
curr[1-6]_label "iout[1-6]".
61+
curr[1-6]_input Measured current. From READ_IOUT register.
62+
curr[1-6]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
63+
curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
64+
curr[1-6]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
65+
curr[1-6]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
66+
67+
in6 and curr6 attributes only exist for MAX34440.
68+
69+
temp[1-8]_input Measured temperatures. From READ_TEMPERATURE_1 register.
70+
temp1 is the chip's internal temperature. temp2..temp5
71+
are remote I2C temperature sensors. For MAX34441, temp6
72+
is a remote thermal-diode sensor. For MAX34440, temp6..8
73+
are remote I2C temperature sensors.
74+
temp[1-8]_max Maximum temperature. From OT_WARN_LIMIT register.
75+
temp[1-8]_crit Critical high temperature. From OT_FAULT_LIMIT register.
76+
temp[1-8]_max_alarm Temperature high alarm.
77+
temp[1-8]_crit_alarm Temperature critical high alarm.
78+
79+
temp7 and temp8 attributes only exist for MAX34440.

Documentation/hwmon/max8688

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
Kernel driver max8688
2+
=====================
3+
4+
Supported chips:
5+
* Maxim MAX8688
6+
Prefix: 'max8688'
7+
Addresses scanned: -
8+
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf
9+
10+
Author: Guenter Roeck <guenter.roeck@ericsson.com>
11+
12+
13+
Description
14+
-----------
15+
16+
This driver supports hardware montoring for Maxim MAX8688 Digital Power-Supply
17+
Controller/Monitor with PMBus Interface.
18+
19+
The driver is a client driver to the core PMBus driver. Please see
20+
Documentation/hwmon/pmbus for details on PMBus client drivers.
21+
22+
23+
Usage Notes
24+
-----------
25+
26+
This driver does not auto-detect devices. You will have to instantiate the
27+
devices explicitly. Please see Documentation/i2c/instantiating-devices for
28+
details.
29+
30+
31+
Platform data support
32+
---------------------
33+
34+
The driver supports standard PMBus driver platform data.
35+
36+
37+
Sysfs entries
38+
-------------
39+
40+
The following attributes are supported. Limits are read-write; all other
41+
attributes are read-only.
42+
43+
in1_label "vout1"
44+
in1_input Measured voltage. From READ_VOUT register.
45+
in1_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
46+
in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
47+
in1_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
48+
in1_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
49+
in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
50+
in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
51+
in1_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
52+
in1_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
53+
54+
curr1_label "iout1"
55+
curr1_input Measured current. From READ_IOUT register.
56+
curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register.
57+
curr1_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
58+
curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register.
59+
curr1_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
60+
61+
temp1_input Measured temperature. From READ_TEMPERATURE_1 register.
62+
temp1_max Maximum temperature. From OT_WARN_LIMIT register.
63+
temp1_crit Critical high temperature. From OT_FAULT_LIMIT register.
64+
temp1_max_alarm Chip temperature high alarm. Set by comparing
65+
READ_TEMPERATURE_1 with OT_WARN_LIMIT if TEMP_OT_WARNING
66+
status is set.
67+
temp1_crit_alarm Chip temperature critical high alarm. Set by comparing
68+
READ_TEMPERATURE_1 with OT_FAULT_LIMIT if TEMP_OT_FAULT
69+
status is set.

Documentation/hwmon/pmbus

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,6 @@ Supported chips:
1313
Prefix: 'ltc2978'
1414
Addresses scanned: -
1515
Datasheet: http://cds.linear.com/docs/Datasheet/2978fa.pdf
16-
* Maxim MAX16064
17-
Quad Power-Supply Controller
18-
Prefix: 'max16064'
19-
Addresses scanned: -
20-
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf
21-
* Maxim MAX34440
22-
PMBus 6-Channel Power-Supply Manager
23-
Prefixes: 'max34440'
24-
Addresses scanned: -
25-
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34440.pdf
26-
* Maxim MAX34441
27-
PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller
28-
Prefixes: 'max34441'
29-
Addresses scanned: -
30-
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34441.pdf
31-
* Maxim MAX8688
32-
Digital Power-Supply Controller/Monitor
33-
Prefix: 'max8688'
34-
Addresses scanned: -
35-
Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf
3616
* Generic PMBus devices
3717
Prefix: 'pmbus'
3818
Addresses scanned: -
@@ -175,11 +155,13 @@ currX_crit Critical maximum current.
175155
From IIN_OC_FAULT_LIMIT or IOUT_OC_FAULT_LIMIT register.
176156
currX_alarm Current high alarm.
177157
From IIN_OC_WARNING or IOUT_OC_WARNING status.
158+
currX_max_alarm Current high alarm.
159+
From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT status.
178160
currX_lcrit_alarm Output current critical low alarm.
179161
From IOUT_UC_FAULT status.
180162
currX_crit_alarm Current critical high alarm.
181163
From IIN_OC_FAULT or IOUT_OC_FAULT status.
182-
currX_label "iin" or "vinY"
164+
currX_label "iin" or "ioutY"
183165

184166
powerX_input Measured power. From READ_PIN or READ_POUT register.
185167
powerX_cap Output power cap. From POUT_MAX register.
@@ -193,13 +175,13 @@ powerX_crit_alarm Output power critical high alarm.
193175
From POUT_OP_FAULT status.
194176
powerX_label "pin" or "poutY"
195177

196-
tempX_input Measured tempererature.
178+
tempX_input Measured temperature.
197179
From READ_TEMPERATURE_X register.
198-
tempX_min Mimimum tempererature. From UT_WARN_LIMIT register.
199-
tempX_max Maximum tempererature. From OT_WARN_LIMIT register.
200-
tempX_lcrit Critical low tempererature.
180+
tempX_min Mimimum temperature. From UT_WARN_LIMIT register.
181+
tempX_max Maximum temperature. From OT_WARN_LIMIT register.
182+
tempX_lcrit Critical low temperature.
201183
From UT_FAULT_LIMIT register.
202-
tempX_crit Critical high tempererature.
184+
tempX_crit Critical high temperature.
203185
From OT_FAULT_LIMIT register.
204186
tempX_min_alarm Chip temperature low alarm. Set by comparing
205187
READ_TEMPERATURE_X with UT_WARN_LIMIT if

Documentation/hwmon/smm665

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ in8_crit_alarm Channel F critical alarm
150150
in9_crit_alarm AIN1 critical alarm
151151
in10_crit_alarm AIN2 critical alarm
152152

153-
temp1_input Chip tempererature
154-
temp1_min Mimimum chip tempererature
155-
temp1_max Maximum chip tempererature
156-
temp1_crit Critical chip tempererature
153+
temp1_input Chip temperature
154+
temp1_min Mimimum chip temperature
155+
temp1_max Maximum chip temperature
156+
temp1_crit Critical chip temperature
157157
temp1_crit_alarm Temperature critical alarm
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
How to Get Your Patch Accepted Into the Hwmon Subsystem
2+
-------------------------------------------------------
3+
4+
This text is is a collection of suggestions for people writing patches or
5+
drivers for the hwmon subsystem. Following these suggestions will greatly
6+
increase the chances of your change being accepted.
7+
8+
9+
1. General
10+
----------
11+
12+
* It should be unnecessary to mention, but please read and follow
13+
Documentation/SubmitChecklist
14+
Documentation/SubmittingDrivers
15+
Documentation/SubmittingPatches
16+
Documentation/CodingStyle
17+
18+
* If your patch generates checkpatch warnings, please refrain from explanations
19+
such as "I don't like that coding style". Keep in mind that each unnecessary
20+
warning helps hiding a real problem. If you don't like the kernel coding
21+
style, don't write kernel drivers.
22+
23+
* Please test your patch thoroughly. We are not your test group.
24+
Sometimes a patch can not or not completely be tested because of missing
25+
hardware. In such cases, you should test-build the code on at least one
26+
architecture. If run-time testing was not achieved, it should be written
27+
explicitly below the patch header.
28+
29+
* If your patch (or the driver) is affected by configuration options such as
30+
CONFIG_SMP or CONFIG_HOTPLUG, make sure it compiles for all configuration
31+
variants.
32+
33+
34+
2. Adding functionality to existing drivers
35+
-------------------------------------------
36+
37+
* Make sure the documentation in Documentation/hwmon/<driver_name> is up to
38+
date.
39+
40+
* Make sure the information in Kconfig is up to date.
41+
42+
* If the added functionality requires some cleanup or structural changes, split
43+
your patch into a cleanup part and the actual addition. This makes it easier
44+
to review your changes, and to bisect any resulting problems.
45+
46+
* Never mix bug fixes, cleanup, and functional enhancements in a single patch.
47+
48+
49+
3. New drivers
50+
--------------
51+
52+
* Running your patch or driver file(s) through checkpatch does not mean its
53+
formatting is clean. If unsure about formatting in your new driver, run it
54+
through Lindent. Lindent is not perfect, and you may have to do some minor
55+
cleanup, but it is a good start.
56+
57+
* Consider adding yourself to MAINTAINERS.
58+
59+
* Document the driver in Documentation/hwmon/<driver_name>.
60+
61+
* Add the driver to Kconfig and Makefile in alphabetical order.
62+
63+
* Make sure that all dependencies are listed in Kconfig. For new drivers, it
64+
is most likely prudent to add a dependency on EXPERIMENTAL.
65+
66+
* Avoid forward declarations if you can. Rearrange the code if necessary.
67+
68+
* Avoid calculations in macros and macro-generated functions. While such macros
69+
may save a line or so in the source, it obfuscates the code and makes code
70+
review more difficult. It may also result in code which is more complicated
71+
than necessary. Use inline functions or just regular functions instead.
72+
73+
* If the driver has a detect function, make sure it is silent. Debug messages
74+
and messages printed after a successful detection are acceptable, but it
75+
must not print messages such as "Chip XXX not found/supported".
76+
77+
Keep in mind that the detect function will run for all drivers supporting an
78+
address if a chip is detected on that address. Unnecessary messages will just
79+
pollute the kernel log and not provide any value.
80+
81+
* Provide a detect function if and only if a chip can be detected reliably.
82+
83+
* Avoid writing to chip registers in the detect function. If you have to write,
84+
only do it after you have already gathered enough data to be certain that the
85+
detection is going to be successful.
86+
87+
Keep in mind that the chip might not be what your driver believes it is, and
88+
writing to it might cause a bad misconfiguration.
89+
90+
* Make sure there are no race conditions in the probe function. Specifically,
91+
completely initialize your chip first, then create sysfs entries and register
92+
with the hwmon subsystem.
93+
94+
* Do not provide support for deprecated sysfs attributes.
95+
96+
* Do not create non-standard attributes unless really needed. If you have to use
97+
non-standard attributes, or you believe you do, discuss it on the mailing list
98+
first. Either case, provide a detailed explanation why you need the
99+
non-standard attribute(s).
100+
Standard attributes are specified in Documentation/hwmon/sysfs-interface.
101+
102+
* When deciding which sysfs attributes to support, look at the chip's
103+
capabilities. While we do not expect your driver to support everything the
104+
chip may offer, it should at least support all limits and alarms.
105+
106+
* Last but not least, please check if a driver for your chip already exists
107+
before starting to write a new driver. Especially for temperature sensors,
108+
new chips are often variants of previously released chips. In some cases,
109+
a presumably new chip may simply have been relabeled.

0 commit comments

Comments
 (0)