/* Returns value read if successful, or non-zero (-1) otherwise.  */
static int tvp514x_read_reg(struct v4l2_subdev *sd, u8 reg)
/* Returns value read if successful, or non-zero (-1) otherwise.  */
static int tvp514x_read_reg(struct v4l2_subdev *sd, u8 reg)
{
	int err, retry = 0;
	struct i2c_client *client = v4l2_get_subdevdata(sd);
read_again:
	err = i2c_smbus_read_byte_data(client, reg);
	if (err < 0) {
		if (retry <= I2C_RETRY_COUNT) {
			v4l2_warn(sd, "Read: retry ... %d\n", retry);
			retry++;
			msleep_interruptible(10);
			goto read_again;
		}
	}
	return err;
}