linux/drivers/hwmon
Armin Wolf a54fe61639 hwmon: (sch5627) Use regmap for pwm map register caching
Accessing virtual registers is very inefficient, so pwm map values
should be cached when possible, else userspace could effectively do
a DOS attack by reading pwm map values in a while loop.
Use the regmap cache to cache those values.

Tested on a Fujitsu Esprimo P720.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20230907052639.16491-4-W_Armin@gmx.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2023-10-27 07:27:24 -07:00
..
occ hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
peci Char/Misc driver changes for 6.6-rc1 2023-09-01 09:53:54 -07:00
pmbus hwmon: (pmbus/tda38640) Add workaround for SVID mode 2023-10-27 07:27:23 -07:00
abituguru3.c hwmon: (abitguru3) Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-09-25 14:22:11 -07:00
abituguru.c hwmon: (abitguru) Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-09-25 14:22:11 -07:00
acpi_power_meter.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
ad7314.c
ad7414.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ad7418.c hwmon: (ad7418) fix Wvoid-pointer-to-enum-cast warning 2023-08-21 06:04:30 -07:00
adc128d818.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
adcxx.c
adm1021.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
adm1025.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
adm1026.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
adm1029.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
adm1031.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
adm1177.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
adm9240.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ads7828.c hwmon: (ads7828) fix Wvoid-pointer-to-enum-cast warning 2023-08-21 06:04:30 -07:00
ads7871.c
adt7x10.c hwmon: adt7x10: constify pointers to hwmon_channel_info 2023-04-19 07:08:34 -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 hwmon: (adt7x10) Switch to EXPORT_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-09-25 14:22:12 -07:00
adt7410.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
adt7411.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
adt7462.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
adt7470.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
adt7475.c hwmon: (adt7475) fix Wvoid-pointer-to-enum-cast warning 2023-08-21 06:04:30 -07:00
aht10.c hwmon: (aht10) Add support for compatible aht20 2023-06-08 06:41:18 -07:00
amc6821.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
applesmc.c
aquacomputer_d5next.c hwmon: (aquacomputer_d5next) Add selective 200ms delay after sending ctrl report 2023-08-09 21:09:47 -07:00
as370-hwmon.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
asb100.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
asc7621.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
aspeed-pwm-tacho.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
asus_atk0110.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
asus_wmi_sensors.c
asus-ec-sensors.c hwmon: (asus-ec-sensosrs) fix mutex path for X670E Hero 2023-08-21 06:04:12 -07:00
atxp1.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
axi-fan-control.c hwmon: (axi-fan-control) Fix possible NULL pointer dereference 2023-10-25 11:56:22 -07:00
bt1-pvt.c hwmon: (bt1-pvt) Convert to devm_platform_ioremap_resource() 2023-08-21 06:04:29 -07:00
bt1-pvt.h
coretemp.c hwmon: (coretemp) Fix potentially truncated sysfs attribute name 2023-10-25 11:57:54 -07:00
corsair-cpro.c hwmon: corsair: constify pointers to hwmon_channel_info 2023-04-19 07:08:35 -07:00
corsair-psu.c hwmon: (corsair-psu) update Series 2022 and 2023 support 2023-06-24 08:47:29 -07:00
da9052-hwmon.c
da9055-hwmon.c
dell-smm-hwmon.c hwmon: dell-smm: constify pointers to hwmon_channel_info 2023-04-19 07:08:35 -07:00
dme1737.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
drivetemp.c Driver core changes for 6.4-rc1 2023-04-27 11:53:57 -07:00
ds620.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ds1621.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
emc6w201.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
emc1403.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
emc2103.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
emc2305.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
f71805f.c
f71882fg.c hwmon: (f71882fg) prevent possible division by zero 2023-05-19 05:59:37 -07:00
f75375s.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
fam15h_power.c
fschmd.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ftsteutates.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
g760a.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
g762.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
gl518sm.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
gl520sm.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
gpio-fan.c hwmon: (gpio-fan) drop of_match_ptr for ID table 2023-04-19 07:08:31 -07:00
gsc-hwmon.c hwmon: (gsc-hwmon) fix fan pwm temperature scaling 2023-06-08 06:35:52 -07:00
gxp-fan-ctrl.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
hih6130.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
hp-wmi-sensors.c hwmon: (hp-wmi-sensors) Initialize pevents in hp_wmi_sensors_init() 2023-08-21 06:04:30 -07:00
hs3001.c hwmon: Add driver for Renesas HS3001 2023-08-21 06:04:30 -07:00
hwmon-vid.c
hwmon.c hwmon: (core) Finish renaming groups parameter in API to extra_groups 2023-06-08 06:41:18 -07:00
i5k_amb.c
i5500_temp.c hwmon: i5500_temp: constify pointers to hwmon_channel_info 2023-04-19 07:08:35 -07:00
ibmaem.c
ibmpex.c hwmon: ibmpex: remove unnecessary (void*) conversions 2023-02-03 07:30:10 -08:00
ibmpowernv.c hwmon: (ibmpowernv, pwm-fan) Use of_property_present() for testing DT property presence 2023-04-19 07:08:31 -07:00
iio_hwmon.c hwmon: (iio_hwmon) use dev_err_probe 2023-02-03 07:30:11 -08:00
ina2xx.c hwmon: (ina2xx) fix Wvoid-pointer-to-enum-cast warning 2023-08-21 06:04:30 -07:00
ina209.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ina238.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ina3221.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
intel-m10-bmc-hwmon.c mfd: intel-m10-bmc: Move m10bmc_sys_read() away from header 2023-06-15 09:19:36 +01:00
it87.c hwmon: (it87) Add support to detect sensor type AMDTSI 2023-08-21 06:04:29 -07:00
jc42.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
k8temp.c hwmon: k8temp: constify pointers to hwmon_channel_info 2023-04-19 07:08:36 -07:00
k10temp.c hwmon: (k10temp) Add thermal support for AMD Family 1Ah-based models 2023-08-10 14:23:57 +02:00
Kconfig hwmon: (sch5627) Use regmap for pwm map register caching 2023-10-27 07:27:24 -07:00
lan966x-hwmon.c hwmon: (lan966x) Use the devm_clk_get_enabled() helper function 2023-08-21 06:04:29 -07:00
lineage-pem.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
lm63.c hwmon: (lm63) fix Wvoid-pointer-to-enum-cast warning 2023-08-21 06:04:30 -07:00
lm70.c
lm73.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
lm75.c hwmon: (lm75) fix Wvoid-pointer-to-enum-cast warning 2023-08-21 06:04:30 -07:00
lm75.h
lm77.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
lm78.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
lm80.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
lm83.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
lm85.c hwmon: (lm85) fix Wvoid-pointer-to-enum-cast warning 2023-08-21 06:04:30 -07:00
lm87.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
lm90.c hwmon: (lm90) fix Wvoid-pointer-to-enum-cast warning 2023-08-21 06:04:30 -07:00
lm92.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
lm93.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
lm95234.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
lm95241.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
lm95245.c hwmon: (lm95245) Use maple tree register cache 2023-06-10 07:37:02 -07:00
lochnagar-hwmon.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
ltc2945.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ltc2947-core.c hwmon: ltc2947: constify pointers to hwmon_channel_info 2023-04-19 07:08:36 -07:00
ltc2947-i2c.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -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: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ltc2992.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ltc4151.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ltc4215.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ltc4222.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ltc4245.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ltc4260.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ltc4261.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
ltq-cputemp.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
Makefile hwmon: add POWER-Z driver 2023-10-27 07:27:23 -07:00
max127.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
max197.c
max1111.c ARM: pxa: fix missing-prototypes warnings 2023-05-26 13:33:05 +02:00
max1619.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
max1668.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
max6620.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
max6621.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
max6639.c hwmon: (max6639) Add compatible string 2023-08-21 06:04:30 -07:00
max6642.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
max6650.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
max6697.c hwmon: (max6697) fix Wvoid-pointer-to-enum-cast warning 2023-08-21 06:04:31 -07:00
max16065.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
max31722.c hwmon: (max31722) Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-09-25 14:22:12 -07:00
max31730.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
max31760.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
max31790.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
max31827.c hwmon: max31827: Switch back to use struct i2c_driver::probe 2023-06-26 06:45:54 -07:00
mc34vr500.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
mc13783-adc.c
mcp3021.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
menf21bmc_hwmon.c
mlxreg-fan.c hwmon: (mlxreg-fan) Extend number of supported fans 2023-08-25 07:43:04 -07:00
mr75203.c hwmon: Include <linux/kstrtox.h> when appropriate 2022-12-04 16:45:02 -08:00
nct6683.c hwmon: (nct6683) Add another customer ID for NCT6687D sensor chip on some MSI boards. 2023-06-08 06:41:17 -07:00
nct6775-core.c hwmon: (nct6775) Fix incorrect variable reuse in fan_div calculation 2023-10-25 12:52:57 -07:00
nct6775-i2c.c hwmon: (nct6755) Add support for NCT6799D 2023-06-17 20:50:30 -07:00
nct6775-platform.c hwmon: (nct6775) Change labels for nct6799 2023-08-21 06:04:29 -07:00
nct6775.h hwmon: (nct6775) Additional TEMP registers for nct6799 2023-08-21 06:04:30 -07:00
nct7802.c hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled 2023-07-24 07:01:40 -07:00
nct7904.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
npcm750-pwm-fan.c hwmon: npcm750-pwm: constify pointers to hwmon_channel_info 2023-04-19 07:08:37 -07:00
nsa320-hwmon.c hwmon: (nsa320-hwmon) Remove redundant of_match_ptr() 2023-08-21 06:04:31 -07:00
ntc_thermistor.c hwmon: ntc_thermistor: constify pointers to hwmon_channel_info 2023-04-19 07:08:37 -07:00
nzxt-kraken2.c hwmon: nzxt: constify pointers to hwmon_channel_info 2023-04-19 07:08:37 -07:00
nzxt-smart2.c hwmon: nzxt: constify pointers to hwmon_channel_info 2023-04-19 07:08:37 -07:00
oxp-sensors.c hwmon: (oxp-sensors) Move board detection to the init function 2023-08-21 06:04:29 -07:00
pc87360.c hwmon: (pc87360) Reorder symbols to get rid of a few forward declarations 2022-09-25 14:22:11 -07:00
pc87427.c
pcf8591.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
powerz.c hwmon: add POWER-Z driver 2023-10-27 07:27:23 -07:00
powr1220.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
pwm-fan.c hwmon: (pwm-fan) set usage_power on PWM state 2023-04-19 07:08:33 -07:00
raspberrypi-hwmon.c hwmon: raspberrypi: constify pointers to hwmon_channel_info 2023-04-19 07:08:38 -07:00
sbrmi.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
sbtsi_temp.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
sch56xx-common.c hwmon: (sch5627) Use regmap for pwm map register caching 2023-10-27 07:27:24 -07:00
sch56xx-common.h hwmon: (sch5627) Use regmap for pwm map register caching 2023-10-27 07:27:24 -07:00
sch5627.c hwmon: (sch5627) Use regmap for pwm map register caching 2023-10-27 07:27:24 -07:00
sch5636.c
scmi-hwmon.c thermal: Add a thermal zone id accessor 2023-03-03 20:45:02 +01:00
scpi-hwmon.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
sfctemp.c hwmon: (sfctemp) Simplify error message 2023-04-19 07:08:40 -07:00
sht3x.c hwmon: (sht3x) convert some of sysfs interface to hwmon 2023-08-21 06:04:30 -07:00
sht4x.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
sht15.c hwmon: (sht15,sht21) fix kernel-doc warnings 2023-02-03 07:30:10 -08:00
sht21.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
shtc1.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
sis5595.c hwmon: (sis5595) Do PCI error checks on own line 2023-08-25 06:20:53 -07:00
sl28cpld-hwmon.c hwmon: sl28cpld: constify pointers to hwmon_channel_info 2023-04-19 07:08:38 -07:00
smpro-hwmon.c hwmon: smpro: constify pointers to hwmon_channel_info 2023-04-19 07:08:38 -07:00
smsc47b397.c
smsc47m1.c
smsc47m192.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
sparx5-temp.c hwmon: sparx5-temp: constify pointers to hwmon_channel_info 2023-04-19 07:08:38 -07:00
stts751.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
sy7636a-hwmon.c hwmon: sy7636a: constify pointers to hwmon_channel_info 2023-04-19 07:08:38 -07:00
tc74.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
tc654.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
thmc50.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
tmp102.c hwmon: (tmp102) Use maple tree register cache 2023-06-10 07:37:02 -07:00
tmp103.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
tmp108.c hwmon: (tmp108) Use maple tree register cache 2023-06-10 07:37:02 -07:00
tmp401.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
tmp421.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
tmp464.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
tmp513.c hwmon: tmp513: Simplify tmp51x_read_properties() 2023-10-27 07:27:23 -07:00
tps23861.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
ultra45_env.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
vexpress-hwmon.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
via686a.c hwmon: (via686a) Do PCI error checks on own line 2023-08-25 06:18:09 -07:00
via-cputemp.c
vt1211.c hwmon: remove unused superio_outb function 2023-04-19 07:08:33 -07:00
vt8231.c hwmon: (vt8231) Do PCI error checks on own line 2023-08-25 06:19:29 -07:00
w83l785ts.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
w83l786ng.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
w83627ehf.c hwmon: w83627ehf: constify pointers to hwmon_channel_info 2023-04-19 07:08:39 -07:00
w83627hf.c hwmon: w83627hf: Reorder symbols to get rid of a few forward declarations 2022-09-26 15:21:33 -07:00
w83773g.c hwmon: Explicitly include correct DT includes 2023-08-21 06:04:29 -07:00
w83781d.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
w83791d.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
w83792d.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
w83793.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
w83795.c hwmon: Switch i2c drivers back to use .probe() 2023-06-08 06:41:17 -07:00
wm831x-hwmon.c
wm8350-hwmon.c
xgene-hwmon.c hwmon: (xgene) Fix ioremap and memremap leak 2023-03-21 07:50:24 -07:00