History log of /linux-master/drivers/hwmon/nct6775-platform.c
Revision Date Author Comments
# efe86092 16-Nov-2023 Kees Cook <keescook@chromium.org>

hwmon: (nct6775-platform) Explicitly initialize nct6775_sio_names indexes

Changing the "kinds" enum start value to be 1-indexed instead of
0-indexed caused look-ups in nct6775_sio_namesp[] to be misaligned or
off the end. Coverity reported:

*** CID 1571052: Memory - illegal accesses (OVERRUN)
drivers/hwmon/nct6775-platform.c:1075 in nct6775_find()
1069 sio_data->kind == nct6793 || sio_data->kind == nct6795 ||
1070 sio_data->kind == nct6796 || sio_data->kind == nct6797 ||
1071 sio_data->kind == nct6798 || sio_data->kind == nct6799)
1072 nct6791_enable_io_mapping(sio_data);
1073
1074 sio_data->sio_exit(sio_data);
vvv CID 1571052: Memory - illegal accesses (OVERRUN)
vvv Overrunning array "nct6775_sio_names" of 13 8-byte elements at element index 13 (byte offset 111) using index "sio_data->kind" (which evaluates to 13).
1075 pr_info("Found %s or compatible chip at %#x:%#x\n",
1076 nct6775_sio_names[sio_data->kind], sioaddr, addr);
1077
1078 return addr;
1079 }
1080

Initialize the string list with explicit indexes.

Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Rob Herring <robh@kernel.org>
Cc: Jean Delvare <jdelvare@suse.com>
Cc: linux-hwmon@vger.kernel.org
Fixes: 10a0575ea09d ("hwmon: nct6775-i2c: Use i2c_get_match_data()")
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20231116140144.work.027-kees@kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 1b515cfe 24-Oct-2023 Raag Jadav <raag.jadav@intel.com>

hwmon: (nct6775) use acpi_dev_hid_uid_match() for matching _HID and _UID

Convert manual _UID references to use the standard ACPI helper.

Signed-off-by: Raag Jadav <raag.jadav@intel.com>
Link: https://lore.kernel.org/r/20231024062018.23839-6-raag.jadav@intel.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 23299bba 15-Jul-2023 Ahmad Khalifa <ahmad@khalifa.ws>

hwmon: (nct6775) Change labels for nct6799

nct6799d-r and nct6796d-s are very similar and chip_id is only
different in the version nibblet.

Since both will be detected by the driver anyway due to the
chipid mask, they should be labeled together for dmesg msg.

Signed-off-by: Ahmad Khalifa <ahmad@khalifa.ws>
Link: https://lore.kernel.org/r/20230715195244.1334723-1-ahmad@khalifa.ws
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 368da76b 15-Jul-2023 Ahmad Khalifa <ahmad@khalifa.ws>

hwmon: (nct6775) Fix register for nct6799

Datasheet and variable name point to 0xe6

Fixes: aee395bb1905 ("hwmon: (nct6755) Add support for NCT6799D")
Signed-off-by: Ahmad Khalifa <ahmad@khalifa.ws>
Link: https://lore.kernel.org/r/20230715145831.1304633-1-ahmad@khalifa.ws
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# aee395bb 28-Dec-2022 Guenter Roeck <linux@roeck-us.net>

hwmon: (nct6755) Add support for NCT6799D

NCT6799D is mostly compatible to NCT6798D, with minor variations.

Note that NCT6798D and NCT6799D have a new means to select temperature
sources, and to report temperatures from those sources. This is not
currently implemented, meaning that most likely not all temperatures
are reported.

Cc: Sebastian Arnhold <sebastian.arnhold@posteo.de>
Cc: Ahmad Khalifa <ahmad@khalifa.ws>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Sebastian Arnhold <sebastian.arnhold@posteo.de>
Tested-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Link: https://lore.kernel.org/r/20221228135744.281752-1-linux@roeck-us.net


