<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/hwmon, branch linux-6.6.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-6.6.y</id>
<link rel='self' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-6.6.y'/>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2026-09-14T11:29:50+00:00</updated>
<entry>
<title>hwmon: (emc1403) Drop hysteresis for low limit temperature</title>
<updated>2026-09-14T11:29:50+00:00</updated>
<author>
<name>Marius Cristea</name>
<email>marius.cristea@microchip.com</email>
</author>
<published>2026-08-13T08:40:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9281eb1e4ea31281c0230a5c74aacfc014241d10'/>
<id>urn:sha1:9281eb1e4ea31281c0230a5c74aacfc014241d10</id>
<content type='text'>
[ Upstream commit 75f2c0b3690702c90863c2e138cb5520670845ea ]

Remove the hysteresis for low temperature limit, in hardware
the hysteresis is applied only to the maxim limit and the
critical limit temperature.

Fixes: 54392ce4446e3 ("hwmon: (emc1403) Add support for min_hyst attributes")
Signed-off-by: Marius Cristea &lt;marius.cristea@microchip.com&gt;
Link: https://lore.kernel.org/r/20260813-emc1403_remove_min_hyst-v1-1-43a0d05d9f49@microchip.com
[groeck: Updated subject]
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>hwmon: (emc1403) Rely on subsystem locking</title>
<updated>2026-09-14T11:29:50+00:00</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2025-06-06T00:35:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e43ba8be636ab54bcf3f90a0ccd36e2bc3df3274'/>
<id>urn:sha1:e43ba8be636ab54bcf3f90a0ccd36e2bc3df3274</id>
<content type='text'>
[ Upstream commit 61e9b50ffa2390a2927051d335b2ba04b8f791ce ]

Attribute access is now serialized in the hardware monitoring core,
so locking in the driver code is no longer necessary. Drop it.

Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Stable-dep-of: 75f2c0b36907 ("hwmon: (emc1403) Drop hysteresis for low limit temperature")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>hwmon: (emc1403) Add support for EMC1428 and EMC1438.</title>
<updated>2026-09-14T11:29:50+00:00</updated>
<author>
<name>Lars Petter Mostad</name>
<email>larspm@gmail.com</email>
</author>
<published>2024-05-10T14:28:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5efc8eeb33183701f18074ed1d9cf04a1708cc60'/>
<id>urn:sha1:5efc8eeb33183701f18074ed1d9cf04a1708cc60</id>
<content type='text'>
[ Upstream commit c82337843dd7c0723e7ce2b86e5ed89d71f1c7c3 ]

EMC1428 and EMC1438 are similar to EMC14xx, but have eight temperature
channels, as well as signed data and limit registers. Chips currently
supported by this driver have unsigned registers only.

Signed-off-by: Lars Petter Mostad &lt;larspm@gmail.com&gt;
Link: https://lore.kernel.org/r/20240510142824.824332-1-lars.petter.mostad@appear.net
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Stable-dep-of: 75f2c0b36907 ("hwmon: (emc1403) Drop hysteresis for low limit temperature")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>hwmon: (emc1403) Support 11 bit accuracy</title>
<updated>2026-09-14T11:29:50+00:00</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2024-05-03T04:53:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5eee537872d8612020096c0722c64b4cf296a58a'/>
<id>urn:sha1:5eee537872d8612020096c0722c64b4cf296a58a</id>
<content type='text'>
[ Upstream commit e77b204ad4d01d3aee5e18fe33dc6d7a09953308 ]

Various temperature and limit registers support 11 bit accuracy.
Add support for it.

Cc: Lars Petter Mostad &lt;lars.petter.mostad@appear.net&gt;
Tested-by: Lars Petter Mostad &lt;lars.petter.mostad@appear.net&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Stable-dep-of: 75f2c0b36907 ("hwmon: (emc1403) Drop hysteresis for low limit temperature")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>hwmon: (emc1403) Convert to with_info API</title>
<updated>2026-09-14T11:29:50+00:00</updated>
<author>
<name>Guenter Roeck</name>
<email>linux@roeck-us.net</email>
</author>
<published>2021-11-28T18:06:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e33dc202fb6f6b598f9799b76f873989463ee805'/>
<id>urn:sha1:e33dc202fb6f6b598f9799b76f873989463ee805</id>
<content type='text'>
[ Upstream commit 1094360dc860e3578b3ec1889b05c88462ff189e ]

