diff options
author | Adam Baker <linux@baker-net.org.uk> | 2009-03-29 18:17:10 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-04-06 20:44:29 -0400 |
commit | dfa76fa2824967c0ec196fbcba36d3e74b66d3aa (patch) | |
tree | 96f1a646ca8b204e237d6aa72579825cdcedd0b0 /drivers | |
parent | 2659e468a38d7baa758baa5e59529e48eb8930c9 (diff) |
V4L/DVB (11387): Sensor orientation reporting
Add support to the SQ-905 driver to pass back to user space the
sensor orientation information obtained from the camera during init.
Modifies gspca and the videodev2.h header to create the necessary
API.
[mchehab@redhat.com: Changed "Output is" to "Frames are" at the comments, as suggested at LMML]
Signed-off-by: Adam Baker <linux@baker-net.org.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/video/gspca/gspca.c | 1 | ||||
-rw-r--r-- | drivers/media/video/gspca/gspca.h | 1 | ||||
-rw-r--r-- | drivers/media/video/gspca/sq905.c | 6 |
3 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c index a75c1ca2db41..a2741d7dccfe 100644 --- a/drivers/media/video/gspca/gspca.c +++ b/drivers/media/video/gspca/gspca.c | |||
@@ -1132,6 +1132,7 @@ static int vidioc_enum_input(struct file *file, void *priv, | |||
1132 | if (input->index != 0) | 1132 | if (input->index != 0) |
1133 | return -EINVAL; | 1133 | return -EINVAL; |
1134 | input->type = V4L2_INPUT_TYPE_CAMERA; | 1134 | input->type = V4L2_INPUT_TYPE_CAMERA; |
1135 | input->status = gspca_dev->cam.input_flags; | ||
1135 | strncpy(input->name, gspca_dev->sd_desc->name, | 1136 | strncpy(input->name, gspca_dev->sd_desc->name, |
1136 | sizeof input->name); | 1137 | sizeof input->name); |
1137 | return 0; | 1138 | return 0; |
diff --git a/drivers/media/video/gspca/gspca.h b/drivers/media/video/gspca/gspca.h index e4d4cf6ce05a..58e8ff02136a 100644 --- a/drivers/media/video/gspca/gspca.h +++ b/drivers/media/video/gspca/gspca.h | |||
@@ -56,6 +56,7 @@ struct cam { | |||
56 | * - cannot be > MAX_NURBS | 56 | * - cannot be > MAX_NURBS |
57 | * - when 0 and bulk_size != 0 means | 57 | * - when 0 and bulk_size != 0 means |
58 | * 1 URB and submit done by subdriver */ | 58 | * 1 URB and submit done by subdriver */ |
59 | u32 input_flags; /* value for ENUM_INPUT status flags */ | ||
59 | }; | 60 | }; |
60 | 61 | ||
61 | struct gspca_dev; | 62 | struct gspca_dev; |
diff --git a/drivers/media/video/gspca/sq905.c b/drivers/media/video/gspca/sq905.c index 04e3ae57a2e3..2e1cdf068fda 100644 --- a/drivers/media/video/gspca/sq905.c +++ b/drivers/media/video/gspca/sq905.c | |||
@@ -360,6 +360,12 @@ static int sd_init(struct gspca_dev *gspca_dev) | |||
360 | gspca_dev->cam.nmodes = ARRAY_SIZE(sq905_mode); | 360 | gspca_dev->cam.nmodes = ARRAY_SIZE(sq905_mode); |
361 | if (!(ident & SQ905_HIRES_MASK)) | 361 | if (!(ident & SQ905_HIRES_MASK)) |
362 | gspca_dev->cam.nmodes--; | 362 | gspca_dev->cam.nmodes--; |
363 | |||
364 | if (ident & SQ905_ORIENTATION_MASK) | ||
365 | gspca_dev->cam.input_flags = V4L2_IN_ST_VFLIP; | ||
366 | else | ||
367 | gspca_dev->cam.input_flags = V4L2_IN_ST_VFLIP | | ||
368 | V4L2_IN_ST_HFLIP; | ||
363 | return 0; | 369 | return 0; |
364 | } | 370 | } |
365 | 371 | ||