# 5dcd53e3 08-Apr-2023 Denis Pauk <pauk.denis@gmail.com>

hwmon: (nct6775) update ASUS WMI monitoring list A620/B760/W790

Boards such as
* B360M-BASALT,
* B360M-D3H,
* EX-B360M-V,
* EX-B360M-V3,
* EX-B360M-V5,
* EX-B760M-V5 D4,
* PRIME A620M-A,
* PRIME B460I-PLUS,
* PRIME B460M-A,
* PRIME B460M-K,
* PRIME B550-PLUS AC-HES,
* PRIME B660M-A AC D4,
* PRIME B760M-A,
* PRIME B760M-A AX D4,
* PRIME B760M-A D4,
* PRIME B760M-AJ D4,
* PRIME B760M-A WIFI,
* PRIME B760M-A WIFI D4,
* PRIME B760M-K D4,
* PRIME B760-PLUS,
* PRIME B760-PLUS D4,
* PRIME H310I-PLUS,
* PRIME H310M-A,
* PRIME H310M-C,
* PRIME H310M-D,
* PRIME H310M-DASH,
* PRIME H310M-E,
* PRIME H310M-E/BR,
* PRIME H310M-F,
* PRIME H310M-K,
* PRIME H310-PLUS,
* PRIME H310T,
* PRIME H370-A,
* PRIME H370M-PLUS,
* PRIME H370-PLUS,
* PRIME H410I-PLUS,
* PRIME H470M-PLUS,
* PRIME H470-PLUS,
* PRIME H510M-R,
* PRIME H510T2/CSM,
* PRIME H570M-PLUS,
* PRIME H570-PLUS,
* PRIME H610M-R D4,
* PRIME H670-PLUS D4,
* PRIME H770-PLUS D4,
* PRIME Q370M-C,
* ProArt B760-CREATOR D4,
* Pro B760M-C,
* Pro B760M-CT,
* PRO Q470M-C,
* Pro Q670M-C,
* Pro WS W790-ACE,
* Pro WS W790E-SAGE SE,
* ROG MAXIMUS Z690 FORMULA,
* ROG MAXIMUS Z690 HERO,
* ROG STRIX B360-F GAMING,
* ROG STRIX B360-G GAMING,
* ROG STRIX B360-H GAMING,
* ROG STRIX B360-H GAMING/OPTANE,
* ROG STRIX B360-I GAMING,
* ROG STRIX B760-A GAMING WIFI,
* ROG STRIX B760-A GAMING WIFI D4,
* ROG STRIX B760-F GAMING WIFI,
* ROG STRIX B760-G GAMING WIFI,
* ROG STRIX B760-G GAMING WIFI D4,
* ROG STRIX B760-I GAMING WIFI,
* ROG STRIX H370-F GAMING,
* ROG STRIX H370-I GAMING,
* ROG STRIX H470-I GAMING,
* ROG STRIX Z690-E GAMING WIFI,
* ROG STRIX Z690-F GAMING WIFI,
* ROG STRIX Z690-G GAMING WIFI,
* TUF B360M-E GAMING,
* TUF B360M-PLUS GAMING,
* TUF B360M-PLUS GAMING/BR,
* TUF B360M-PLUS GAMING S,
* TUF B360-PLUS GAMING,
* TUF B360-PRO GAMING,
* TUF B360-PRO GAMING (WI-FI),
* TUF GAMING A620M-PLUS,
* TUF GAMING A620M-PLUS WIFI,
* TUF GAMING B660M-PLUS D4,
* TUF GAMING B660M-PLUS WIFI D4,
* TUF GAMING B760M-BTF WIFI D4,
* TUF GAMING B760M-E D4,
* TUF GAMING B760M-PLUS,
* TUF GAMING B760M-PLUS D4,
* TUF GAMING B760M-PLUS WIFI,
* TUF GAMING B760M-PLUS WIFI D4,
* TUF GAMING B760-PLUS WIFI,
* TUF GAMING B760-PLUS WIFI D4,
* TUF GAMING H470-PRO,
* TUF GAMING H470-PRO (WI-FI),
* TUF GAMING H570-PRO,
* TUF GAMING H570-PRO WIFI,
* TUF GAMING H670-PRO WIFI D4,
* TUF GAMING H770-PRO WIFI,
* TUF GAMING X570-PRO WIFI II,
* TUF H310M-PLUS GAMING,
* TUF H310M-PLUS GAMING/BR,
* TUF H310-PLUS GAMING,
* TUF H370-PRO GAMING,
* TUF H370-PRO GAMING (WI-FI),
have got a nct6775 chip, but by default there's no use of it
because of resource conflict with WMI method.