Convert driver to register with the hwmon subsystem using
devm_hwmon_device_register_with_info() instead of
devm_hwmon_device_register_with_groups() to simplify the code
and to reduce its size. As side effect, this also fixes a couple
of overflow problems when writing limit and hysteresis registers.

Cc: Lars Petter Mostad &lt;lars.petter.mostad@appear.net&gt;
Tested-by: Lars Petter Mostad &lt;lars.petter.mostad@appear.net&gt;
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Stable-dep-of: 75f2c0b36907 ("hwmon: (emc1403) Drop hysteresis for low limit temperature")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>hwmon: (emc1403) Add support for EMC1442</title>
<updated>2026-09-14T11:29:50+00:00</updated>
<author>
<name>Delphine CC Chiu</name>
<email>Delphine_CC_Chiu@wiwynn.com</email>
</author>
<published>2023-11-02T09:08:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b92949bc1a099f772d2b16f5bc7074fc585f6cab'/>
<id>urn:sha1:b92949bc1a099f772d2b16f5bc7074fc585f6cab</id>
<content type='text'>
[ Upstream commit 9350163aff24530f2aa3357ee1c7bd8771a443e4 ]

Add support for EMC1442 which is compatible with EMC1402.

Signed-off-by: Delphine CC Chiu &lt;Delphine_CC_Chiu@wiwynn.com&gt;
Reviewed-by: Patrick Williams &lt;patrick@stwcx.xyz&gt;
Link: https://lore.kernel.org/r/20231102090808.427351-1-Delphine_CC_Chiu@wiwynn.com
[groeck: compatible with EMC1402, not EMC1403]
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Stable-dep-of: 75f2c0b36907 ("hwmon: (emc1403) Drop hysteresis for low limit temperature")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>hwmon: (max6621) fix temperature clamp range</title>
<updated>2026-09-14T11:28:27+00:00</updated>
<author>
<name>Cong Nguyen</name>
<email>congnt264@gmail.com</email>
</author>
<published>2026-08-10T04:27:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=697d946853e7e779e529a5912eaeee04af711a8b'/>
<id>urn:sha1:697d946853e7e779e529a5912eaeee04af711a8b</id>
<content type='text'>
commit 24fbeb83d9b750a36da42cb835a154d80fd3d495 upstream.

MAX6621_TEMP_INPUT_MIN and MAX6621_TEMP_INPUT_MAX are used to clamp the
writable offset and critical thresholds. They are defined as -127000 and
128000.

The driver decodes the temperature through an s8 and its own comment in
max6621_read() documents an 8-bit two's complement value, whose range is
-128 to +127 degrees C. The current limits therefore reject the valid
-128 degrees C and accept +128 degrees C, which does not fit the 8-bit
range.

Correct the limits to -128000 and 127000.

Fixes: 92b64580f14b ("hwmon: (max6621) Add support for Maxim MAX6621 temperature sensor")
Cc: stable@vger.kernel.org
Assisted-by: Claude:claude-opus-4
Signed-off-by: Cong Nguyen &lt;congnt264@gmail.com&gt;
Link: https://lore.kernel.org/r/9d3a4f1895a47794bb359a2a32fb1ccd6a15812c.1786334038.git.congnt264@gmail.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>hwmon: (max6621) fix negative temperature offset and crit readings</title>
<updated>2026-09-14T11:28:27+00:00</updated>
<author>
<name>Cong Nguyen</name>
<email>congnt264@gmail.com</email>
</author>
<published>2026-08-10T04:28:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=7d69a2747441fefe00190f67aff7c20f2a81e8ba'/>
<id>urn:sha1:7d69a2747441fefe00190f67aff7c20f2a81e8ba</id>
<content type='text'>
commit acc52bd431e2d8698fae8d82a74ac45d79b62e0a upstream.

