linux/drivers/hwmon
Carlo Caione ccc9b8263d hwmon: (scpi) Fix the scale of SCP sensor readings
The implementation details for SCPI seems to suggest that the sensor
readings must be reported by SCP using a well defined scale
(millidegree Celsius for temperature, millivolts for voltage,
milliamperes for current, microwatts for power and microjoules for
energy).

This is also important for the interaction with other subsystems: for
example both the thermal sub-system and the hwmon sysfs interface expect
the temperature expressed in millidegree Celsius.

Unfortunately since this behaviour is dependent on the firmware
implementation there are cases where the sensor readings are reported
using a different scale. For example in the Amlogic SoCs the
temperature is reported in degree and not millidegree Celsius.

To take into account this discrepancy and fixup the values reported by
SCP a new compatible 'amlogic,meson-gxbb-scpi-sensors' is introduced and
used in this patch by the scpi-hwmon driver to convert the sensor
readings to the expected scale.

Signed-off-by: Carlo Caione <carlo@endlessm.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2017-06-11 17:08:19 -07:00
..
pmbus hwmon: (pmbus) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
Kconfig hwmon: (aspeed-pwm-tacho) Select REGMAP 2017-05-30 15:15:19 -07:00
Makefile hwmon: (twl4030-madc) drop driver 2017-04-30 11:45:31 -07:00
ab8500.c hwmon: (ab8500) Call kernel_power_off instead of pm_power_off 2014-10-03 08:19:02 -07:00
abituguru.c hwmon: drop owner assignment from platform_drivers 2014-10-20 16:20:36 +02:00
abituguru3.c hwmon: drop owner assignment from platform_drivers 2014-10-20 16:20:36 +02:00
abx500.c hwmon: (abx500) drop the use of IRQF_NO_SUSPEND 2015-10-14 07:57:14 -07:00
abx500.h hwmon: Add ST-Ericsson ABX500 hwmon driver 2013-04-16 18:27:52 -07:00
acpi_power_meter.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01: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 hwmon: (ad7418) Convert to devm_hwmon_device_register_with_groups 2014-08-04 07:01:35 -07:00
adc128d818.c hwmon: (adc128d818) Add OF device ID table 2017-04-02 07:01:53 -07:00
adcxx.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
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 hwmon: (adm1029) Convert to devm_hwmon_device_register_with_groups 2014-08-04 07:01:35 -07:00
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) move header file out of I2C realm 2017-06-11 17:08:19 -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 hwmon: (adt7x10) Add alarm interrupt support 2013-04-07 21:16:38 -07:00
adt7310.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
adt7410.c hwmon: (adt7x10) Add alarm interrupt support 2013-04-07 21:16:38 -07:00
adt7411.c hwmon: (adt7411) add min, max and alarm attributes 2017-01-02 10:19:45 -08:00
adt7462.c hwmon: (adt7462) Fix overflows seen when writing into limit attributes 2016-12-09 21:54:31 -08:00
adt7470.c hwmon: (adt7470) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
adt7475.c hwmon: (adt7475) temperature smoothing 2017-06-11 17:08:19 -07:00
amc6821.c hwmon: (amc6821) sign extension temperature 2016-12-02 13:28:04 -08:00
applesmc.c hwmon : (applesmc) Fix uninitialized variables warnings 2015-11-15 21:52:39 -08:00
asb100.c hwmon: (asb100) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
asc7621.c hwmon: (asc7621) Make map tables const 2014-08-04 07:01:38 -07:00
aspeed-pwm-tacho.c hwmon: (aspeed-pwm-tacho) Enable both edge measurement. 2017-06-11 17:08:19 -07:00
asus_atk0110.c hwmon: (asus_atk0110) fix uninitialized data access 2017-03-23 12:01:57 -07:00
atxp1.c hwmon: (atxp1) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
coretemp.c hwmon: (coretemp) Handle frozen hotplug state correctly 2017-05-14 07:49:32 -07:00
da9052-hwmon.c hwmon: drop owner assignment from platform_drivers 2014-10-20 16:20:36 +02:00
da9055-hwmon.c hwmon: drop owner assignment from platform_drivers 2014-10-20 16:20:36 +02:00
dell-smm-hwmon.c hwmon: (dell-smm) Add Dell XPS 15 9560 into DMI list 2017-04-02 07:01:53 -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: Make regmap configs const 2014-08-04 07:01:35 -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 permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
f71882fg.c hwmon: (f71882fg) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
f75375s.c hwmon: (f75375s) Don't crash the kernel unnecessarily 2013-10-13 16:16:27 -07:00
fam15h_power.c hwmon: (fam15h_power) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
fschmd.c hwmon: (fschmd) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
ftsteutates.c hwmon: (ftsteutates) Add i2c detect functionality 2016-09-08 21:34:16 -07:00
g760a.c hwmon: (g760a) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
g762.c scripts/spelling.txt: add "followings" pattern and fix typo instances 2017-02-27 18:43:47 -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 hwmon: (gpio-fan) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
hih6130.c hwmon: (hih6130) Fix missing hih6130->write_length setting 2014-08-05 19:40:27 -07:00
hwmon-vid.c hwmon: (hwmon-vid) Add __maybe_unused attribute to dummy variable 2013-09-10 06:28:17 -07:00
hwmon.c hwmon: Constify str parameter of hwmon_ops->read_string 2017-04-02 07:01:53 -07:00
i5k_amb.c hwmon: (i5k_amb) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
i5500_temp.c hwmon: (i5500_temp) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
ibmaem.c hwmon: (ibmaem) constify aem_rw_sensor_template and aem_ro_sensor_template structures 2016-01-04 08:56:22 -08:00
ibmpex.c hwmon: (ibmpex) Allow format string checking 2015-03-09 09:59:35 -07:00
ibmpowernv.c hwmon: (ibmpowernv) Add highest/lowest attributes to sensors 2017-06-11 17:08:19 -07:00
iio_hwmon.c hwmon: (iio_hwmon) defer probe when no channel is found 2016-09-08 21:34:17 -07:00
ina2xx.c hwmon: (ina2xx) Add OF device ID table 2017-04-02 07:01:53 -07:00
ina209.c hwmon: (ina209) Handled signed registers 2017-04-21 12:30:09 -07:00
ina3221.c hwmon: (ina3221) Fix negative limits 2016-06-27 18:58:04 -07:00
it87.c hwmon: (it87) Avoid registering the same chip on both SIO addresses 2017-03-22 00:18:21 -07:00
jc42.c hwmon: (jc42) Convert to use new hwmon registration API 2016-09-08 21:34:18 -07:00
jz4740-hwmon.c hwmon: (jz4740) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
k8temp.c hwmon: (k8temp) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
k10temp.c hwmon: (k10temp) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lineage-pem.c hwmon: (lineage-pem) Convert to devm_hwmon_device_register_with_groups 2014-08-04 07:01:37 -07:00
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 hwmon: (lm73) Convert to use devm_hwmon_device_register_with_groups 2013-10-13 16:16:28 -07:00
lm75.c hwmon: (lm75) Add OF device ID table 2017-04-02 07:01:53 -07:00
lm75.h hwmon: (lm75.h) Update header inclusion 2013-03-18 21:19:49 +01:00
lm77.c hwmon: (lm77) Prevent overflow problem when writing large limits 2014-07-31 09:41:46 -07:00
lm78.c hwmon: (lm78) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
lm80.c hwmon: (lm80) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08: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) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08: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 hwmon: Make regmap configs const 2014-08-04 07:01:35 -07:00
ltc2990.c hwmon: Add LTC2990 sensor driver 2016-03-05 06:25:34 -08:00
ltc4151.c hwmon: (ltc4151) Export OF device ID table as module aliases 2017-01-21 08:57:41 -08:00
ltc4215.c hwmon: (ltc4215) Convert to devm_hwmon_device_register_with_groups 2014-03-03 08:01:05 -08:00
ltc4222.c hwmon: Make regmap configs const 2014-08-04 07:01:35 -07:00
ltc4245.c hwmon: (ltc4245) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
ltc4260.c hwmon: Make regmap configs const 2014-08-04 07:01:35 -07:00
ltc4261.c hwmon: (ltc4261) fix coccinelle warnings 2013-10-18 09:12:00 -07:00
max197.c hwmon: (max197) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
max1111.c hwmon: (max1111) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
max1619.c hwmon: (max1619) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
max1668.c hwmon: (max1668) Make max1668_addr_list array const 2014-08-04 07:01:39 -07:00
max6639.c hwmon: (max6639) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
max6642.c Update Jean Delvare's e-mail address 2014-01-29 20:40:08 +01:00
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 hwmon: (max16065) Use PTR_ERR_OR_ZERO 2014-08-04 07:01:38 -07:00
max31722.c hwmon: (max31722) Add support for MAX31722/MAX31723 temperature sensors 2016-04-19 06:32:34 -07:00
max31790.c hwmon: (max31790) Set correct PWM value 2017-03-22 00:18:20 -07:00
mc13783-adc.c hwmon: (mc13783-adc) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
mcp3021.c hwmon: (mcp3021) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
menf21bmc_hwmon.c Merge branch 'platform/remove_owner' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux into driver-core-next 2014-11-03 19:53:56 -08:00
nct6683.c hwmon: (nct6683) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
nct6775.c hwmon: (nct6775) Add support for NCT6795D 2017-06-11 17:08:19 -07:00
nct7802.c hwmon: (nct7802) Fix overflows seen when writing into limit attributes 2016-12-12 11:32:34 -08:00
nct7904.c hwmon: (nct7904) Convert to use new hwmon registration API 2016-09-08 21:34:18 -07: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 permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
pcf8591.c hwmon: (pcf8591) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
powr1220.c hwmon: Add support for Lattice's POWR1220 power manager IC 2014-08-04 07:01:33 -07:00
pwm-fan.c hwmon: pwm-fan: Use pwm_get_args() where appropriate 2016-05-17 14:45:00 +02:00
s3c-hwmon.c hwmon: drop owner assignment from platform_drivers 2014-10-20 16:20:36 +02:00
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
scpi-hwmon.c hwmon: (scpi) Fix the scale of SCP sensor readings 2017-06-11 17:08:19 -07:00
sht3x.c hwmon: (sht3x) set initial jiffies to last_update 2016-07-31 14:56:36 -07:00
sht15.c hwmon: (sht15) Add device tree support 2017-02-16 06:49:05 -08:00
sht21.c hwmon: (sht21) Add Electronic Identification Code retrieval 2017-01-02 10:19:45 -08:00
shtc1.c hwmon: add support for Sensirion SHTC1 sensor 2014-06-12 08:36:48 -07:00
sis5595.c hwmon: (sis5595) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
smm665.c hwmon: (smm665) Convert to devm_hwmon_device_register_with_groups 2014-08-04 07:01:37 -07:00
smsc47b397.c hwmon: drop owner assignment from platform_drivers 2014-10-20 16:20:36 +02:00
smsc47m1.c hwmon: (smsc47m1) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
smsc47m192.c hwmon: (smsc47m192) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
stts751.c hwmon: (stts751) Add OF device ID table 2017-04-02 07:01:53 -07:00
tc74.c hwmon: add driver for Microchip TC74 2015-06-21 22:54:53 -07:00
tc654.c hwmon: Add tc654 driver 2016-12-02 13:28:05 -08:00
thmc50.c hwmon: (thmc50) Convert to devm_hwmon_device_register_with_groups 2014-08-04 07:01:39 -07:00
tmp102.c hwmon: (tmp102) Add OF device ID table 2017-04-02 07:01:53 -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) Add OF device ID table 2017-04-02 07:01:53 -07:00
ultra45_env.c hwmon: drop owner assignment from platform_drivers 2014-10-20 16:20:36 +02:00
vexpress-hwmon.c hwmon: (vexpress) rename vexpress hwmon implementation 2016-03-05 06:25:33 -08:00
via-cputemp.c hwmon: (via-cputemp) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
via686a.c hwmon: (via686a) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
vt1211.c hwmon: drop owner assignment from platform_drivers 2014-10-20 16:20:36 +02:00
vt8231.c hwmon: (vt8231) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83l785ts.c hwmon: Avoid initializing the same field twice 2014-04-04 18:01:34 +02:00
w83l786ng.c hwmon: (w83l786ng) Convert to devm_hwmon_device_register_with_groups 2014-08-04 07:01:34 -07:00
w83627ehf.c hwmon: (w83627ehf) Use request_muxed_region 2017-04-02 07:01:53 -07:00
w83627hf.c hwmon: (w83627hf) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83781d.c hwmon: (w83781d) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83791d.c hwmon: (w83791d) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83792d.c hwmon: (w83792d) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83793.c hwmon: (w83793) use permission-specific DEVICE_ATTR variants 2017-01-02 10:19:45 -08:00
w83795.c hwmon: (w83795) use find_closest_descending() in pwm_freq_to_reg() 2015-04-17 09:03:55 -04:00
wm831x-hwmon.c hwmon: drop owner assignment from platform_drivers 2014-10-20 16:20:36 +02:00
wm8350-hwmon.c hwmon: drop owner assignment from platform_drivers 2014-10-20 16:20:36 +02:00
xgene-hwmon.c hwmon: (xgene) access mailbox as RAM 2016-09-09 14:54:53 -07:00