This patch series introduces the new caching API. The idea behind this caching interface is that we can provide different means of organizing and accessing the register cache. This is useful for large and sparse register maps, where one can use some kind of compression algorithm to reduce the memory footprint. The caching API is designed in such way to eliminate the need for modifying any existing drivers.
TODO: - Memory usage statistics, to make it easier to select the proper caching technique. - Support for bulk reads/writes. - Overridable caching behaviour from the machine driver. - Optimize certain CPU intensive paths. - Ensure proper locking in init()/exit()/sync().
Dimitris Papastamos (3): ASoC: soc-cache: Add support for flat register caching ASoC: soc-cache: Add support for LZO register caching ASoC: soc-cache: Add support for rbtree based register caching
include/sound/soc.h | 29 ++ sound/soc/Kconfig | 2 + sound/soc/soc-cache.c | 984 +++++++++++++++++++++++++++++++++++++++++++++++-- sound/soc/soc-core.c | 37 +-- 4 files changed, 998 insertions(+), 54 deletions(-)