linux-stable/drivers/hwmon
Samu Nuutamo 89148bf73d hwmon: (da9052) Synchronize access with mfd
[ Upstream commit 333e22db22 ]

When tsi-as-adc is configured it is possible for in7[0123]_input read to
return an incorrect value if a concurrent read to in[456]_input is
performed. This is caused by a concurrent manipulation of the mux
channel without proper locking as hwmon and mfd use different locks for
synchronization.

Switch hwmon to use the same lock as mfd when accessing the TSI channel.

Fixes: 4f16cab19a ("hwmon: da9052: Add support for TSI channel")
Signed-off-by: Samu Nuutamo <samu.nuutamo@vincit.fi>
[rebase to current master, reword commit message slightly]
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-05-20 08:18:44 +02:00
..
pmbus hwmon: (pmbus/ltc2978) Fix PMBus polling of MFR_COMMON definitions. 2020-02-19 19:51:59 +01:00
ab8500.c
abituguru.c
abituguru3.c
abx500.c
abx500.h
acpi_power_meter.c hwmon: (acpi_power_meter) Change log level for 'unsafe software power cap' 2019-10-05 13:09:54 +02:00
ad7314.c hwmon: (ad7314) Convert to devm_hwmon_device_register_with_groups 2016-06-27 18:58:03 -07:00
ad7414.c hwmon: (ad7414) Add OF device ID table 2017-04-02 07:01:53 -07:00
ad7418.c
adc128d818.c hwmon: (adc128d818) constify attribute_group structures. 2017-08-13 08:24:38 -07:00
adcxx.c
adm1021.c hwmon: (adm1021) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adm1025.c hwmon: (adm1025) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adm1026.c hwmon: (adm1026) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adm1029.c
adm1031.c hwmon: (adm1031) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adm9240.c hwmon: (adm9240) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
ads1015.c hwmon: (ads1015) Convert to using %pOF instead of full_name 2017-08-13 08:24:38 -07:00
ads7828.c hwmon: (ads7828) Accept optional parameters from device tree 2017-04-02 07:01:53 -07:00
ads7871.c hwmon: (ads7871) Convert to devm_hwmon_device_register_with_groups 2016-06-27 18:58:03 -07:00
adt7x10.c hwmon: (adt7x10) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adt7x10.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
adt7310.c
adt7410.c
adt7411.c hwmon: (adt7411) add min, max and alarm attributes 2017-01-02 10:19:45 -08:00
adt7462.c hwmon: (adt7462) Fix an error return in ADT7462_REG_VOLT() 2020-03-11 14:15:12 +01:00
adt7470.c hwmon: (adt7470) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adt7475.c hwmon: (adt7475) Make volt2reg return same reg as reg2volt input 2020-01-29 16:43:18 +01:00
amc6821.c hwmon: (amc6821) sign extension temperature 2016-12-02 13:28:04 -08:00
applesmc.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
asb100.c hwmon: (asb100) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
asc7621.c hwmon: (asc7621) remove redundant assignment to newval 2017-10-29 18:36:03 -07:00
aspeed-pwm-tacho.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
asus_atk0110.c hwmon: (asus_atk0110) Make use of device managed memory 2018-06-01 09:38:36 -07:00
atxp1.c hwmon: (atxp1) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
coretemp.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
da9052-hwmon.c hwmon: (da9052) Synchronize access with mfd 2020-05-20 08:18:44 +02:00
da9055-hwmon.c
dell-smm-hwmon.c hwmon: (dell-smm) Disable fan support for Dell XPS13 9333 2018-06-16 16:40:36 -07:00
dme1737.c hwmon: (dme1737) Fix overflows seen when writing into limit attributes 2017-01-10 08:57:55 -08:00
ds620.c hwmon: (ds620) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
ds1621.c hwmon: (ds1621) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
emc6w201.c hwmon: (emcw201) Fix overflows seen when writing into limit attributes 2016-12-12 11:33:44 -08:00
emc1403.c hwmon: Mark expected switch fall-throughs 2018-07-08 20:08:13 -07:00
emc2103.c hwmon: (emc2103) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
f71805f.c hwmon: (f71805f) Use request_muxed_region for Super-IO accesses 2019-05-31 06:46:22 -07:00
f71882fg.c hwmon: (f71882fg) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
f75375s.c
fam15h_power.c hwmon: (fam15h_power) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
fschmd.c hwmon: (fschmd) fix typo 'can by' to 'can be' 2018-05-21 07:51:59 -07:00
ftsteutates.c hwmon: (ftsteutates) constify i2c_device_id 2017-08-29 17:44:23 -07:00
g760a.c hwmon: (g760a) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
g762.c hwmon: (g762) handle cleanup with devm_add_action 2018-03-10 19:00:14 -08:00
gl518sm.c hwmon: (gl518sm) Fix overflows seen when writing into limit attributes 2017-01-10 08:58:36 -08:00
gl520sm.c hwmon: (gl520sm) Fix overflows and crash seen when writing into limit attributes 2017-01-10 08:59:35 -08:00
gpio-fan.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
hih6130.c hwmon: (hih6130) Fix documentation of struct hih6130 2018-01-02 15:05:34 -08:00
hwmon-vid.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-15 01:15:52 +01:00
hwmon.c hwmon: (core) Do not use device managed functions for memory allocations 2020-01-29 16:43:18 +01:00
i5k_amb.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
i5500_temp.c hwmon: (i5500_temp) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
ibmaem.c
ibmpex.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
ibmpowernv.c hwmon: (ibmpowernv) Remove bogus __init annotations 2018-11-27 16:13:04 +01:00
iio_hwmon.c hwmon: (iio_hwmon) Use devm functions 2018-07-23 11:38:33 -07:00
ina2xx.c hwmon: (ina2xx) Fix current value calculation 2018-12-17 09:24:32 +01:00
ina209.c hwmon: (ina209) Handled signed registers 2017-04-21 12:30:09 -07:00
ina3221.c hwmon: (ina3221) Fix INA3221_CONFIG_MODE macros 2019-11-24 08:21:01 +01:00
it87.c hwmon: (it87) Reapply probe path chip registers settings after resume 2017-08-13 08:24:38 -07:00
jc42.c hwmon: (jc42) Fix name to have no illegal characters 2020-05-02 17:26:00 +02:00
jz4740-hwmon.c hwmon: (jz4740) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
k8temp.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-15 01:15:52 +01:00
k10temp.c hwmon: (k10temp) Support all Family 15h Model 6xh and Model 7xh processors 2019-11-24 08:20:59 +01:00
Kconfig hwmon: (w83773g) Select REGMAP_I2C to fix build error 2019-04-17 08:38:47 +02:00
lineage-pem.c
lm63.c hwmon: (lm63) Add OF device ID table 2017-04-02 07:01:53 -07:00
lm70.c hwmon: (lm70) Add support for TI TMP122/124 2017-01-21 12:26:38 -08:00
lm73.c
lm75.c hwmon: (lm75) Fix write operations for negative temperatures 2020-01-27 14:51:08 +01:00
lm75.h
lm77.c
lm78.c hwmon: (lm78) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lm80.c hwmon: (lm80) Fix missing unlock on error in set_fan_div() 2019-02-23 09:07:26 +01:00
lm83.c hwmon: (lm83) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lm85.c hwmon: (lm85) Add OF device ID table 2017-04-02 07:01:53 -07:00
lm87.c hwmon: (lm87) Add OF device ID table 2017-04-13 06:09:26 -07:00
lm90.c hwmon: (lm90) Add OF device ID table 2017-04-02 07:01:53 -07:00
lm92.c hwmon: (lm92) Add max6635 to lm92_id[] 2018-03-22 09:33:24 -07:00
lm93.c hwmon: (lm93) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lm95234.c hwmon: (lm95234) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lm95241.c hwmon: (lm95241) Update module description to include LM95231 2016-09-13 07:28:01 -07:00
lm95245.c hwmon: (lm95245) Add OF device ID table 2017-04-02 07:01:53 -07:00
ltc2945.c
ltc2990.c hwmon: (ltc2990) support all measurement modes 2018-05-21 07:52:01 -07:00
ltc4151.c hwmon: (ltc4151) Export OF device ID table as module aliases 2017-01-21 08:57:41 -08:00
ltc4215.c
ltc4222.c
ltc4245.c hwmon: (ltc4245) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
ltc4260.c
ltc4261.c
ltq-cputemp.c hwmon: (ltq-cputemp) add cpu temp sensor driver 2017-09-01 07:24:14 -07:00
Makefile ARM: SoC driver updates 2018-08-23 13:52:46 -07:00
max197.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
max1111.c hwmon: (max1111) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
max1619.c hwmon: (max1619) Add dt binding 2017-10-29 18:36:03 -07:00
max1668.c
max6621.c hwmon: (max6621) Inverted if condition in max6621_read() 2017-10-29 18:36:03 -07:00
max6639.c hwmon: (max6639) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
max6642.c
max6650.c hwmon: (max6650) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
max6697.c hwmon: (max6697) Add OF device ID table 2017-04-02 07:01:53 -07:00
max16065.c
max31722.c
max31790.c hwmon: (max31790) Set correct PWM value 2017-03-22 00:18:20 -07:00
mc13783-adc.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
mcp3021.c hwmon: (mcp3021) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
menf21bmc_hwmon.c
mlxreg-fan.c hwmon: (mlxreg-fan) Fix macros for tacho fault reading 2018-12-17 09:24:32 +01:00
nct6683.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
nct6775.c hwmon: (nct6775) Fix names of DIMM temperature sources 2019-11-24 08:21:00 +01:00
nct7802.c hwmon: (nct7802) Fix voltage limits to wrong registers 2020-01-29 16:43:21 +01:00
nct7904.c hwmon: (nct7904) Fix UNSPECIFIED_INT warning 2018-07-08 20:08:13 -07:00
npcm750-pwm-fan.c hwmon: (npcm-750-pwm-fan) Change initial pwm target to 255 2019-11-24 08:21:01 +01:00
nsa320-hwmon.c hwmon: (nsa320) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
ntc_thermistor.c hwmon: (ntc_thermistor) Use devm_hwmon_device_register_with_groups 2016-09-08 21:34:15 -07:00
pc87360.c hwmon: (pc87360) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
pc87427.c hwmon: (pc87427) Use request_muxed_region for Super-IO accesses 2019-05-31 06:46:22 -07:00
pcf8591.c hwmon: (pcf8591) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
powr1220.c
pwm-fan.c hwmon: (pwm-fan) Silence error on probe deferral 2019-11-24 08:21:00 +01:00
raspberrypi-hwmon.c hwmon: (raspberrypi) Fix initial notify 2018-12-17 09:24:31 +01:00
s3c-hwmon.c
sch56xx-common.c hwmon: (sch56xx) Remove unneeded linux/miscdevice.h include 2017-01-02 10:19:45 -08:00
sch56xx-common.h
sch5627.c hwmon: (sch5627) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
sch5636.c hwmon: (sch5636) trivial fix of spelling mistake on revision 2016-04-25 07:26:29 -07:00
scmi-hwmon.c hwmon: (scmi) handle absence of few types of sensors 2018-04-22 19:39:55 -07:00
scpi-hwmon.c hwmon: (scpi) constify thermal_zone_of_device_ops structures 2017-08-13 08:24:38 -07:00
sht3x.c hwmon: (sht3x) wait predefined limits loading complete before access 2018-01-12 14:18:39 -08:00
sht15.c hwmon: (sht15) Fix parameter documentation of sht15_crc8() 2018-01-02 15:05:34 -08:00
sht21.c hwmon: (sht21) Update data sheet URLs 2018-03-10 19:00:14 -08:00
shtc1.c hwmon: (shtc1) fix shtc1 and shtw1 id mask 2020-01-27 14:51:12 +01:00
sis5595.c hwmon: (sis5595) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
smm665.c
smsc47b397.c hwmon: (smsc47b397) Use request_muxed_region for Super-IO accesses 2019-05-31 06:46:22 -07:00
smsc47m1.c hwmon: (smsc47m1) Use request_muxed_region for Super-IO accesses 2019-05-31 06:46:22 -07:00
smsc47m192.c hwmon: (smsc47m192) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
stts751.c hwmon: (stts751) Fix buffer size passed to snprintf 2017-10-29 18:36:03 -07:00
tc74.c
tc654.c hwmon: Add tc654 driver 2016-12-02 13:28:05 -08:00
thmc50.c
tmp102.c hwmon: (tmp102) Fix first temperature reading 2017-10-24 06:17:14 -07:00
tmp103.c hwmon: (tmp103) Use SIMPLE_DEV_PM_OPS helper macro 2017-04-24 06:30:41 -07:00
tmp108.c hwmon: Add Texas Instruments TMP108 temperature sensor driver. 2016-12-09 21:54:25 -08:00
tmp401.c hwmon: (tmp401) use smb word operations instead of 2 smb byte operations 2017-01-10 09:01:32 -08:00
tmp421.c hwmon: (tmp421) Correct the misspelling of the tmp442 compatible attribute in OF device ID table 2019-02-27 10:08:57 +01:00
ultra45_env.c
vexpress-hwmon.c
via-cputemp.c hwmon: (via-cputemp) support new centaur CPUs 2018-03-30 07:53:57 -07:00
via686a.c hwmon: (via686a) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
vt1211.c hwmon: (vt1211) Use request_muxed_region for Super-IO accesses 2019-05-31 06:46:21 -07:00
vt8231.c hwmon: (vt8231) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83l785ts.c
w83l786ng.c
w83627ehf.c hwmon: (w83627ehf) Use request_muxed_region 2017-04-02 07:01:53 -07:00
w83627hf.c hwmon: (w83627hf) Use request_muxed_region for Super-IO accesses 2020-01-27 14:50:39 +01:00
w83773g.c hwmon: (w83773g) Fix fault detection and reporting 2018-01-02 15:05:34 -08:00
w83781d.c hwmon: (w83781d) Remove duplicate NULL check 2017-11-16 01:01:55 -08:00
w83791d.c hwmon: (w83791d) Remove duplicate NULL check 2017-11-16 01:02:23 -08:00
w83792d.c hwmon: (w83792d) Remove duplicate NULL check 2017-11-16 01:02:43 -08:00
w83793.c hwmon: (w83793) Remove duplicate NULL check 2017-11-16 01:03:19 -08:00
w83795.c hwmon: (w83795) temp4_type has writable permission 2018-12-17 09:24:33 +01:00
wm831x-hwmon.c
wm8350-hwmon.c
xgene-hwmon.c hwmon: (xgene) Minor clean up of ifdef and acpi_match_table reference 2017-11-01 06:14:52 -07:00