linux/drivers/hwmon
Josef Bacik e1b3c2630d hwmon: (npcm750-pwm-fan) serialize PWM register updates
npcm7xx_pwm_config_set() writes the channel's CMR register and then
does a read-modify-write of the CR register that holds the enable and
invert bits of all four channels of a PWM module. It is called from the
hwmon pwm write path and from npcm7xx_pwm_cz_set_cur_state(), the
set_cur_state callback of the thermal cooling devices the driver
registers for channels with "cooling-levels".

The per-module pwm_lock serializing these updates was dropped on the
assumption that the hwmon core serializes all attribute accesses. That
only covers the hwmon attributes: the cooling devices are registered
directly with the thermal core, which only holds the lock of the
cooling device being updated. So a thermal zone update or a write to a
cooling device's cur_state can run concurrently with a pwm write, or
with the cooling device of another channel of the same module, and one
CR update overwrites the other:

    CPU0 (pwmN write)               CPU1 (cooling dev, same module)
    tmp = ioread32(CR)
                                    tmp = ioread32(CR)
                                    tmp |= ch1 enable
                                    iowrite32(tmp, CR)
    tmp |= ch0 enable
    iowrite32(tmp, CR)              /* ch1 enable bit lost */

leaving a fan stopped or running at a duty cycle that no longer matches
its enable state.

The bug was found by code inspection and has not been reproduced.

Fix by restoring a per-module mutex around the register updates; a
driver lock is used instead of hwmon_lock() because the cooling devices
are registered before the hwmon device exists.

