2014-11-06 9:03 GMT+03:00 Mark Brown broonie@kernel.org:
On Thu, Nov 06, 2014 at 01:33:24AM +0400, Dmitry Eremin-Solenikov wrote:
2014-11-03 16:43 GMT+03:00 Linus Walleij linus.walleij@linaro.org:
Yes that's the point: if you use regmap mmio you get the RMW-locking for free, with the regmap implementation.
Just to be more concrete. Currently locomo_gpio_ack_irq() function uses one lock and one unlock for doing 3 consecutive RMW I I convert locomo to regmap, will that be 3 lock/unlock calls or still one? (Or maybe I'm trying to be over-protective here and adding more lock/unlock cycles won't matter that much?)
You'll get three lock/unlocks, we could add an interface for bulk updates under one lock if it's important though.
Next question: if I have to export regmap to several subdrivers, is it better to have one big regmap or to have one-map-per-driver approach?
One regmap for the physical register map which is shared between all the users.
Mark, Linus,
Just to better understand your suggestions: do you want me to convert to regmap only gpio driver or do you suggest to convert all LoCoMo drivers? That is doable, of course, but the amount of changes is overwhelming. Also I'm concerned about the performance impact from going through regmap layers.