<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/hwmon/nct7904.c, branch v6.0-rc3</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>hwmon: use simple i2c probe function</title>
<updated>2020-09-23T16:42:39+00:00</updated>
<author>
<name>Stephen Kitt</name>
<email>steve@sk2.org</email>
</author>
<published>2020-08-13T16:02:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6748703856d461f8cd62b72ebca51040e06cb310'/>
<id>6748703856d461f8cd62b72ebca51040e06cb310</id>
<content type='text'>
Many hwmon drivers don't use the id information provided by the old
i2c probe function, and the remainder can easily be adapted to the new
form ("probe_new") by calling i2c_match_id explicitly.

This avoids scanning the identifier tables during probes.

Drivers which didn't use the id are converted as-is; drivers which did
are modified as follows:

* if the information in i2c_client is sufficient, that's used instead
  (client-&gt;name);
* anything else is handled by calling i2c_match_id() with the same
  level of error-handling (if any) as before.

A few drivers aren't included in this patch because they have a
different set of maintainers. They will be covered by other patches.

Signed-off-by: Stephen Kitt &lt;steve@sk2.org&gt;
Link: https://lore.kernel.org/r/20200813160222.1503401-1-steve@sk2.org
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Many hwmon drivers don't use the id information provided by the old
i2c probe function, and the remainder can easily be adapted to the new
form ("probe_new") by calling i2c_match_id explicitly.

This avoids scanning the identifier tables during probes.

Drivers which didn't use the id are converted as-is; drivers which did
are modified as follows:

* if the information in i2c_client is sufficient, that's used instead
  (client-&gt;name);
* anything else is handled by calling i2c_match_id() with the same
  level of error-handling (if any) as before.

A few drivers aren't included in this patch because they have a
different set of maintainers. They will be covered by other patches.

Signed-off-by: Stephen Kitt &lt;steve@sk2.org&gt;
Link: https://lore.kernel.org/r/20200813160222.1503401-1-steve@sk2.org
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct7904) Correct divide by 0</title>
<updated>2020-08-21T18:26:35+00:00</updated>
<author>
<name>Jason Baron</name>
<email>jbaron@akamai.com</email>
</author>
<published>2020-08-21T16:20:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8aebbbb2d573d0b4afc08b90ac7d73dba2d9da97'/>
<id>8aebbbb2d573d0b4afc08b90ac7d73dba2d9da97</id>
<content type='text'>
We hit a kernel panic due to a divide by 0 in nct7904_read_fan() for
the hwmon_fan_min case. Extend the check to hwmon_fan_input case as well
for safety.

