On Tue, Sep 21, 2021 at 08:37:28AM +0200, Peter Rosin wrote: > I expected it to just work to mark the register as readable and do > without the default value (i.e. the way it was before my patch). What > I don't understand is why regmap returns -EBUSY in that case. That > doesn't make sense to me. Perhaps that -EBUSY is propagated from the > I2C layer, but in that case, why is it then ok to do a write to > another register at the same spot in the code? So, why -EBUSY? Actually one thing that can trigger this now I think about it is attempting to access a volatile register when the device is in cache only mode for power management reasons - if the device is in cache only mode then you can't do a hardware read so volatile registers become inaccessible.