This commit adds such boards to the WMI monitoring list.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Link: https://lore.kernel.org/r/20230408162228.4291-1-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# a4fffe48 23-Mar-2023 Denis Pauk <pauk.denis@gmail.com>

hwmon: (nct6775) update ASUS WMI monitoring list B360/H410/H610/Z390...

Boards such as
* EX-B460M-V5,
* EX-H410M-V3,
* PRIME B360M-D,
* PRIME B360M-K,
* PRIME H410M-A,
* PRIME H410M-D,
* PRIME H410M-E,
* PRIME H410M-F,
* PRIME H410M-K,
* PRIME H410M-K R2.0,
* PRIME H510M-K R2.0,
* PRIME Z390-A,
* PRIME Z390-A/H10,
* PRIME Z390-P,
* PRIME Z390M-PLUS,
* PRIME Z490-A,
* PRIME Z490-P,
* PRIME Z490-V,
* PRIME Z490M-PLUS,
* PRO B460M-C,
* PRO H410M-C,
* ROG MAXIMUS XI APEX,
* ROG MAXIMUS XI CODE,
* ROG MAXIMUS XI EXTREME,
* ROG MAXIMUS XI FORMULA,
* ROG MAXIMUS XI GENE,
* ROG MAXIMUS XI HERO,
* ROG MAXIMUS XI HERO (WI-FI),
* ROG MAXIMUS XII APEX,
* ROG MAXIMUS XII EXTREME,
* ROG MAXIMUS XII FORMULA,
* ROG MAXIMUS XII HERO (WI-FI),
* ROG STRIX B460-F GAMING,
* ROG STRIX B460-G GAMING,
* ROG STRIX B460-H GAMING,
* ROG STRIX B460-I GAMING,
* TUF GAMING B460-PLUS,
* TUF GAMING B460-PRO (WI-FI),
* TUF GAMING B460M-PLUS,
* TUF GAMING B460M-PLUS (WI-FI),
* TUF GAMING B460M-PRO,
* TUF GAMING B550-PLUS (WI-FI),
* TUF GAMING B550M ZAKU (WI-FI),
* TUF Z390-PLUS GAMING,
* TUF Z390-PLUS GAMING (WI-FI),
* TUF Z390-PRO GAMING,
* TUF Z390M-PRO GAMING,
* TUF Z390M-PRO GAMING (WI-FI),
* WS Z390 PRO,
* B560M-P,
* EX-B560M-V5,
* EX-H510M-V3,
* EX-H610M-V3 D4,
* PRIME B560-PLUS,
* PRIME B560-PLUS AC-HES,
* PRIME B560M-A,
* PRIME B560M-A AC,
* PRIME B560M-K,
* PRIME B660-PLUS D4,
* PRIME H510M-A,
* PRIME H510M-A WIFI,
* PRIME H510M-D,
* PRIME H510M-E,
* PRIME H510M-F,
* PRIME H510M-K,
* PRIME H610I-PLUS D4,
* PRIME H610M-A D4,
* PRIME H610M-A WIFI D4,
* PRIME H610M-D D4,
* PRIME H610M-E D4,
* PRIME H610M-F D4,
* PRIME H610M-K D4,
* PRIME Z690-A,
* PRIME Z690-P,
* PRIME Z690-P D4,
* PRIME Z690-P WIFI,
* PRIME Z690-P WIFI D4,
* PRIME Z690M-PLUS D4,
* PRIME Z790-A WIFI,
* PRIME Z790-P,
* PRIME Z790-P D4,
* PRIME Z790-P WIFI,
* PRIME Z790-P WIFI D4,
* PRIME Z790M-PLUS,
* PRIME Z790M-PLUS D4,
* Pro B560M-C,
* Pro B560M-CT,
* Pro H510M-C,
* Pro H510M-CT,
* Pro H610M-C,
* Pro H610M-C D4,
* Pro H610M-CT D4,
* Pro H610T D4,
* ProArt Z690-CREATOR WIFI,
* ROG MAXIMUS Z690 HERO EVA,
* ROG MAXIMUS Z790 APEX,
* ROG MAXIMUS Z790 HERO,
* ROG STRIX B560-A GAMING WIFI,
* ROG STRIX B560-E GAMING WIFI,
* ROG STRIX B560-F GAMING WIFI,
* ROG STRIX B560-G GAMING WIFI,
* ROG STRIX B560-I GAMING WIFI,
* ROG STRIX Z690-A GAMING WIFI,
* ROG STRIX Z690-I GAMING WIFI,
* ROG STRIX Z790-A GAMING WIFI,
* ROG STRIX Z790-A GAMING WIFI D4,
* ROG STRIX Z790-E GAMING WIFI,
* ROG STRIX Z790-F GAMING WIFI,
* ROG STRIX Z790-H GAMING WIFI,
* ROG STRIX Z790-I GAMING WIFI,
* TUF GAMING B560-PLUS WIFI,
* TUF GAMING B560M-E,
* TUF GAMING B560M-PLUS,
* TUF GAMING B560M-PLUS WIFI,
* TUF GAMING Z690-PLUS,
* TUF GAMING Z690-PLUS D4,
* TUF GAMING Z690-PLUS WIFI,
* TUF GAMING Z690-PLUS WIFI D4,
* TUF GAMING Z790-PLUS D4,
* TUF GAMING Z790-PLUS WIFI,
* TUF GAMING Z790-PLUS WIFI D4,
have got a nct6775 chip, but by default there's no use of it
because of resource conflict with WMI method.

