menuconfig SND_SOC
        tristate "ALSA for SoC audio support"
-       select LZO_COMPRESS
-       select LZO_DECOMPRESS
        select SND_PCM
        select AC97_BUS if SND_SOC_AC97_BUS
        select SND_JACK if INPUT=y || INPUT=SND
 
 if SND_SOC
 
+config SND_SOC_CACHE_LZO
+       bool "Support LZO compression for register caches"
+       select LZO_COMPRESS
+       select LZO_DECOMPRESS
+       ---help---
+          Select this to enable LZO compression for register caches.
+          This will allow machine or CODEC drivers to compress register
+          caches in memory, reducing the memory consumption at the
+          expense of performance.  If this is not present and is used
+          the system will fall back to uncompressed caches.
+
+          Usually it is safe to disable this option, where cache
+          compression in used the rbtree option will typically perform
+          better.
+
 config SND_SOC_AC97_BUS
        bool
 
 
        return 0;
 }
 
+#ifdef CONFIG_SND_SOC_CACHE_LZO
 struct snd_soc_lzo_ctx {
        void *wmem;
        void *dst;
        }
        return ret;
 }
+#endif
 
 static int snd_soc_flat_cache_sync(struct snd_soc_codec *codec)
 {
                .write = snd_soc_flat_cache_write,
                .sync = snd_soc_flat_cache_sync
        },
+#ifdef CONFIG_SND_SOC_CACHE_LZO
        {
                .id = SND_SOC_LZO_COMPRESSION,
                .name = "LZO",
                .write = snd_soc_lzo_cache_write,
                .sync = snd_soc_lzo_cache_sync
        },
+#endif
        {
                .id = SND_SOC_RBTREE_COMPRESSION,
                .name = "rbtree",