/* We use the auto-increment feature of the CS4270 to read all registers in one shot.  */
static int cs4270_fill_cache(struct snd_soc_codec *codec)
/* We use the auto-increment feature of the CS4270 to read all registers in one shot.  */
static int cs4270_fill_cache(struct snd_soc_codec *codec)
{
	u8 *cache = codec->reg_cache;
	struct i2c_client *i2c_client = codec->control_data;
	s32 length;
	length = i2c_smbus_read_i2c_block_data(i2c_client,
		CS4270_FIRSTREG | CS4270_I2C_INCR, CS4270_NUMREGS, cache);
	if (length != CS4270_NUMREGS) {
		dev_err(codec->dev, "i2c read failure, addr=0x%x\n",
		       i2c_client->addr);
		return -EIO;
	}
	return 0;
}