On Fri, Jan 15, 2016 at 10:45:41AM +0100, Peter Zijlstra wrote:
So _regmap_write() does: map->lock(map->lock_arg)
Which isn't very enlightening, since that can be a mutex or a spinlock, the above strongly suggests spinlock though.
Looking at __regmap_init(), this seems to depend on:
(bus && bus->fast_io) || config->fast_io
now, afaict, regmap_mmio is used in this case, which has .fast_io = true.
So yeah, fail.
Indeed, that'd do it. It hadn't occurred to me that someone would be using MMIO with an rbtree cache.