This commit adds such boards to the WMI monitoring list.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Tested-by: Alejandro González <alejandro.gonzalez.correo@gmail.com>
Tested-by: bruno <bmilreu@gmail.com>
Tested-by: renedis <renedis@hotmail.com>
Link: https://lore.kernel.org/r/20230323212751.2474-3-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# c05403e6 23-Mar-2023 Denis Pauk <pauk.denis@gmail.com>

hwmon: (nct6775) Fix ROG B550-XE WIFI and Pro B660M-C D4 names

ROG STRIX B550-XE GAMING WIFI motherboard is incorrectly named as
ROG STRIX B550-XE GAMING (WI-FI).

Pro B660M-C D4 motherboard is incorrectly named as
Pro B660M-C-D4.

Validated by dmidecode output from https://github.com/linuxhw/DMI/

Link: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Link: https://lore.kernel.org/r/20230323212751.2474-2-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 02825926 23-Mar-2023 Denis Pauk <pauk.denis@gmail.com>

hwmon: (nct6775) Sort ASUS board list

Rearrange board list in alphabetical order by: LC_ALL=C sort -u

Link: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Link: https://lore.kernel.org/r/20230323212751.2474-1-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# bcd2fbec 15-Mar-2023 Denis Pauk <pauk.denis@gmail.com>

hwmon: (nct6775) update ASUS WMI monitoring list A520/B360/B460/B550...

