diff options
Diffstat (limited to 'drivers/staging/media/sn9c102/sn9c102_hv7131d.c')
-rw-r--r-- | drivers/staging/media/sn9c102/sn9c102_hv7131d.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/staging/media/sn9c102/sn9c102_hv7131d.c b/drivers/staging/media/sn9c102/sn9c102_hv7131d.c index 2dce5c908c8e..468072176527 100644 --- a/drivers/staging/media/sn9c102/sn9c102_hv7131d.c +++ b/drivers/staging/media/sn9c102/sn9c102_hv7131d.c @@ -53,27 +53,32 @@ static int hv7131d_get_ctrl(struct sn9c102_device* cam, } return 0; case V4L2_CID_RED_BALANCE: - if ((ctrl->value = sn9c102_i2c_read(cam, 0x31)) < 0) + ctrl->value = sn9c102_i2c_read(cam, 0x31); + if (ctrl->value < 0) return -EIO; ctrl->value = 0x3f - (ctrl->value & 0x3f); return 0; case V4L2_CID_BLUE_BALANCE: - if ((ctrl->value = sn9c102_i2c_read(cam, 0x33)) < 0) + ctrl->value = sn9c102_i2c_read(cam, 0x33); + if (ctrl->value < 0) return -EIO; ctrl->value = 0x3f - (ctrl->value & 0x3f); return 0; case SN9C102_V4L2_CID_GREEN_BALANCE: - if ((ctrl->value = sn9c102_i2c_read(cam, 0x32)) < 0) + ctrl->value = sn9c102_i2c_read(cam, 0x32); + if (ctrl->value < 0) return -EIO; ctrl->value = 0x3f - (ctrl->value & 0x3f); return 0; case SN9C102_V4L2_CID_RESET_LEVEL: - if ((ctrl->value = sn9c102_i2c_read(cam, 0x30)) < 0) + ctrl->value = sn9c102_i2c_read(cam, 0x30); + if (ctrl->value < 0) return -EIO; ctrl->value &= 0x3f; return 0; case SN9C102_V4L2_CID_PIXEL_BIAS_VOLTAGE: - if ((ctrl->value = sn9c102_i2c_read(cam, 0x34)) < 0) + ctrl->value = sn9c102_i2c_read(cam, 0x34); + if (ctrl->value < 0) return -EIO; ctrl->value &= 0x07; return 0; |