Thread (107 messages) 107 messages, 11 authors, 2021-06-05

Re: [PATCH v2 5/7] mfd: Add RTL8231 core device

From: Sander Vanheule <sander@svanheule.net>
Date: 2021-05-24 08:04:47
Also in: linux-gpio, linux-leds, lkml

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help