Boards such as
* EX-B660M-V5 D4,
* PRIME A520M-A,
* PRIME A520M-A II,
* PRIME A520M-E,
* PRIME A520M-K,
* PRIME B360M-A,
* PRIME B360M-C,
* PRIME B460M-A R2.0,
* PRIME B550M-A AC,
* PRIME B550M-A WIFI II,
* PRIME B550M-K,
* PRIME B650M-A AX II,
* PRIME Z590-P WIFI,
* PRIME Z590-V,
* Pro A520M-C,
* ProArt B650-CREATOR,
* ProArt Z790-CREATOR WIFI,
* Pro B660M-C,
* Pro WS W680-ACE,
* Pro WS W680-ACE IPMI,
* ROG MAXIMUS XIII APEX,
* ROG MAXIMUS XIII EXTREME,
* ROG MAXIMUS XIII HERO,
* ROG MAXIMUS Z690 APEX,
* ROG MAXIMUS Z790 EXTREME,
* ROG STRIX B660-A GAMING WIFI,
* ROG STRIX Z590-A GAMING WIFI,
* ROG STRIX Z590-E GAMING WIFI,
* ROG STRIX Z590-F GAMING WIFI,
* ROG STRIX Z590-I GAMING WIFI,
* TUF GAMING A520M-PLUS,
* TUF GAMING A520M-PLUS II,
* TUF GAMING A520M-PLUS WIFI,
* TUF GAMING B660M-E D4,
* TUF GAMING B660-PLUS WIFI D4,
* TUF GAMING X570-PLUS_BR,
* TUF GAMING Z590-PLUS,
* Z490-GUNDAM (WI-FI),
* Z590 WIFI GUNDAM EDITION
have got a nct6775 chip, but by default there's no use of it
because of resource conflict with WMI method.

This commit adds such boards to the WMI monitoring list.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Tested-by: Nick Owens <mischief@offblast.org>
Tested-by: A. M. <de99like@mennucci.debian.net>
Link: https://lore.kernel.org/r/20230315225128.1236-1-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 23e8a379 15-Mar-2023 Denis Pauk <pauk.denis@gmail.com>

hwmon: (nct6775) Fix TUF GAMING B550M-E WIFI name

TUF GAMING B550M-E WIFI motherboard is incorrectly named as
TUF GAMING B550M-E (WI-FI).

Validated by dmidecode output from https://github.com/linuxhw/DMI/

Link: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Link: https://lore.kernel.org/r/20230315210135.2155-1-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# ea005526 13-Mar-2023 Holger Kiehl <Holger.Kiehl@dwd.de>

hwmon: (nct6775) add Asus Pro A520M-C II/CSM

An NCT6798D chip is now detected:

dmesg|grep nct6775
[ 23.765392] nct6775: Found NCT6798D or compatible chip at 0x2e:0x290

And sensors now shows:

nct6798-isa-0290
Adapter: ISA adapter
in0: 312.00 mV (min = +0.00 V, max = +1.74 V)
in1: 1.02 V (min = +0.00 V, max = +0.00 V) ALARM
in2: 3.42 V (min = +0.00 V, max = +0.00 V) ALARM
in3: 3.38 V (min = +0.00 V, max = +0.00 V) ALARM
in4: 1.03 V (min = +0.00 V, max = +0.00 V) ALARM
in5: 1.02 V (min = +0.00 V, max = +0.00 V) ALARM
in6: 200.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in7: 3.42 V (min = +0.00 V, max = +0.00 V) ALARM
in8: 3.28 V (min = +0.00 V, max = +0.00 V) ALARM
in9: 920.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in10: 512.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in11: 504.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in12: 1.03 V (min = +0.00 V, max = +0.00 V) ALARM
in13: 256.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in14: 1.47 V (min = +0.00 V, max = +0.00 V) ALARM
fan1: 0 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 355 RPM (min = 0 RPM)
fan7: 0 RPM (min = 0 RPM)
SYSTIN: +25.0°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
CPUTIN: +26.5°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
AUXTIN0: +97.0°C sensor = thermistor
AUXTIN1: +25.0°C sensor = thermistor
AUXTIN2: +25.0°C sensor = thermistor
AUXTIN3: +1.0°C sensor = thermistor
PECI Agent 0 Calibration: +26.0°C
PCH_CHIP_CPU_MAX_TEMP: +0.0°C
PCH_CHIP_TEMP: +0.0°C
PCH_CPU_TEMP: +0.0°C
TSI0_TEMP: +27.9°C
intrusion0: ALARM
intrusion1: OK
beep_enable: disabled

