Centos-kernel-stream-9/drivers/hwmon
David Arcari f07080a8cb hwmon: (coretemp) Fix bogus core_id to attr name mapping
JIRA: https://issues.redhat.com/browse/RHEL-22705

commit fdaf0c8629d4524a168cb9e4ad4231875749b28c
Author: Zhang Rui <rui.zhang@intel.com>
Date:   Fri Feb 2 17:21:35 2024 +0800

    hwmon: (coretemp) Fix bogus core_id to attr name mapping

    Before commit 7108b80a542b ("hwmon/coretemp: Handle large core ID
    value"), there is a fixed mapping between
    1. cpu_core_id
    2. the index in pdata->core_data[] array
    3. the sysfs attr name, aka "tempX_"
    The later two always equal cpu_core_id + 2.

    After the commit, pdata->core_data[] index is got from ida so that it
    can handle sparse core ids and support more cores within a package.

    However, the commit erroneously maps the sysfs attr name to
    pdata->core_data[] index instead of cpu_core_id + 2.

    As a result, the code is not aligned with the comments, and brings user
    visible changes in hwmon sysfs on systems with sparse core id.

    For example, before commit 7108b80a542b ("hwmon/coretemp: Handle large
    core ID value"),
    /sys/class/hwmon/hwmon2/temp2_label:Core 0
    /sys/class/hwmon/hwmon2/temp3_label:Core 1
    /sys/class/hwmon/hwmon2/temp4_label:Core 2
    /sys/class/hwmon/hwmon2/temp5_label:Core 3
    /sys/class/hwmon/hwmon2/temp6_label:Core 4
    /sys/class/hwmon/hwmon3/temp10_label:Core 8
    /sys/class/hwmon/hwmon3/temp11_label:Core 9
    after commit,
    /sys/class/hwmon/hwmon2/temp2_label:Core 0
    /sys/class/hwmon/hwmon2/temp3_label:Core 1
    /sys/class/hwmon/hwmon2/temp4_label:Core 2
    /sys/class/hwmon/hwmon2/temp5_label:Core 3
    /sys/class/hwmon/hwmon2/temp6_label:Core 4
    /sys/class/hwmon/hwmon2/temp7_label:Core 8
    /sys/class/hwmon/hwmon2/temp8_label:Core 9

    Restore the previous behavior and rework the code, comments and variable
    names to avoid future confusions.

    Fixes: 7108b80a542b ("hwmon/coretemp: Handle large core ID value")
    Signed-off-by: Zhang Rui <rui.zhang@intel.com>
    Link: https://lore.kernel.org/r/20240202092144.71180-3-rui.zhang@intel.com
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>

Signed-off-by: David Arcari <darcari@redhat.com>
2024-04-25 15:24:42 -04:00
..
occ
pmbus
Kconfig hwmon: (dell-smm) rewrite CONFIG_I8K description 2024-03-20 09:42:29 -04:00
Makefile
abituguru.c
abituguru3.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
acpi_power_meter.c ACPI: make remove callback of ACPI driver void 2024-03-20 09:42:49 -04:00
ad7314.c
ad7414.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
ad7418.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
adc128d818.c
adcxx.c
adm1021.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
adm1025.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
adm1026.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
adm1029.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
adm1031.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
adm1177.c
adm9240.c
ads7828.c
ads7871.c
adt7x10.c
adt7x10.h
adt7310.c
adt7410.c
adt7411.c
adt7462.c
adt7470.c
adt7475.c
aht10.c
amc6821.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
applesmc.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
as370-hwmon.c
asb100.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
asc7621.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
aspeed-pwm-tacho.c
asus_atk0110.c ACPI: make remove callback of ACPI driver void 2024-03-20 09:42:49 -04:00
atxp1.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
axi-fan-control.c
bt1-pvt.c
bt1-pvt.h
coretemp.c hwmon: (coretemp) Fix bogus core_id to attr name mapping 2024-04-25 15:24:42 -04:00
corsair-cpro.c
corsair-psu.c
da9052-hwmon.c
da9055-hwmon.c
dell-smm-hwmon.c
dme1737.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
drivetemp.c driver core: class: remove struct class_interface * from callbacks 2023-11-01 11:12:34 -05:00
ds620.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
ds1621.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
emc6w201.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
emc1403.c
emc2103.c
f71805f.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
f71882fg.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
f75375s.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
fam15h_power.c x86/cpu: Move cpu_core_id into topology info 2024-03-20 09:43:28 -04:00
fschmd.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
ftsteutates.c
g760a.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
g762.c
gl518sm.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
gl520sm.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
gpio-fan.c
gsc-hwmon.c
hih6130.c
hwmon-vid.c
hwmon.c drivers: remove struct module * setting from struct class 2023-11-01 11:12:29 -05:00
i5k_amb.c
i5500_temp.c
ibmaem.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
ibmpex.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
ibmpowernv.c
iio_hwmon.c
ina2xx.c
ina209.c
ina3221.c hwmon: (ina3221) Add support for channel summation disable 2023-11-02 05:15:39 -04:00
intel-m10-bmc-hwmon.c
it87.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
jc42.c
k8temp.c
k10temp.c hwmon: (k10temp) Add thermal support for AMD Family 1Ah-based models 2024-01-09 16:20:59 -05:00
lineage-pem.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
lm63.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
lm70.c
lm73.c
lm75.c
lm75.h
lm77.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
lm78.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
lm80.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
lm83.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
lm85.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
lm87.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
lm90.c hwmon: (lm90) Prevent integer overflow/underflow in hysteresis calculations 2024-03-11 13:27:39 -04:00
lm92.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
lm93.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
lm95234.c
lm95241.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
lm95245.c
lochnagar-hwmon.c
ltc2945.c
ltc2947-core.c
ltc2947-i2c.c
ltc2947-spi.c
ltc2947.h
ltc2990.c
ltc2992.c
ltc4151.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
ltc4215.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
ltc4222.c
ltc4245.c
ltc4260.c
ltc4261.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
ltq-cputemp.c
max127.c
max197.c
max1111.c
max1619.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
max1668.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
max6621.c
max6639.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
max6642.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
max6650.c
max6697.c
max16065.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
max31722.c
max31730.c
max31790.c
mc13783-adc.c
mcp3021.c
menf21bmc_hwmon.c
mlxreg-fan.c hwmon: (mlxreg-fan) Return zero speed for broken fan 2023-05-18 12:20:52 +02:00
mr75203.c
nct6683.c
nct6775.c
nct7802.c
nct7904.c
npcm750-pwm-fan.c
nsa320-hwmon.c
ntc_thermistor.c
nzxt-kraken2.c
pc87360.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
pc87427.c
pcf8591.c
powr1220.c
pwm-fan.c
raspberrypi-hwmon.c
s3c-hwmon.c
sbtsi_temp.c
sch56xx-common.c
sch56xx-common.h
sch5627.c
sch5636.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
scmi-hwmon.c
scpi-hwmon.c hwmon/drivers/core: Switch to new of thermal API 2023-06-06 13:13:16 -04:00
sht3x.c
sht4x.c
sht15.c
sht21.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
shtc1.c
sis5595.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
sl28cpld-hwmon.c
smm665.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
smsc47b397.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
smsc47m1.c
smsc47m192.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
sparx5-temp.c
stts751.c
tc74.c
tc654.c
thmc50.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
tmp102.c
tmp103.c
tmp108.c
tmp401.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
tmp421.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
tmp513.c
tps23861.c
ultra45_env.c
vexpress-hwmon.c
via-cputemp.c
via686a.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
vt1211.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
vt8231.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
w83l785ts.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
w83l786ng.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
w83627ehf.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
w83627hf.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
w83773g.c
w83781d.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
w83791d.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
w83792d.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
w83793.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
w83795.c hwmon: cleanup non-bool "valid" data fields 2023-12-20 07:38:09 -05:00
wm831x-hwmon.c
wm8350-hwmon.c
xgene-hwmon.c