/* This CS4270 registers are cached to avoid excessive I2C I/O operations. After the initial read to pre-fill the cache, the CS4270 never updates the register values, so we won't have a cache coherency problem.  */
static unsigned int cs4270_read_reg_cache(struct snd_soc_codec *codec, unsigned int reg)
/* This CS4270 registers are cached to avoid excessive I2C I/O operations. After the initial read to pre-fill the cache, the CS4270 never updates the register values, so we won't have a cache coherency problem.  */
static unsigned int cs4270_read_reg_cache(struct snd_soc_codec *codec, unsigned int reg)
{
	u8 *cache = codec->reg_cache;
	if ((reg < CS4270_FIRSTREG) || (reg > CS4270_LASTREG))
		return -EIO;
	return cache[reg - CS4270_FIRSTREG];
}