Re: [PATCH RFT v3 4/4] hwmon: (spd5118) Add support for reading SPD data

From: Thomas Weißschuh
Date: Sat Jun 01 2024 - 06:41:22 EST


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 ................