kernel_optimize_test/drivers/hwmon
Serge Semin 87976ce282 hwmon: Add Baikal-T1 PVT sensor driver
Baikal-T1 SoC provides an embedded process, voltage and temperature
sensor to monitor an internal SoC environment (chip temperature, supply
voltage and process monitor) and on time detect critical situations,
which may cause the system instability and even damages. The IP-block
is based on the Analog Bits PVT sensor, but is equipped with a
dedicated control wrapper, which provides a MMIO registers-based access
to the sensor core functionality (APB3-bus based) and exposes an
additional functions like thresholds/data ready interrupts, its status
and masks, measurements timeout. All of these is used to create a hwmon
driver being added to the kernel by this commit.

The driver implements support for the hardware monitoring capabilities
of Baikal-T1 process, voltage and temperature sensors. PVT IP-core
consists of one temperature and four voltage sensors, each of which is
implemented as a dedicated hwmon channel config.

The driver can optionally provide the hwmon alarms for each sensor the
PVT controller supports. The alarms functionality is made compile-time
configurable due to the hardware interface implementation peculiarity,
which is connected with an ability to convert data from only one sensor
at a time. Additional limitation is that the controller performs the
thresholds checking synchronously with the data conversion procedure.
Due to these limitations in order to have the hwmon alarms
automatically detected the driver code must switch from one sensor to
another, read converted data and manually check the threshold status
bits. Depending on the measurements timeout settings this design may
cause additional burden on the system performance. By default if the
alarms kernel config is disabled the data conversion is performed by
the driver on demand when read operation is requested via corresponding
_input-file.