[ 1656.545650] divide error: 0000 [#1] SMP PTI
[ 1656.545779] CPU: 12 PID: 18010 Comm: sensors Not tainted 5.4.47 #1
[ 1656.546065] RIP: 0010:nct7904_read+0x1e9/0x510 [nct7904]
...
[ 1656.546549] RAX: 0000000000149970 RBX: ffffbd6b86bcbe08 RCX: 0000000000000000
...
[ 1656.547548] Call Trace:
[ 1656.547665]  hwmon_attr_show+0x32/0xd0 [hwmon]
[ 1656.547783]  dev_attr_show+0x18/0x50
[ 1656.547898]  sysfs_kf_seq_show+0x99/0x120
[ 1656.548013]  seq_read+0xd8/0x3e0
[ 1656.548127]  vfs_read+0x89/0x130
[ 1656.548234]  ksys_read+0x7d/0xb0
[ 1656.548342]  do_syscall_64+0x48/0x110
[ 1656.548451]  entry_SYSCALL_64_after_hwframe+0x44/0xa9

Fixes: d65a5102a99f5 ("hwmon: (nct7904) Convert to use new hwmon registration API")
Signed-off-by: Jason Baron &lt;jbaron@akamai.com&gt;
Link: https://lore.kernel.org/r/1598026814-2604-1-git-send-email-jbaron@akamai.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We hit a kernel panic due to a divide by 0 in nct7904_read_fan() for
the hwmon_fan_min case. Extend the check to hwmon_fan_input case as well
for safety.

[ 1656.545650] divide error: 0000 [#1] SMP PTI
[ 1656.545779] CPU: 12 PID: 18010 Comm: sensors Not tainted 5.4.47 #1
[ 1656.546065] RIP: 0010:nct7904_read+0x1e9/0x510 [nct7904]
...
[ 1656.546549] RAX: 0000000000149970 RBX: ffffbd6b86bcbe08 RCX: 0000000000000000
...
[ 1656.547548] Call Trace:
[ 1656.547665]  hwmon_attr_show+0x32/0xd0 [hwmon]
[ 1656.547783]  dev_attr_show+0x18/0x50
[ 1656.547898]  sysfs_kf_seq_show+0x99/0x120
[ 1656.548013]  seq_read+0xd8/0x3e0
[ 1656.548127]  vfs_read+0x89/0x130
[ 1656.548234]  ksys_read+0x7d/0xb0
[ 1656.548342]  do_syscall_64+0x48/0x110
[ 1656.548451]  entry_SYSCALL_64_after_hwframe+0x44/0xa9

Fixes: d65a5102a99f5 ("hwmon: (nct7904) Convert to use new hwmon registration API")
Signed-off-by: Jason Baron &lt;jbaron@akamai.com&gt;
Link: https://lore.kernel.org/r/1598026814-2604-1-git-send-email-jbaron@akamai.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct7904) Set default timeout</title>
<updated>2020-05-27T06:46:24+00:00</updated>
<author>
<name>Yuechao Zhao</name>
<email>yuechao.zhao@advantech.com.cn</email>
</author>
<published>2020-05-27T06:16:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=156ad7f9e0b39cfa0ed02e42c6e1c258c4e81e05'/>
<id>156ad7f9e0b39cfa0ed02e42c6e1c258c4e81e05</id>
<content type='text'>
The timeout module parameter should not be used for setting the default
timeout. Because, if you set the timeout = 0, the default timeout will
be meaningless. And the timeout module parameter of 0 means "no timeout
module parameter specified".

Signed-off-by: Yuechao Zhao &lt;yuechao.zhao@advantech.com.cn&gt;
Link: https://lore.kernel.org/r/1590560219-41328-1-git-send-email-yuechao.zhao@advantech.com.cn
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The timeout module parameter should not be used for setting the default
timeout. Because, if you set the timeout = 0, the default timeout will
be meaningless. And the timeout module parameter of 0 means "no timeout
module parameter specified".

Signed-off-by: Yuechao Zhao &lt;yuechao.zhao@advantech.com.cn&gt;
Link: https://lore.kernel.org/r/1590560219-41328-1-git-send-email-yuechao.zhao@advantech.com.cn
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct7904) Add watchdog function</title>
<updated>2020-05-22T13:28:38+00:00</updated>
<author>
<name>Yuechao Zhao</name>
<email>yuechao.zhao@advantech.com.cn</email>
</author>
<published>2020-03-31T05:28:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=77849a552d142ef5fdc52ac573852b2c1f568eb7'/>
<id>77849a552d142ef5fdc52ac573852b2c1f568eb7</id>
<content type='text'>
Implement watchdog functionality for NCT7904.

Signed-off-by: Yuechao Zhao &lt;yuechao.zhao@advantech.com.cn&gt;
Link: https://lore.kernel.org/r/20200331052850.5419-1-yuechao.zhao@advantech.com.cn
[groeck: Squashed fixup patch]
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement watchdog functionality for NCT7904.

Signed-off-by: Yuechao Zhao &lt;yuechao.zhao@advantech.com.cn&gt;
Link: https://lore.kernel.org/r/20200331052850.5419-1-yuechao.zhao@advantech.com.cn
[groeck: Squashed fixup patch]
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct7904) Fix incorrect range of temperature limit registers</title>
<updated>2020-05-13T14:24:51+00:00</updated>
<author>
<name>Amy Shih</name>
<email>amy.shih@advantech.com.tw</email>
</author>
<published>2020-05-12T09:38:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7b2fd270af27edaf02acb41a7babe805a9441914'/>
<id>7b2fd270af27edaf02acb41a7babe805a9441914</id>
<content type='text'>
The format of temperature limitation registers are 8-bit 2's complement
and the range is -128~127.
Converts the reading value to signed char to fix the incorrect range
of temperature limitation registers.

