Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH} hwmon: (jc42) Properly detect TSE2004-compliant devices again

Commit b3e992f69c23 ("hwmon: (jc42) Strengthen detect function")
attempted to make the detect function more robust for
TSE2004-compliant devices by checking capability bits which, according
to the JEDEC 21-C specification, should always be set. Unfortunately,
not all real-world implementations fully adhere to this specification,
so this change caused a regression.

Stop testing bit 7 (EVSD) of the Capabilities register, as it was
found to be 0 on one real-world device.

Also stop testing bits 0 (EVENT) and 2 (RANGE) as vendor datasheets
(Renesas TSE2004GB2B0, ST STTS2004) suggest that they may not always
be set either.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Message-ID: <20241014141204.026f4641@endymion.delvare>
Fixes: b3e992f69c23 ("hwmon: (jc42) Strengthen detect function")
Message-ID: <20241014220426.0c8f4d9c@endymion.delvare>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>

authored by

Jean Delvare and committed by
Guenter Roeck
eabb0381 8e929cb5

+1 -1
+1 -1
drivers/hwmon/jc42.c
··· 417 417 return -ENODEV; 418 418 419 419 if ((devid & TSE2004_DEVID_MASK) == TSE2004_DEVID && 420 - (cap & 0x00e7) != 0x00e7) 420 + (cap & 0x0062) != 0x0062) 421 421 return -ENODEV; 422 422 423 423 for (i = 0; i < ARRAY_SIZE(jc42_chips); i++) {