Co-developed-by: Maxim Kaurkin <maxim.kaurkin@baikalelectronics.ru>
Signed-off-by: Maxim Kaurkin <maxim.kaurkin@baikalelectronics.ru>
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: devicetree@vger.kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2020-05-28 07:59:45 -07:00
..
occ
pmbus hwmon: (pmbus) Driver for Maxim MAX16601 2020-05-22 06:28:38 -07:00
ab8500.c
abituguru.c
abituguru3.c
abx500.c
abx500.h
acpi_power_meter.c hwmon: (acpi_power_meter) Fix lockdep splat 2020-02-19 17:25:15 -08:00
ad7314.c
ad7414.c
ad7418.c
adc128d818.c
adcxx.c
adm1021.c
adm1025.c
adm1026.c
adm1029.c
adm1031.c
adm1177.c
adm9240.c
ads7828.c
ads7871.c
adt7x10.c
adt7x10.h
adt7310.c
adt7410.c
adt7411.c hwmon: (adt7411) update contact email 2020-05-22 06:28:38 -07:00
adt7462.c hwmon: (adt7462) Fix an error return in ADT7462_REG_VOLT() 2020-03-03 12:42:55 -08:00
adt7470.c
adt7475.c hwmon: (adt7475) Add support for inverting pwm output 2020-03-08 20:35:48 -07:00
amc6821.c
amd_energy.c hwmon: (amd_energy) Missing platform_driver_unregister() on error in amd_energy_init() 2020-05-26 20:24:49 -07:00
applesmc.c hwmon: (applesmc) avoid overlong udelay() 2020-05-27 09:18:13 -07:00
as370-hwmon.c
asb100.c
asc7621.c
aspeed-pwm-tacho.c
asus_atk0110.c
atxp1.c
axi-fan-control.c hwmon: Support ADI Fan Control IP 2020-03-08 20:35:46 -07:00
bt1-pvt.c hwmon: Add Baikal-T1 PVT sensor driver 2020-05-28 07:59:45 -07:00
bt1-pvt.h hwmon: Add Baikal-T1 PVT sensor driver 2020-05-28 07:59:45 -07:00
coretemp.c hwmon: Convert to new X86 CPU match macros 2020-03-24 21:33:36 +01:00
da9052-hwmon.c hwmon: (da9052) Synchronize access with mfd 2020-05-13 10:06:09 -07:00
da9055-hwmon.c
dell-smm-hwmon.c hwmon: (dell-smm) Use one DMI match for all XPS models 2020-05-22 06:28:38 -07:00
dme1737.c
drivetemp.c hwmon: (drivetemp) Fix SCT support if SCT data tables are not supported 2020-05-09 13:22:34 -07:00
ds620.c
ds1621.c
emc6w201.c
emc1403.c
emc2103.c
f71805f.c
f71882fg.c
f75375s.c
fam15h_power.c
fschmd.c
ftsteutates.c
g760a.c
g762.c
gl518sm.c
gl520sm.c
gpio-fan.c
gsc-hwmon.c hwmon: Add Gateworks System Controller support 2020-05-20 10:29:17 +01:00
hih6130.c
hwmon-vid.c
hwmon.c hwmon: Add notification support 2020-05-28 07:59:45 -07:00
i5k_amb.c
i5500_temp.c
ibmaem.c hwmon: (ibmaem) Replace zero-length array with flexible-array member 2020-03-08 20:35:46 -07:00
ibmpex.c
ibmpowernv.c hwmon: (ibmpowernv) Use scnprintf() for avoiding potential buffer overflow 2020-03-11 08:09:31 -07:00
iio_hwmon.c
ina2xx.c hwmon: (ina2xx) Implement alert functions 2020-05-22 06:28:38 -07:00
ina209.c
ina3221.c
it87.c
jc42.c hwmon: (jc42) Fix name to have no illegal characters 2020-04-18 10:13:07 -07:00
k8temp.c
k10temp.c hwmon: (k10temp) make some symbols static 2020-04-12 15:12:51 -07:00
Kconfig hwmon: Add Baikal-T1 PVT sensor driver 2020-05-28 07:59:45 -07:00
lineage-pem.c
lm63.c
lm70.c hwmon: (lm70) Add support for ACPI 2020-05-22 06:28:38 -07:00
lm73.c hwmon: (lm73) Add support for of_match_table 2020-03-08 20:35:47 -07:00
lm75.c hwmon: (lm75) Fix all coding-style warnings on lm75 driver 2020-05-22 06:28:38 -07:00
lm75.h hwmon: (lm75) Fix all coding-style warnings on lm75 driver 2020-05-22 06:28:38 -07:00
lm77.c
lm78.c
lm80.c
lm83.c
lm85.c
lm87.c
lm90.c hwmon: (lm90) Add max6654 support to lm90 driver 2020-05-22 06:28:38 -07:00
lm92.c
lm93.c
lm95234.c
lm95241.c
lm95245.c
lochnagar-hwmon.c
ltc2945.c
ltc2947-core.c
ltc2947-i2c.c
ltc2947-spi.c
ltc2947.h
ltc2990.c
ltc4151.c
ltc4215.c
ltc4222.c
ltc4245.c
ltc4260.c
ltc4261.c
ltq-cputemp.c
Makefile hwmon: Add Baikal-T1 PVT sensor driver 2020-05-28 07:59:45 -07:00
max197.c
max1111.c
max1619.c
max1668.c
max6621.c
max6639.c
max6642.c
max6650.c
max6697.c
max16065.c
max31722.c
max31730.c
max31790.c
mc13783-adc.c
mcp3021.c
menf21bmc_hwmon.c
mlxreg-fan.c
nct6683.c
nct6775.c hwmon : (nct6775) Use kobj_to_dev() API 2020-05-22 06:28:38 -07:00
nct7802.c hwmon: (nct7802) Replace container_of() API 2020-05-22 06:28:38 -07:00
nct7904.c hwmon: (nct7904) Set default timeout 2020-05-26 23:46:24 -07:00
npcm750-pwm-fan.c
nsa320-hwmon.c
ntc_thermistor.c
pc87360.c
pc87427.c
pcf8591.c
powr1220.c
pwm-fan.c
raspberrypi-hwmon.c
s3c-hwmon.c
sch56xx-common.c
sch56xx-common.h
sch5627.c
sch5636.c
scmi-hwmon.c
scpi-hwmon.c
sht3x.c
sht15.c
sht21.c
shtc1.c
sis5595.c
smm665.c
smsc47b397.c
smsc47m1.c
smsc47m192.c
stts751.c
tc74.c
tc654.c
thmc50.c
tmp102.c
tmp103.c
tmp108.c
tmp401.c
tmp421.c
tmp513.c
ultra45_env.c
vexpress-hwmon.c
via-cputemp.c hwmon: Convert to new X86 CPU match macros 2020-03-24 21:33:36 +01:00
via686a.c
vt1211.c
vt8231.c
w83l785ts.c
w83l786ng.c
w83627ehf.c hwmon: (w83627ehf) Fix crash seen with W83627DHG-P 2020-02-21 09:16:24 -08:00
w83627hf.c
w83773g.c
w83781d.c
w83791d.c
w83792d.c
w83793.c
w83795.c
wm831x-hwmon.c
wm8350-hwmon.c
xgene-hwmon.c