diff options
Diffstat (limited to 'drivers/media/video/tcm825x.c')
-rw-r--r-- | drivers/media/video/tcm825x.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/video/tcm825x.c b/drivers/media/video/tcm825x.c index 8f0100f67a91..29991d1cf13e 100644 --- a/drivers/media/video/tcm825x.c +++ b/drivers/media/video/tcm825x.c | |||
@@ -523,6 +523,9 @@ static int ioctl_g_ctrl(struct v4l2_int_device *s, | |||
523 | if (val < 0) | 523 | if (val < 0) |
524 | return val; | 524 | return val; |
525 | 525 | ||
526 | if (vc->id == V4L2_CID_HFLIP || vc->id == V4L2_CID_VFLIP) | ||
527 | val ^= sensor->platform_data->is_upside_down(); | ||
528 | |||
526 | vc->value = val; | 529 | vc->value = val; |
527 | return 0; | 530 | return 0; |
528 | } | 531 | } |
@@ -556,6 +559,9 @@ static int ioctl_s_ctrl(struct v4l2_int_device *s, | |||
556 | if (lvc == NULL) | 559 | if (lvc == NULL) |
557 | return -EINVAL; | 560 | return -EINVAL; |
558 | 561 | ||
562 | if (vc->id == V4L2_CID_HFLIP || vc->id == V4L2_CID_VFLIP) | ||
563 | val ^= sensor->platform_data->is_upside_down(); | ||
564 | |||
559 | val = val << lvc->start_bit; | 565 | val = val << lvc->start_bit; |
560 | if (tcm825x_write_reg_mask(client, lvc->reg, val)) | 566 | if (tcm825x_write_reg_mask(client, lvc->reg, val)) |
561 | return -EIO; | 567 | return -EIO; |