Signed-off-by: Holger Kiehl <holger.kiehl@dwd.de>
Tested-by: Holger Kiehl <holger.kiehl@dwd.de>

Link: https://lore.kernel.org/r/868bdc4f-9d45-475c-963e-f5232a8b95@praktifix.dwd.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 90b86248 27-Feb-2023 Erik Ekman <erik@kryo.se>

hwmon: (nct6775) ASUS PRIME Z590 boards support

Tested on Z590M-PLUS.

dmesg log:
nct6775: Found NCT6798D or compatible chip at 0x2e:0x290

sensors output:
nct6798-isa-0290
Adapter: ISA adapter
in0: 672.00 mV (min = +0.00 V, max = +1.74 V)
in1: 1000.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in2: 3.38 V (min = +0.00 V, max = +0.00 V) ALARM
in3: 3.28 V (min = +0.00 V, max = +0.00 V) ALARM
in4: 1.01 V (min = +0.00 V, max = +0.00 V) ALARM
in5: 808.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in6: 1000.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in7: 3.38 V (min = +0.00 V, max = +0.00 V) ALARM
in8: 3.20 V (min = +0.00 V, max = +0.00 V) ALARM
in9: 528.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in10: 672.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in11: 528.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in12: 1.21 V (min = +0.00 V, max = +0.00 V) ALARM
in13: 992.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in14: 1.02 V (min = +0.00 V, max = +0.00 V) ALARM
fan1: 971 RPM (min = 0 RPM)
fan2: 1525 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 1094 RPM (min = 0 RPM)
fan5: 0 RPM (min = 0 RPM)
fan6: 0 RPM (min = 0 RPM)
fan7: 0 RPM (min = 0 RPM)
SYSTIN: +36.0°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
CPUTIN: +40.0°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
AUXTIN0: +26.0°C sensor = thermistor
AUXTIN1: +8.0°C sensor = thermistor
AUXTIN2: +22.0°C sensor = thermistor
AUXTIN3: +25.0°C sensor = thermistor
PECI Agent 0 Calibration: +40.0°C
PCH_CHIP_CPU_MAX_TEMP: +0.0°C
PCH_CHIP_TEMP: +55.0°C
PCH_CPU_TEMP: +0.0°C
intrusion0: OK
intrusion1: ALARM
beep_enable: disabled

Signed-off-by: Erik Ekman <erik@kryo.se>
Link: https://lore.kernel.org/r/20230227090312.91091-1-erik@kryo.se
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 08d40c1d 17-Feb-2023 Andy Shevchenko <andriy.shevchenko@linux.intel.com>

hwmon: (nct6775) Drop unneeded casting and conjunction

The 64-bit result will be cut to 32-bit automatically (by compiler)
due to the type of the destination value. No need to have an explicit
casting and especially additional conjunction which does the same.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230217191600.24837-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# e2e09989 11-Jan-2023 Denis Pauk <pauk.denis@gmail.com>

hwmon: (nct6775) B650/B660/X670 ASUS boards support

