On Mon, Jan 11, 2016 at 07:23:54PM -0600, Timur Tabi wrote:
Mark Brown wrote:
regcache handles this fine, it's perfectly happy to just go and allocate the cache as registers get used (this is why the code that's doing the allocation exists...). What is causing problems here is that the first access to the register is happening in interrupt context so we can't do a GFP_KERNEL allocation for it.
Considering how small and not-sparse the SSI register space is, would using REGCACHE_FLAT be appropriate?
Quite possibly (it'll be more efficient and it's intended for such use cases) but as I said in my other reply that then has the issue that it implicitly gives default values to all the registers so I'd expect we still need to handle the cache initialisation explicitly (or alternatively the hardware sync with the cache on startup).