On Mon, 2021-05-24 at 10:55 +0300, Andy Shevchenko wrote:
On Mon, May 24, 2021 at 10:50 AM Sander Vanheule [off-list ref] wrote:
quoted
On Tue, 2021-05-18 at 00:18 +0300, Andy Shevchenko wrote:
quoted
On Mon, May 17, 2021 at 10:28 PM Sander Vanheule [off-list ref]
wrote:
quoted
+ err = regmap_read(map, RTL8231_REG_FUNC1, &v);
quoted
+ ready_code = FIELD_GET(RTL8231_FUNC1_READY_CODE_MASK, v);
If we got an error why we need a read_core, what for?
The chip has a static 5-bit field in register 0x01, called READY_CODE
according
to the datasheet. If a device is present, and a read from register 0x01
succeeds, I still check that this field has the correct value. For the
RTL8231,
it should return 0x37. If this isn't the case, I assume this isn't an
RTL8231,
so the driver probe stops and returns an error value.
Right. And why do you get ready_code if you know that there is an error?
This has changed in v3. I now check if there was an error reading the register,
and return if there was. Only if there wasn't an error, the code continues to
extract and verify the READY_CODE value.
Best,
Sander