Messages in this thread | | | Subject | Re: [RFC 06/18] regmap: Formalise use of non-bus context | From | Pawel Moll <> | Date | Thu, 09 Jan 2014 13:08:31 +0000 |
| |
On Tue, 2013-12-24 at 12:45 +0000, Mark Brown wrote: > I'd note that I wasn't CCed on most of this series so I'm not entirely > sure what it's trying to do.
Apologies. The series is quite long and I didn't want to bother too many people with mostly irrelevant changes. Will copy you on the whole thing next time.
> > Bus-less maps (ones with reg_read and reg_write functions > > defined in regmap_config) were given the context passed > > in regmap_init(), but it was still called "bus_context". > > > > This patch formalises this aspect by renaming it to simple > > "context" and adds the missing link, free_context function > > in regmap_config, which allows bus-less maps to use the > > context in classic way. > > This should be two patches, one patch to do the rename and one to add > the operation.
Sure, will do.
> The obvious question here is why is this callback useful > - what is being allocated in a regmap specific context that needs to be > lifetime managed separately to the thing doing the creation? I can't > see any obvious reason why this would ever get used.
First of all, it's just a generalization of the free_context already existing in regmap_bus (and used by regmap-mmio). And in case of this series it is being used to release extra resource added allocated for a "busless" regmap_config. Briefly, I'm using devm_regmap_init() to "attach" a custom regmap configuration to a device when it is being created (which is then dev_get_regmap()-ed in the driver, as you saw in the regulator patch) and its context is a pointer to kzallocated data. free_context is used to release it when devm resource is being removed.
Does it make any sense?
Paweł
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |