On 5/15/23 18:49, Guenter Roeck wrote:
On Mon, May 15, 2023 at 02:55:46PM +0530, llyyr wrote:
This value was found on MSI Z690-A PRO DDR5, with a NCT6687D chip.
Signed-off-by: llyyr <llyyr.public@xxxxxxxxx>
---
drivers/hwmon/nct6683.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/hwmon/nct6683.c b/drivers/hwmon/nct6683.c
index a872f783e..5df9b9ce7 100644
--- a/drivers/hwmon/nct6683.c
+++ b/drivers/hwmon/nct6683.c
@@ -14,6 +14,7 @@
* nct6683d 21(1) 16 8 32(1) 0xc730
* nct6686d 21(1) 16 8 32(1) 0xd440
* nct6687d 21(1) 16 8 32(1) 0xd590
+ * (0xd592)
*
* Notes:
* (1) Total number of vin and temp inputs is 32.
@@ -71,6 +72,7 @@ static const char * const nct6683_chip_names[] = {
#define SIO_NCT6683_ID 0xc730
#define SIO_NCT6686_ID 0xd440
#define SIO_NCT6687_ID 0xd590
+#define SIO_NCT6687_ID2 0xd592
#define SIO_ID_MASK 0xFFF0
static inline void
@@ -1362,6 +1364,7 @@ static int __init nct6683_find(int sioaddr, struct nct6683_sio_data *sio_data)
sio_data->kind = nct6686;
break;
case SIO_NCT6687_ID:
+ case SIO_NCT6687_ID2:
sio_data->kind = nct6687;
break;
The checked value is masked with SIO_ID_MASK, or 0xfff0. Why would it be
necessary or even make sense to compare that masked value with 0xd592 ?
Please provide evidence that and why this code is needed.
Guenter
You're right, sorry for the useless traffic. In my testing this only
worked because I was loading the module with `force=1`. This is actually
a case of missing customer ID, I'll be sending a different patch shortly.