Fixes: abfb050851 ("hwmon: (corsair-psu) Rely on subsystem locking")
Assisted-by: LLM
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-10-20 15:41:38 -07:00
..
occ hwmon: occ: validate poll response sensor blocks 2026-07-20 07:29:44 -07:00
peci hwmon: (peci) Fix kernel-doc parameter names in common.h 2026-08-10 08:59:41 -07:00
pmbus hwmon:(pmbus/xdpe1a2g7b) Add support for xdpe1a2g7c controller 2026-10-18 09:35:08 -07:00
abituguru.c hwmon: fix typos in comments 2026-10-18 09:35:06 -07:00
abituguru3.c hwmon: Switch back to struct platform_driver::remove() 2024-11-10 14:48:07 -08:00
acpi_power_meter.c hwmon: (acpi_power_meter) Fix 18.45 TW bug 2026-10-19 13:54:04 -07:00
ad7314.c hwmon: (ad7314) Validate leading zero bits and return error 2025-03-02 08:42:01 -08:00
ad7414.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ad7418.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
adc128d818.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
adcxx.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
adm1025.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
adm1026.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
adm1029.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
adm1031.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
adm1177.c hwmon: fix typos in comments 2026-10-18 09:35:06 -07:00
adm9240.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ads7828.c hwmon: (ads7828) Fix external VREF regulator handling 2026-08-06 22:37:44 -07:00
ads7871.c hwmon: (ads7871) Use DMA-safe buffer for SPI writes 2026-06-09 08:22:57 -07:00
adt7x10.c hwmon: fix typos in comments 2026-10-18 09:35:06 -07:00
adt7x10.h hwmon: (adt7x10) Switch to EXPORT_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-09-25 14:22:12 -07:00
adt7310.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
adt7410.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
adt7411.c hwmon: (adt7411) Use scoped_guard() to acquire the subsystem lock 2026-06-09 08:23:00 -07:00
adt7462.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
adt7470.c hwmon: (adt7470) Add thermal zone sensor support 2026-08-10 08:59:43 -07:00
adt7475.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
aht10.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
amc6821.c hwmon updates for v7.2 2026-06-16 08:10:21 +05:30
applesmc.c hwmon: (applesmc) fix key backlight workqueue leak on register failure 2026-09-07 07:22:19 -07:00
aquacomputer_d5next.c hwmon: (aquacomputer_d5next) Rely on subsystem locking 2025-10-17 07:18:15 -07:00
arctic_fan_controller.c hwmon: (arctic_fan_controller) Dual-license GPL-2.0-or-later OR BSD-2-Clause 2026-10-18 09:35:07 -07:00
as370-hwmon.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
asb100.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
asc7621.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
aspeed-g6-pwm-tach.c hwmon: (aspeed-g6-pwm-tach) Guard fan RPM calculation against divide-by-zero 2026-06-29 16:37:43 -07:00
aspeed-pwm-tacho.c hwmon: (aspeed-pwm-tacho) Propagate reset deassert errors 2026-09-09 18:16:35 -07:00
asus_atk0110.c hwmon: use named initializers for acpi_device_id 2026-10-18 09:35:07 -07:00
asus_rog_ryujin.c hwmon: (asus_rog_ryujin) Add ROG Ryujin III 360 2026-10-18 09:35:06 -07:00
asus_wmi_sensors.c hwmon: (asus_wmi_sensors) Fix info[] allocation type 2026-10-18 09:35:08 -07:00
asus-ec-sensors.c hwmon: (asus-ec-sensors) add ROG STRIX Z490-A GAMING 2026-10-18 09:35:06 -07:00
atxp1.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
axi-fan-control.c hwmon: (axi-fan-control) Remove redundant dev_err_probe() 2026-08-10 08:59:41 -07:00
axiado-pwm-fan.c hwmon: add Axiado AX3000 and AX3005 PWM fan controller driver 2026-10-18 09:35:08 -07:00
axiado-tsadc.c hwmon: Add driver for AX3000/AX3005 TSADC 2026-10-18 09:35:07 -07:00
cgbc-hwmon.c hwmon: (cgbc-hwmon) Add missing sensors 2026-09-13 21:19:48 -07:00
chipcap2.c hwmon: (chipcap2) fix channels in humidity alarm notifications 2026-09-09 18:16:28 -07:00
coretemp.c hwmon: (coretemp) Fix handling of isolated SMT siblings 2026-10-19 05:45:47 -07:00
corsair-cpro.c hwmon: (corsair-cpro) Make wait_input_report_lock IRQ safe 2026-10-18 09:32:57 -07:00
corsair-psu.c hwmon: (corsair-psu) Update documentation 2026-08-10 08:59:43 -07:00
cros_ec_hwmon.c hwmon: (cros_ec) Avoid threshold temperature conversion overflows 2026-08-10 08:59:43 -07:00
da9052-hwmon.c hwmon: Switch back to struct platform_driver::remove() 2024-11-10 14:48:07 -08:00
da9055-hwmon.c hwmon: (da9055) Remove redundant dev_err() 2026-08-10 08:59:41 -07:00
dell-smm-hwmon.c hwmon: (dell-smm) Add Dell 16 DC16250 to fan control whitelist 2026-10-18 09:35:08 -07:00
dme1737.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
drivetemp.c scsi: core: Convert INQUIRY information 2026-05-22 21:49:05 -04:00
ds620.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ds1621.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
eic7700-pvt.c hwmon: Add Eswin EIC7700 PVT sensor driver 2026-08-10 08:59:40 -07:00
eic7700-pvt.h hwmon: Add Eswin EIC7700 PVT sensor driver 2026-08-10 08:59:40 -07:00
emc6w201.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
emc1403.c hwmon: (emc1403) Drop hysteresis for low limit temperature 2026-08-16 14:40:33 -07:00
emc1812.c hwmon: temperature: add support for EMC1812 2026-06-10 12:49:57 -07:00
emc2103.c hwmon: fix typos in comments 2026-10-18 09:35:06 -07:00
emc2305.c hwmon updates for v7.2 2026-06-16 08:10:21 +05:30
f71805f.c hwmon: Switch back to struct platform_driver::remove() 2024-11-10 14:48:07 -08:00
f71882fg.c hwmon: (f71882fg) Add F81968 support 2026-01-31 07:38:32 -08:00
f75375s.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
fam15h_power.c treewide: Explicitly include the x86 CPUID headers 2026-05-06 14:29:59 +02:00
fschmd.c hwmon: Replace __MODULE_STRING() with __stringify() 2026-10-18 09:35:08 -07:00
ftsteutates.c hwmon: (ftsteutates) serialise the watchdog and sensors 2026-10-20 15:41:23 -07:00
g760a.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
g762.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
gigabyte_waterforce.c hwmon: (gigabyte_waterforce) reject short input reports 2026-10-19 05:48:34 -07:00
gl518sm.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
gl520sm.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
gpd-fan.c hwmon: (gpd-fan) Reject EC PWM value 0 as invalid 2026-06-10 22:07:17 -07:00
gpio-fan.c hwmon: (gpio-fan) return IRQ_HANDLED from the shared alarm IRQ handler 2026-09-14 08:24:55 -07:00
gsc-hwmon.c hwmon: (gsc-hwmon) fix fan pwm setpoint show functions 2025-07-20 16:37:09 -07:00
gxp-fan-ctrl.c hwmon: (gxp_fan_ctrl) Provide fan info via gpio 2026-08-10 08:59:42 -07:00
hih6130.c hwmon: (hih6130) Replace sprintf() with sysfs_emit() 2026-10-18 09:35:07 -07:00
honor-fmi.c hwmon: Add fan monitoring support for HONOR FMI-XX 2026-10-18 09:35:05 -07:00
hp-wmi-sensors.c hwmon: (hp-wmi-sensors) Fix info_map[] allocation type 2026-10-18 09:35:08 -07:00
hs3001.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
htu31.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
hwmon-vid.c hwmon: Stop using 32-bit MSR interfaces 2026-07-03 11:33:59 +02:00
hwmon.c hwmon: (core) Add support for currX_emergency and inX_[l]emergency attributes 2026-10-18 09:35:05 -07:00
i5k_amb.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
i5500_temp.c hwmon: (i5500_temp) Drop unnecessary include files 2025-10-17 07:18:15 -07:00
ibmaem.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ibmpex.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
ibmpowernv.c hwmon: (ibmpowernv) Replace deprecated strncpy() with memcpy() 2023-09-29 14:48:31 -07:00
iio_hwmon.c Linux 7.2-rc2 2026-07-06 16:59:47 +01:00
ina2xx.c hwmon: (ina2xx) Decouple in0 and curr1 alarms 2026-09-07 07:22:19 -07:00
ina209.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ina238.c hwmon: (ina238) Add update_interval_us attribute 2026-06-09 13:48:19 -07:00
ina3221.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
intel-m10-bmc-hwmon.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
isl28022.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
it87.c hwmon: (it87) add IT8613E support 2026-10-18 09:35:06 -07:00
jc42.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
k8temp.c treewide: Explicitly include the x86 CPUID headers 2026-05-06 14:29:59 +02:00
k10temp.c hwmon: (k10temp) Add support for 1ah/80h 2026-10-18 09:35:07 -07:00
kb9002.c hwmon: (kb9002) Add driver for Kandou KB9002 retimer 2026-08-10 08:59:42 -07:00
kbatt.c hwmon: Add KEBA battery monitoring controller support 2025-04-23 07:18:27 -07:00
Kconfig hwmon: add Axiado AX3000 and AX3005 PWM fan controller driver 2026-10-18 09:35:08 -07:00
kfan.c hwmon: Add KEBA fan controller support 2025-05-12 18:05:54 -07:00
lan966x-hwmon.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
lattepanda-sigma-ec.c hwmon: Add LattePanda Sigma EC driver 2026-03-30 19:45:05 -07:00
lenovo-ec-sensors.c hwmon: (lenovo-ec-sensors): Fix EC "MCHP" signature validation logic 2026-05-21 06:48:19 -07:00
lineage-pem.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
lm63.c hwmon: (lm63) Add Sensylink CTF2301 support 2026-10-18 09:35:07 -07:00
lm70.c hwmon: (lm70) Fix rounding of negative temperatures 2026-09-24 16:24:47 -07:00
lm73.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
lm75.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
lm75.h hwmon: (lm75) Replace kernel.h with the necessary inclusions 2022-07-13 08:38:19 -07:00
lm77.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
lm78.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
lm80.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
lm83.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
lm85.c hwmon: fix typos in comments 2026-10-18 09:35:06 -07:00
lm87.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
lm90.c hwmon: (lm90) Reject channel 2 on chips with only one remote sensor 2026-10-18 09:35:06 -07:00
lm92.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
lm93.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
lm95234.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
lm95241.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
lm95245.c hwmon: (lm95245) Fix negative temperature conversion 2026-09-24 16:24:34 -07:00
lochnagar-hwmon.c hwmon: (lochnagar-hwmon) Rely on subsystem locking 2025-10-17 07:18:10 -07:00
ltc2945.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ltc2947-core.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
ltc2947-i2c.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ltc2947-spi.c hwmon: (ltc2947) Switch to EXPORT_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-09-25 14:22:12 -07:00
ltc2947.h
ltc2990.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ltc2991.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ltc2992.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ltc4151.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ltc4215.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ltc4222.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ltc4245.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ltc4260.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ltc4261.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
ltc4282.c hwmon: (ltc4282) Make sure clk_init_data is fully initialized 2026-09-07 07:22:18 -07:00
ltc4283.c hwmon: (pmbus/ltc4283) Add missing MODULE_DEVICE_TABLE for OF match table 2026-08-10 08:59:42 -07:00
ltq-cputemp.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
macsmc-hwmon.c hwmon: (macsmc) Fix overflows, underflows, and sign extension 2026-02-22 15:48:30 -08:00
Makefile hwmon: add Axiado AX3000 and AX3005 PWM fan controller driver 2026-10-18 09:35:08 -07:00
max127.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
max197.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
max1111.c ARM: pxa: fix missing-prototypes warnings 2023-05-26 13:33:05 +02:00
max1619.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
max1668.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
max6620.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
max6621.c hwmon: (max6621) fix negative temperature offset and crit readings 2026-08-16 14:40:33 -07:00
max6639.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
max6650.c hwmon updates for v7.2 2026-06-16 08:10:21 +05:30
max6697.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
max16065.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
max31722.c hwmon: (max31722) Replace sprintf() with sysfs_emit() 2026-03-30 19:45:05 -07:00
max31730.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
max31760.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
max31790.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
max31827.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
max77705-hwmon.c hwmon: (max77705) Add initial support 2025-04-23 07:21:15 -07:00
mc33xs2410_hwmon.c hwmon: add support for MC33XS2410 hardware monitoring 2025-07-24 09:20:39 +02:00
mc34vr500.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
mc13783-adc.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
mcp3021.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
mcp9982.c hwmon: (mcp9982) Update the interval cache only after successful writes 2026-10-19 13:15:24 -07:00
menf21bmc_hwmon.c
minisforum-um780xtx.c hwmon: Add Minisforum UM780 XTX EC monitoring and fan control 2026-10-18 09:35:06 -07:00
mlxreg-fan.c hwmon: Use non-OF thermal cooling device registration API 2026-06-03 09:12:45 +02:00
mr75203.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
nct6683.c hwmon: (nct6683) Add support for ASRock Z890 Pro-A 2026-06-09 08:23:09 -07:00
nct6694-hwmon.c hwmon: (nct6694) do not expose enable on DTIN temperature channels 2026-09-09 18:16:35 -07:00
nct6775-core.c hwmon: (nct6775) Add support for NCT6126D 2026-10-18 09:35:07 -07:00
nct6775-i2c.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
nct6775-platform.c hwmon: (nct6775) Add support for NCT6122D 2026-10-18 09:35:07 -07:00
nct6775.h hwmon: (nct6775) Add support for NCT6126D 2026-10-18 09:35:07 -07:00
nct7363.c hwmon: (nct7363) Fix a resource leak in nct7363_present_pwm_fanin 2026-01-31 07:38:32 -08:00
nct7802.c hwmon: (nct7802) Add time step attributes for tweaking responsiveness 2026-06-09 08:23:00 -07:00
nct7904.c hwmon: (nct7904) serialise the watchdog and sensors 2026-10-20 15:41:30 -07:00
npcm750-pwm-fan.c hwmon: (npcm750-pwm-fan) serialize PWM register updates 2026-10-20 15:41:38 -07:00
nsa320-hwmon.c hwmon: Move MODULE_DEVICE_TABLE next to the table itself 2026-06-09 08:22:57 -07:00
ntc_thermistor.c Linux 7.2-rc2 2026-07-06 16:59:47 +01:00
nzxt-kraken2.c hwmon: (nzxt-kraken2) Simplify specifying static visibility attribute 2024-11-10 14:48:06 -08:00
nzxt-kraken3.c hwmon: (nzxt-kraken3) Add support for NZXT Kraken 2024 Elite 2026-08-10 08:59:42 -07:00
nzxt-smart2.c hwmon: (nzxt-smart2) Check return value of init_device() in probe 2026-08-04 14:07:58 -07:00
pc87360.c hwmon: Switch back to struct platform_driver::remove() 2024-11-10 14:48:07 -08:00
pc87427.c hwmon: Switch back to struct platform_driver::remove() 2024-11-10 14:48:07 -08:00
pcf8591.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
powerz.c hwmon: (powerz) Avoid cacheline sharing for DMA buffer 2026-04-10 08:33:08 -07:00
powr1220.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
prom21-xhci.c hwmon: add AMD Promontory 21 xHCI temperature sensor support 2026-05-21 16:48:41 +02:00
pt5161l.c hwmon: use named initializers for acpi_device_id 2026-10-18 09:35:07 -07:00
pwm-fan.c hwmon: (pwm-fan) Add const to channels allocation type 2026-10-18 09:35:08 -07:00
qnap-mcu-hwmon.c thermal/of: Rename the devm_thermal_of_cooling_device_register() function 2026-06-03 09:12:53 +02:00
raspberrypi-hwmon.c hwmon: (raspberrypi) Fix delayed-work teardown race 2026-06-09 08:23:05 -07:00
sbtsi_temp.c hwmon: Add mutex protecting for sbtsi read/write through hwmon 2026-07-17 15:50:48 +02:00
sch56xx-common.c hwmon: Replace __MODULE_STRING() with __stringify() 2026-10-18 09:35:08 -07:00
sch56xx-common.h hwmon: (sch5627) Remove unused declaration sch56xx_watchdog_unregister() 2024-08-27 08:10:23 -07:00
sch5627.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
sch5636.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
scmi-hwmon.c hwmon: (scmi) Fix info[] allocation type 2026-10-18 09:35:08 -07:00
scpi-hwmon.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
sfctemp.c hwmon: (sfctemp) Rely on subsystem locking 2025-10-17 07:18:10 -07:00
sg2042-mcu.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
sht3x.c hwmon: (sht3x) Return the consumed count for heater writes 2026-10-19 13:15:33 -07:00
sht4x.c hwmon: (sht4x) Add support for Sensirion STS4x temperature sensors 2026-10-18 09:35:06 -07:00
sht15.c hwmon: (sht15) Remove redundant dev_err() 2026-08-10 08:59:42 -07:00
sht21.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
shtc1.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
sis5595.c hwmon: Switch back to struct platform_driver::remove() 2024-11-10 14:48:07 -08:00
sl28cpld-hwmon.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
smpro-hwmon.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
smsc47b397.c
smsc47m1.c hwmon: Switch back to struct platform_driver::remove() 2024-11-10 14:48:07 -08:00
smsc47m192.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
socfpga-hwmon.c hwmon: (socfpga) add Agilex 5 channel mapping 2026-10-18 09:35:07 -07:00
sparx5-temp.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
spd5118.c hwmon: (spd5118) Avoid probing when 16-bit addressing is enabled 2026-10-18 09:35:06 -07:00
stts751.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
surface_fan.c hwmon: (surface_fan) Simplify specifying static visibility attribute 2024-11-10 14:48:06 -08:00
surface_temp.c hwmon: Add thermal sensor driver for Surface Aggregator Module 2024-08-27 08:10:23 -07:00
sy7636a-hwmon.c hwmon: sy7636a: Fix regulator_enable resource leak on error path 2025-11-26 09:03:15 -08:00
tc74.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
tc654.c hwmon updates for v7.2 2026-06-16 08:10:21 +05:30
thmc50.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
tmp102.c hwmon: (tmp102) Fix jiffies wraparound in conversion-ready check 2026-09-25 20:25:46 -07:00
tmp103.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
tmp108.c hwmon: (tmp108) Fix jiffies wraparound in conversion-ready check 2026-09-25 20:26:30 -07:00
tmp401.c hwmon: (tmp401) register with thermal subsystem 2026-08-10 08:59:41 -07:00
tmp421.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
tmp464.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
tmp513.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
tps23861.c hwmon: (tps23861) Use per-client debugfs entry 2025-02-02 17:34:06 -08:00
tsc1641.c hwmon: Drop unused i2c driver_data 2026-06-09 08:22:59 -07:00
tvs-mpfs.c hwmon: Driver for the temp/voltage sensor on PolarFire SoC 2026-08-10 08:59:40 -07:00
ultra45_env.c hwmon: Switch back to struct platform_driver::remove() 2024-11-10 14:48:07 -08:00
vexpress-hwmon.c hwmon: (vexpress) Use of_property_present() 2024-08-27 08:10:11 -07:00
via-cputemp.c x86/msr: Switch rdmsr_safe_on_cpu() users to rdmsrq_safe_on_cpu() 2026-06-08 10:01:49 +02:00
via686a.c hwmon: Switch back to struct platform_driver::remove() 2024-11-10 14:48:07 -08:00
vt1211.c hwmon: (vt1211) Convert macros to functions to avoid TOCTOU 2025-11-21 07:50:18 -08:00
vt8231.c hwmon: (vt8231) Convert macros to functions to avoid TOCTOU 2025-11-24 11:47:45 -08:00
w83l785ts.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
w83l786ng.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
w83627ehf.c hwmon: (w83627ehf) make the read-only arrays 'bit' static const 2025-07-20 16:38:34 -07:00
w83627hf.c hwmon: (w83627hf) remove VID sysfs files on error and remove 2026-06-29 13:36:48 -07:00
w83773g.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
w83781d.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
w83791d.c hwmon: (w83791d) remove fan/pwm 4-5 sysfs group on remove 2026-09-14 08:30:01 -07:00
w83792d.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
w83793.c hwmon: Replace __MODULE_STRING() with __stringify() 2026-10-18 09:35:08 -07:00
w83795.c hwmon: Use named initializers for arrays of i2c_device_data 2026-06-09 08:22:59 -07:00
wm831x-hwmon.c
wm8350-hwmon.c
xgene-hwmon.c hwmon: use named initializers for acpi_device_id 2026-10-18 09:35:07 -07:00
yogafan.c hwmon: (yogafan) Add support for new Lenovo models 2026-10-18 09:35:06 -07:00