Signed-off-by: Amy Shih &lt;amy.shih@advantech.com.tw&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The format of temperature limitation registers are 8-bit 2's complement
and the range is -128~127.
Converts the reading value to signed char to fix the incorrect range
of temperature limitation registers.

Signed-off-by: Amy Shih &lt;amy.shih@advantech.com.tw&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct7904) Read all SMI status registers in probe function</title>
<updated>2020-05-13T14:23:11+00:00</updated>
<author>
<name>Amy Shih</name>
<email>amy.shih@advantech.com.tw</email>
</author>
<published>2020-05-12T02:25:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6d44e43f225f96eea2e610f87070718032ad8aaa'/>
<id>6d44e43f225f96eea2e610f87070718032ad8aaa</id>
<content type='text'>
When nct7904 power up, it compares current sensor readings against the
default threshold immediately. This results in false alarms on startup.
Read all SMI status registers in probe function to clear the alarms.

Signed-off-by: Amy Shih &lt;amy.shih@advantech.com.tw&gt;
[groeck: Reworded description]
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When nct7904 power up, it compares current sensor readings against the
default threshold immediately. This results in false alarms on startup.
Read all SMI status registers in probe function to clear the alarms.

Signed-off-by: Amy Shih &lt;amy.shih@advantech.com.tw&gt;
[groeck: Reworded description]
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct7904) Fix the incorrect quantity for fan &amp; temp attributes</title>
<updated>2020-03-15T13:36:34+00:00</updated>
<author>
<name>Amy Shih</name>
<email>amy.shih@advantech.com.tw</email>
</author>
<published>2020-03-12T02:49:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=02fc3c7cc73c7ebefbbe88ce6d9447577c4f6127'/>
<id>02fc3c7cc73c7ebefbbe88ce6d9447577c4f6127</id>
<content type='text'>
nct7904d supports 12 fan tachometers input and 13 temperatures
(TEMP_CH1~4 and LTD + DTS TCPU1~8), fix the quantity for fan &amp; temp
attributes.

Signed-off-by: Amy Shih &lt;amy.shih@advantech.com.tw&gt;
Link: https://lore.kernel.org/r/20200312024934.3533-1-Amy.Shih@advantech.com.tw
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
nct7904d supports 12 fan tachometers input and 13 temperatures
(TEMP_CH1~4 and LTD + DTS TCPU1~8), fix the quantity for fan &amp; temp
attributes.

Signed-off-by: Amy Shih &lt;amy.shih@advantech.com.tw&gt;
Link: https://lore.kernel.org/r/20200312024934.3533-1-Amy.Shih@advantech.com.tw
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct7904) Fix the incorrect value of vsen_mask &amp; tcpu_mask &amp; temp_mode in nct7904_data struct.</title>
<updated>2019-10-20T16:22:48+00:00</updated>
<author>
<name>amy.shih</name>
<email>amy.shih@advantech.com.tw</email>
</author>
<published>2019-10-14T08:24:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6fc28b7e0aac8a72217b314dfb5208321d9448e2'/>
<id>6fc28b7e0aac8a72217b314dfb5208321d9448e2</id>
<content type='text'>
Voltage sensors overlap with external temperature sensors. Detect
the multi-function of voltage, thermal diode, thermistor and
reserved from register VT_ADC_MD_REG to set value of vsen_mask &amp;
tcpu_mask &amp; temp_mode in nct7904_data struct. If the value is
reserved, needs to disable the vsen_mask &amp; tcpu_mask.

