On Thu, Apr 23, 2020 at 10:51:36AM +0000, Peng Fan wrote: > > This will mean that we're doing clk_prepare() during I/O which isn't good > > since for MMIO regmaps we support I/O operations in atomic contexts. > Ah, yes. Do you have any suggestions? If we use clk_prepare at the very > beginning, the power that binded to the clk device will be always on, > and cause power consumption high. Not really in regmap itself - I think your best bet here is to move the clock handling out of regmap and up into the driver. regmap won't do any I/O unless your driver calls it so this will work fine, this support is only there in regmap as a convenience but if it's getting in the way then you're probably going to be able to do a better job pushing this into rutime PM in the driver or just having direct clock calls.