On Tue, Mar 14, 2023 at 05:50:42PM +0200, Andy Shevchenko wrote:
On Tue, Mar 14, 2023 at 11:29:16AM -0400, William Breathitt Gray wrote:
The regmap API supports IO port accessors so we can take advantage of
regmap abstractions rather than handling access to the device registers
directly in the driver.
...
- Utilize watchdog_set_drvdata() and watchdog_get_drvdata()
I'm wondering why you can't use dev_get_regmap() instead.
We can set `wdd->parent = dev` in ebc_c384_wdt_probe(), and then use
`dev_get_regmap(wdev->parent)` to retrieve the regmap. The only downside
I see if perhaps the added latency a call to devres_find(), whereas
using watchdog_get_drvdata() is just a pointer dereference.
I'm indifferent to either choice, so if Guenter or Wim have a preference
here I'll follow their decision.
- Map watchdog control registers based on offset 0x1 and adjust regmap
configurations accordingly; offset 0x0 is unused in this driver so we
should avoid unnecessary exposure of it
I'm wondering what bad could happen if you expose it.
The WINSYSTEMS EBC-C384 documentation I have does not specify what
offset 0x0 does (nor offsets 0x3-0x4), so I don't know if there are side
effects to reading those addresses. Really, I'm just avoiding the hassle
of writing an explicit precious registers table for those offsets by not
exposing them at all.