Signed-off-by: amy.shih &lt;amy.shih@advantech.com.tw&gt;
Link: https://lore.kernel.org/r/20191014082451.2895-1-Amy.Shih@advantech.com.tw
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Voltage sensors overlap with external temperature sensors. Detect
the multi-function of voltage, thermal diode, thermistor and
reserved from register VT_ADC_MD_REG to set value of vsen_mask &amp;
tcpu_mask &amp; temp_mode in nct7904_data struct. If the value is
reserved, needs to disable the vsen_mask &amp; tcpu_mask.

Signed-off-by: amy.shih &lt;amy.shih@advantech.com.tw&gt;
Link: https://lore.kernel.org/r/20191014082451.2895-1-Amy.Shih@advantech.com.tw
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct7904) Add array fan_alarm and vsen_alarm to store the alarms in nct7904_data struct.</title>
<updated>2019-10-02T13:42:48+00:00</updated>
<author>
<name>amy.shih</name>
<email>amy.shih@advantech.com.tw</email>
</author>
<published>2019-09-19T03:02:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6bbfdcbc8e459acda67e32f520f7ecddc391afe9'/>
<id>6bbfdcbc8e459acda67e32f520f7ecddc391afe9</id>
<content type='text'>
SMI# interrupt for fan and voltage is Two-Times Interrupt Mode.
Fan or voltage exceeds high limit or going below low limit,
it will causes an interrupt if the previous interrupt has been
reset by reading all the interrupt Status Register. Thus, add the
array fan_alarm and vsen_alarm to store the alarms for all of the
fan and voltage sensors.

Signed-off-by: amy.shih &lt;amy.shih@advantech.com.tw&gt;
Link: https://lore.kernel.org/r/20190919030205.11440-1-Amy.Shih@advantech.com.tw
Fixes: 486842db3b79 ("hwmon: (nct7904) Add extra sysfs support for fan, voltage and temperature.")
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SMI# interrupt for fan and voltage is Two-Times Interrupt Mode.
Fan or voltage exceeds high limit or going below low limit,
it will causes an interrupt if the previous interrupt has been
reset by reading all the interrupt Status Register. Thus, add the
array fan_alarm and vsen_alarm to store the alarms for all of the
fan and voltage sensors.

Signed-off-by: amy.shih &lt;amy.shih@advantech.com.tw&gt;
Link: https://lore.kernel.org/r/20190919030205.11440-1-Amy.Shih@advantech.com.tw
Fixes: 486842db3b79 ("hwmon: (nct7904) Add extra sysfs support for fan, voltage and temperature.")
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: (nct7904) Fix the incorrect value of vsen_mask in nct7904_data struct</title>
<updated>2019-10-02T13:34:26+00:00</updated>
<author>
<name>amy.shih</name>
<email>amy.shih@advantech.com.tw</email>
</author>
<published>2019-09-18T08:48:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=539ad001d1557731cb38d4a9d0e8e16244b2d913'/>
<id>539ad001d1557731cb38d4a9d0e8e16244b2d913</id>
<content type='text'>
Voltage sensors overlap with external temperature sensors. Detect
the multi-function of voltage, thermal diode and thermistor from
register VT_ADC_MD_REG to set value of vsen_mask in nct7904_data
struct.

Signed-off-by: amy.shih &lt;amy.shih@advantech.com.tw&gt;
Link: https://lore.kernel.org/r/20190918084801.9859-1-Amy.Shih@advantech.com.tw
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Voltage sensors overlap with external temperature sensors. Detect
the multi-function of voltage, thermal diode and thermistor from
register VT_ADC_MD_REG to set value of vsen_mask in nct7904_data
struct.

Signed-off-by: amy.shih &lt;amy.shih@advantech.com.tw&gt;
Link: https://lore.kernel.org/r/20190918084801.9859-1-Amy.Shih@advantech.com.tw
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