Boards such as:
"EX-B660M-V5 PRO D4",
"PRIME B650-PLUS",
"PRIME B650M-A",
"PRIME B650M-A AX",
"PRIME B650M-A II",
"PRIME B650M-A WIFI",
"PRIME B650M-A WIFI II",
"PRIME B660M-A D4",
"PRIME B660M-A WIFI D4",
"PRIME X670-P",
"PRIME X670-P WIFI",
"PRIME X670E-PRO WIFI",
"Pro B660M-C-D4",
"ProArt B660-CREATOR D4",
"ProArt X670E-CREATOR WIFI",
"ROG CROSSHAIR X670E EXTREME",
"ROG CROSSHAIR X670E GENE",
"ROG CROSSHAIR X670E HERO",
"ROG MAXIMUS XIII EXTREME GLACIAL",
"ROG MAXIMUS Z690 EXTREME",
"ROG MAXIMUS Z690 EXTREME GLACIAL",
"ROG STRIX B650-A GAMING WIFI",
"ROG STRIX B650E-E GAMING WIFI",
"ROG STRIX B650E-F GAMING WIFI",
"ROG STRIX B650E-I GAMING WIFI",
"ROG STRIX B660-A GAMING WIFI D4",
"ROG STRIX B660-F GAMING WIFI",
"ROG STRIX B660-G GAMING WIFI",
"ROG STRIX B660-I GAMING WIFI",
"ROG STRIX X670E-A GAMING WIFI",
"ROG STRIX X670E-E GAMING WIFI",
"ROG STRIX X670E-F GAMING WIFI",
"ROG STRIX X670E-I GAMING WIFI",
"ROG STRIX Z590-A GAMING WIFI II",
"ROG STRIX Z690-A GAMING WIFI D4",
"TUF GAMING B650-PLUS",
"TUF GAMING B650-PLUS WIFI",
"TUF GAMING B650M-PLUS",
"TUF GAMING B650M-PLUS WIFI",
"TUF GAMING B660M-PLUS WIFI",
"TUF GAMING X670E-PLUS",
"TUF GAMING X670E-PLUS WIFI",
"TUF GAMING Z590-PLUS WIFI",
have got a NCT6799D chip, but by default there's no use of it
because of resource conflict with WMI method.

This commit adds such boards to the monitoring list with new ACPI device
UID.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Co-developed-by: Ahmad Khalifa <ahmad@khalifa.ws>
Signed-off-by: Ahmad Khalifa <ahmad@khalifa.ws>
Tested-by: Jeroen Beerstra <jeroen@beerstra.org>
Tested-by: Slawomir Stepien <sst@poczta.fm>
Link: https://lore.kernel.org/r/20230111212241.7456-2-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# c3b3747d0 11-Jan-2023 Denis Pauk <pauk.denis@gmail.com>

hwmon: (nct6775) Directly call ASUS ACPI WMI method

New ASUS B650/B660/X670 boards firmware have not exposed WMI monitoring
GUID and entrypoint method WMBD could be implemented for different device
UID.

Implement the direct call to entrypoint method for monitoring the device
UID of B550/X570 boards.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Co-developed-by: Ahmad Khalifa <ahmad@khalifa.ws>
Signed-off-by: Ahmad Khalifa <ahmad@khalifa.ws>
Link: https://lore.kernel.org/r/20230111212241.7456-1-pauk.denis@gmail.com
[groeck: Fix multi-line formatting]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 1864069c 14-Nov-2022 Denis Pauk <pauk.denis@gmail.com>

hwmon: (nct6775) add ASUS CROSSHAIR VIII/TUF/ProArt B550M

Boards such as
* ProArt B550-CREATOR
* ProArt Z490-CREATOR 10G
* ROG CROSSHAIR VIII EXTREME
* ROG CROSSHAIR VIII HERO (WI-FI)
* TUF GAMING B550M-E
* TUF GAMING B550M-E (WI-FI)
* TUF GAMING B550M-PLUS WIFI II
have got a nct6775 chip, but by default there's no use of it
because of resource conflict with WMI method.

This commit adds such boards to the WMI monitoring list.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Reported-by: yutesdb <mundanedefoliation@gmail.com>
Tested-by: yutesdb <mundanedefoliation@gmail.com>
Link: https://lore.kernel.org/r/20221114214456.3891-1-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 8de7295c 25-Sep-2022 Jonathan Cameron <Jonathan.Cameron@huawei.com>

