diff options
Diffstat (limited to 'drivers/media/i2c/soc_camera/mt9m001.c')
| -rw-r--r-- | drivers/media/i2c/soc_camera/mt9m001.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/i2c/soc_camera/mt9m001.c b/drivers/media/i2c/soc_camera/mt9m001.c index df97033fa6ef..dbd8c142d6ef 100644 --- a/drivers/media/i2c/soc_camera/mt9m001.c +++ b/drivers/media/i2c/soc_camera/mt9m001.c | |||
| @@ -403,7 +403,7 @@ static int mt9m001_s_ctrl(struct v4l2_ctrl *ctrl) | |||
| 403 | if (ctrl->val <= ctrl->default_value) { | 403 | if (ctrl->val <= ctrl->default_value) { |
| 404 | /* Pack it into 0..1 step 0.125, register values 0..8 */ | 404 | /* Pack it into 0..1 step 0.125, register values 0..8 */ |
| 405 | unsigned long range = ctrl->default_value - ctrl->minimum; | 405 | unsigned long range = ctrl->default_value - ctrl->minimum; |
| 406 | data = ((ctrl->val - ctrl->minimum) * 8 + range / 2) / range; | 406 | data = ((ctrl->val - (s32)ctrl->minimum) * 8 + range / 2) / range; |
| 407 | 407 | ||
| 408 | dev_dbg(&client->dev, "Setting gain %d\n", data); | 408 | dev_dbg(&client->dev, "Setting gain %d\n", data); |
| 409 | data = reg_write(client, MT9M001_GLOBAL_GAIN, data); | 409 | data = reg_write(client, MT9M001_GLOBAL_GAIN, data); |
| @@ -413,7 +413,7 @@ static int mt9m001_s_ctrl(struct v4l2_ctrl *ctrl) | |||
| 413 | /* Pack it into 1.125..15 variable step, register values 9..67 */ | 413 | /* Pack it into 1.125..15 variable step, register values 9..67 */ |
| 414 | /* We assume qctrl->maximum - qctrl->default_value - 1 > 0 */ | 414 | /* We assume qctrl->maximum - qctrl->default_value - 1 > 0 */ |
| 415 | unsigned long range = ctrl->maximum - ctrl->default_value - 1; | 415 | unsigned long range = ctrl->maximum - ctrl->default_value - 1; |
| 416 | unsigned long gain = ((ctrl->val - ctrl->default_value - 1) * | 416 | unsigned long gain = ((ctrl->val - (s32)ctrl->default_value - 1) * |
| 417 | 111 + range / 2) / range + 9; | 417 | 111 + range / 2) / range + 9; |
| 418 | 418 | ||
| 419 | if (gain <= 32) | 419 | if (gain <= 32) |
| @@ -434,7 +434,7 @@ static int mt9m001_s_ctrl(struct v4l2_ctrl *ctrl) | |||
| 434 | case V4L2_CID_EXPOSURE_AUTO: | 434 | case V4L2_CID_EXPOSURE_AUTO: |
| 435 | if (ctrl->val == V4L2_EXPOSURE_MANUAL) { | 435 | if (ctrl->val == V4L2_EXPOSURE_MANUAL) { |
| 436 | unsigned long range = exp->maximum - exp->minimum; | 436 | unsigned long range = exp->maximum - exp->minimum; |
| 437 | unsigned long shutter = ((exp->val - exp->minimum) * 1048 + | 437 | unsigned long shutter = ((exp->val - (s32)exp->minimum) * 1048 + |
| 438 | range / 2) / range + 1; | 438 | range / 2) / range + 1; |
| 439 | 439 | ||
| 440 | dev_dbg(&client->dev, | 440 | dev_dbg(&client->dev, |
