On Fri, Apr 30, 2021 at 06:01:49PM +0200, Michael Walle wrote:
Am 2021-04-30 17:19, schrieb Mark Brown:
> Whatever is creating the regmap really ought to know what device it's
> dealing with...
But creating and using the regmap are two seperate things, no? Consider
the gpio-sl28cpld. It will just use whatever regmap the parent has created.
How would it know what type of regmap it is?
But that's a driver for a specific device AFAICT which looks like it's
only got an I2C binding on the MFD so the driver knows that it's for a
device that's on a bus that's going to sleep and doesn't need to infer
anything? This looks like the common case I'd expect where there's no
variation.
> > It might be possible to pass this information via the
> > gpio_regmap_config, but this has the following drawbacks. First, that
> > property is redundant and both places might contratict each other. And
> > secondly, the driver might not even know the type of the regmap
> > because
> > it just gets an opaque pointer by querying the device tree.
> If it's a generic GPIO driver from a code correctness point of view it's
> always got a risk of sleeping...
I can't follow you here.
If users happen to end up with a map flagged as fast they can work on
the whatever driver uses this stuff and not realise they're breaking
other users of the same driver that end up with slow I/O. The whole
point of the flag in GPIO is AIUI warnings to help with that case.