On 2024-05-31 22:42:24+0000, Guenter Roeck wrote: > On 5/31/24 16:05, Guenter Roeck wrote: > > Add support for reading SPD NVRAM data from SPD5118 (Jedec JESD300) > > compliant memory modules. NVRAM write operation is not supported. > > > > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> > > --- > > v3: New patch > > > > RFT: I'd like to get some more test coverage before moving forward > > with this patch. decode-dimms doesn't recognize the 'spd5118' > > driver. > > Looks good to me. Spot-checking against JSED400-5B and the embedded CRC are as expected. > > Looking for feedback: > > [ ... ] > > > + > > + nvmem = devm_nvmem_register(dev, &nvmem_config); > > This returns ERR_PTR(-EOPNOTSUPP) if CONFIG_NVRAM=n. We have two options: > > - Ignore -EOPNOTSUPP and continue registering the hwmon device > > or > > - Add > select NVRAM > select NVRAM_SYSFS > to the driver's Kconfig entry. s/NVRAM/NVMEM/g > Any preferences ? It seems reasonable to support the module without the eeprom logic. When used in a fixed, embedded environment, the eeprom is of limited value as it's known beforehand, while the hwmon functionality is still useful. EEPROM dump in case anyone wants it: 00000000: 3010 1203 0400 2062 0000 0000 b212 0d00 0..... b........ 00000010: 0000 0000 6501 f203 7aaf 0000 0000 c837 ....e...z......7 00000020: c837 c837 906f 80bb 3075 2701 a000 8200 .7.7.o..0u'..... 00000030: 0000 0000 0000 d400 0000 d400 0000 d400 ................ 00000040: 0000 d400 0000 8813 0888 1308 204e 2010 ............ N . 00000050: 2710 1534 2010 2710 c409 044c 1d0c 0000 '..4 .'....L.... 00000060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000c0: 1000 8632 8015 8a8c 8213 0000 0000 0000 ...2............ 000000d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000e0: 0000 0000 0000 0f11 0171 0822 0000 0000 .........q.".... 000000f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000100: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000110: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000120: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000130: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000140: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000150: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000160: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000170: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000180: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000190: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001f0: 0000 0000 0000 0000 0000 0000 0000 a14d ...............M 00000200: 0198 0823 328e 0a9b e84b 4635 3536 5334 ...#2....KF556S4 00000210: 302d 3332 2020 2020 2020 2020 2020 2020 0-32 00000220: 2020 2020 2020 2000 80ad 4100 0831 3030 ...A..100 00000230: 3139 3738 3700 0000 0000 0000 0000 0000 19787........... 00000240: 0000 4100 0000 0000 0001 0000 0000 0000 ..A............. 00000250: 0100 0000 0000 0000 0000 0000 0000 0000 ................ 00000260: 0000 0001 0100 0000 0000 0000 0000 0088 ................ 00000270: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000280: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000290: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000300: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000310: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000320: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000330: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000340: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000350: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000360: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000370: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000380: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000390: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................