hwmon: (nct6775) Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()

These newer PM macros allow the compiler to see what code it can remove
if !CONFIG_PM_SLEEP. This allows the removal of __maybe_unused markings
whilst achieving the same result.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Zoltán Kővágó <dirty.ice.hu@gmail.com>
Link: https://lore.kernel.org/r/20220925172759.3573439-13-jic23@kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# f4e6960f 09-Aug-2022 Zev Weiss <zev@bewilderbeest.net>

hwmon: (nct6775) Fix platform driver suspend regression

Commit c3963bc0a0cf ("hwmon: (nct6775) Split core and platform
driver") introduced a slight change in nct6775_suspend() in order to
avoid an otherwise-needless symbol export for nct6775_update_device(),
replacing a call to that function with a simple dev_get_drvdata()
instead.

As it turns out, there is no guarantee that nct6775_update_device()
is ever called prior to suspend. If this happens, the resume function
ends up writing bad data into the various chip registers, which results
in a crash shortly after resume.

To fix the problem, just add the symbol export and return to using
nct6775_update_device() as was employed previously.

Reported-by: Zoltán Kővágó <dirty.ice.hu@gmail.com>
Tested-by: Zoltán Kővágó <dirty.ice.hu@gmail.com>
Fixes: c3963bc0a0cf ("hwmon: (nct6775) Split core and platform driver")
Cc: stable@kernel.org
Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
Link: https://lore.kernel.org/r/20220810052646.13825-1-zev@bewilderbeest.net
[groeck: Updated description]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 38ac173b 26-Jul-2022 Robert Schmidt <r-schmidt@web.de>

hwmon: (nct6775) add ASUS TUF GAMING B550-PLUS WIFI II

Add ASUS TUF GAMING B550-PLUS WIFI II to the WMI monitoring list
to enable support for HW monitoring on that board.

Signed-off-by: Robert Schmidt <r-schmidt@web.de>
Link: https://lore.kernel.org/r/YuBZodZHOnDll5zy@hydra
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 452d5e29 10-Jun-2022 Andy Shevchenko <andriy.shevchenko@linux.intel.com>

hwmon: (nct6775) Drop duplicate NULL check in ->init() and ->exit()

Since platform_device_unregister() is NULL-aware, we don't need to duplicate
this check. Remove it and fold the rest of the code.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Zev Weiss <zev@bewilderbeest.net>
Link: https://lore.kernel.org/r/20220610103324.87483-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# 76412408 07-May-2022 Denis Pauk <pauk.denis@gmail.com>

hwmon: (nct6775) add ASUS PRO H410T / PRIME H410M-R / ROG X570-E GAMING WIFI II

Boards such as
* PRO H410T
* PRIME H410M-R
* ROG STRIX X570-E GAMING WIFI II
have got a nct6775 chip, but by default there's no use of it
because of resource conflict with WMI method.

This commit adds such boards to the WMI monitoring list.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204807
Signed-off-by: Denis Pauk <pauk.denis@gmail.com>
Reported-by: renedis <renedis@hotmail.com>
Reported-by: Dmitrii Levchenko <e_dimas@rambler.ru>
Reported-by: Hubert Banas <hubert.banas@gmail.com>
Link: https://lore.kernel.org/r/20220507072933.3013-1-pauk.denis@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>


# c3963bc0 26-Apr-2022 Zev Weiss <zev@bewilderbeest.net>

hwmon: (nct6775) Split core and platform driver

This splits the nct6775 driver into an interface-independent core and
a separate platform driver that wraps inb/outb port I/O (or asuswmi
methods) around that core.

Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
Tested-by: Renze Nicolai <renze@rnplus.nl>
Link: https://lore.kernel.org/r/20220427010154.29749-7-zev@bewilderbeest.net
Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>