V4L/DVB (7897): TCM825x: Include invertation of image mirroring in configuration
Add invertation of image mirroring register bits to default configuration. This is useful when the camera module is e.g. mounted upside down. Signed-off-by: Sakari Ailus <sakari.ailus@nokia.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
4cbeb37114
commit
34cb61693e
2 changed files with 7 additions and 0 deletions
|
@ -523,6 +523,9 @@ static int ioctl_g_ctrl(struct v4l2_int_device *s,
|
|||
if (val < 0)
|
||||
return val;
|
||||
|
||||
if (vc->id == V4L2_CID_HFLIP || vc->id == V4L2_CID_VFLIP)
|
||||
val ^= sensor->platform_data->is_upside_down();
|
||||
|
||||
vc->value = val;
|
||||
return 0;
|
||||
}
|
||||
|
@ -556,6 +559,9 @@ static int ioctl_s_ctrl(struct v4l2_int_device *s,
|
|||
if (lvc == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
if (vc->id == V4L2_CID_HFLIP || vc->id == V4L2_CID_VFLIP)
|
||||
val ^= sensor->platform_data->is_upside_down();
|
||||
|
||||
val = val << lvc->start_bit;
|
||||
if (tcm825x_write_reg_mask(client, lvc->reg, val))
|
||||
return -EIO;
|
||||
|
|
|
@ -182,6 +182,7 @@ struct tcm825x_platform_data {
|
|||
int (*needs_reset)(struct v4l2_int_device *s, void *buf,
|
||||
struct v4l2_pix_format *fmt);
|
||||
int (*ifparm)(struct v4l2_ifparm *p);
|
||||
int (*is_upside_down)(void);
|
||||
};
|
||||
|
||||
/* Array of image sizes supported by TCM825X. These must be ordered from
|
||||
|
|
Loading…
Reference in a new issue