max6621_read() reads the CONFIG2 offset and the critical alert threshold
registers into a u32 and scales them without sign extension:

	/* offset */ *val = (regval &gt;&gt; MAX6621_REG_TEMP_SHIFT) * 1000L;
	/* crit   */ *val = regval * 1000L;

Both attributes are writable and their write paths clamp to a negative
minimum and encode negative values, so a value written as negative is read
back as a large positive number. For example, writing a -10 degrees C
offset stores max6621_temp_mc2reg(-10000) = (-10 &lt;&lt; 6) = 0xfd80; the read
then computes 0xfd80 &gt;&gt; 6 = 1014 -&gt; 1014000 instead of -10000.

Cast the register value to s16 before scaling so the read preserves the
sign the write path encodes. The temperature input path already uses an s8
intermediate and is left unchanged.

Fixes: 92b64580f14b ("hwmon: (max6621) Add support for Maxim MAX6621 temperature sensor")
Cc: stable@vger.kernel.org
Assisted-by: Claude:claude-opus-4
Signed-off-by: Cong Nguyen &lt;congnt264@gmail.com&gt;
Link: https://lore.kernel.org/r/ad0baddbd6163cf73545c8e9273258136718585c.1786334038.git.congnt264@gmail.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>hwmon: (ads7828) Fix external VREF regulator handling</title>
<updated>2026-08-19T16:13:08+00:00</updated>
<author>
<name>Qingshuang Fu</name>
<email>fuqingshuang@kylinos.cn</email>
</author>
<published>2026-08-05T06:16:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=83837e3e827dd6582631867686e9732c0123d90f'/>
<id>urn:sha1:83837e3e827dd6582631867686e9732c0123d90f</id>
<content type='text'>
[ Upstream commit fddb5ceaf901b050ed2a1a7deeecbf97e003435a ]

The driver currently has two issues with the external VREF regulator
handling in ads7828_probe():

1. All errors from devm_regulator_get_optional() are ignored, causing the
   driver to incorrectly fall back to internal VREF even for transient
   errors like -EPROBE_DEFER or genuine failures like -ENOMEM.

2. The external regulator is never enabled. The driver calls
   regulator_get_voltage() without first calling regulator_enable(),
   so the VREF pin may remain unpowered if the regulator is not
   configured as always-on.

Fix both issues by switching to devm_regulator_get_enable_read_voltage(),
which handles regulator get, enable, and voltage read in one call.
Only -ENODEV (no regulator specified in device tree) should trigger the
fallback to internal VREF. All other errors are propagated to the caller.

Fixes: a8ddfea09566 ("hwmon: (ads7828) Accept optional parameters from device tree")
Signed-off-by: Qingshuang Fu &lt;fuqingshuang@kylinos.cn&gt;
Link: https://lore.kernel.org/r/20260805061645.1331652-1-fffsqian@163.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>hwmon: (corsair-psu) fix possible out-of-bounds access on missing string termination</title>
<updated>2026-08-19T16:13:08+00:00</updated>
<author>
<name>Wilken Gottwalt</name>
<email>wilken.gottwalt@posteo.net</email>
</author>
<published>2026-08-05T07:19:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6ae440fe5ff72064a6644b50526bfa92c35b6d74'/>
<id>urn:sha1:6ae440fe5ff72064a6644b50526bfa92c35b6d74</id>
<content type='text'>
[ Upstream commit 36c4d73ce05d1d8896c2669eb0730d35a02a2ec1 ]

In theory it could be possible that the REPLY_SIZE sized buffers for
holding the vendor and product strings could be end up missing the null
termination (for example by malicious hardware built on purpose)
required by the seq_printf() call. That limits the debugfs printf calls
to a maximum string length of REPLY_SIZE.

Fixes: d115b51e0e567 ("hwmon: add Corsair PSU HID controller driver")
Signed-off-by: Wilken Gottwalt &lt;wilken.gottwalt@posteo.net&gt;
Link: https://lore.kernel.org/r/anLj9gPWRoRDbQBV@monster.localdomain
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
</feed>
