linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Adam Baker <linux@baker-net.org.uk>
To: linux-media@vger.kernel.org
Cc: kilgota@banach.math.auburn.edu,
	Hans de Goede <j.w.r.degoede@hhs.nl>,
	"Jean-Francois Moine" <moinejf@free.fr>,
	Hans Verkuil <hverkuil@xs4all.nl>
Subject: [RFC][PATCH 1/2] Sensor orientation reporting
Date: Sun, 15 Mar 2009 22:29:48 +0000	[thread overview]
Message-ID: <200903152229.48761.linux@baker-net.org.uk> (raw)
In-Reply-To: <200903152224.29388.linux@baker-net.org.uk>

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.

Signed-off-by: Adam Baker <linux@baker-net.org.uk>

---
diff -r 1248509d8bed linux/drivers/media/video/gspca/gspca.c
--- a/linux/drivers/media/video/gspca/gspca.c	Sat Mar 14 08:44:42 2009 +0100
+++ b/linux/drivers/media/video/gspca/gspca.c	Sun Mar 15 22:25:34 2009 +0000
@@ -1147,6 +1147,7 @@ static int vidioc_enum_input(struct file
 	if (input->index != 0)
 		return -EINVAL;
 	input->type = V4L2_INPUT_TYPE_CAMERA;
+	input->status = gspca_dev->input_flags;
 	strncpy(input->name, gspca_dev->sd_desc->name,
 		sizeof input->name);
 	return 0;
diff -r 1248509d8bed linux/drivers/media/video/gspca/gspca.h
--- a/linux/drivers/media/video/gspca/gspca.h	Sat Mar 14 08:44:42 2009 +0100
+++ b/linux/drivers/media/video/gspca/gspca.h	Sun Mar 15 22:25:34 2009 +0000
@@ -168,6 +168,7 @@ struct gspca_dev {
 	__u8 alt;			/* USB alternate setting */
 	__u8 nbalt;			/* number of USB alternate settings */
 	u8 bulk;			/* image transfer by 0:isoc / 1:bulk */
+	u32 input_flags;		/* value for ENUM_INPUT status flags */
 };
 
 int gspca_dev_probe(struct usb_interface *intf,
diff -r 1248509d8bed linux/drivers/media/video/gspca/sq905.c
--- a/linux/drivers/media/video/gspca/sq905.c	Sat Mar 14 08:44:42 2009 +0100
+++ b/linux/drivers/media/video/gspca/sq905.c	Sun Mar 15 22:25:34 2009 +0000
@@ -357,6 +357,12 @@ static int sd_init(struct gspca_dev *gsp
 	gspca_dev->cam.nmodes = ARRAY_SIZE(sq905_mode);
 	if (!(ident & SQ905_HIRES_MASK))
 		gspca_dev->cam.nmodes--;
+
+	if (ident & SQ905_ORIENTATION_MASK)
+		gspca_dev->input_flags = V4L2_IN_ST_VFLIP;
+	else
+		gspca_dev->input_flags = V4L2_IN_ST_VFLIP |
+					 V4L2_IN_ST_HFLIP;
 	return 0;
 }
 
diff -r 1248509d8bed linux/include/linux/videodev2.h
--- a/linux/include/linux/videodev2.h	Sat Mar 14 08:44:42 2009 +0100
+++ b/linux/include/linux/videodev2.h	Sun Mar 15 22:25:34 2009 +0000
@@ -736,6 +736,11 @@ struct v4l2_input {
 #define V4L2_IN_ST_NO_SIGNAL   0x00000002
 #define V4L2_IN_ST_NO_COLOR    0x00000004
 
+/* field 'status' - sensor orientation */
+/* If sensor is mounted upside down set both bits */
+#define V4L2_IN_ST_HFLIP       0x00000010 /* Output is flipped horizontally */
+#define V4L2_IN_ST_VFLIP       0x00000020 /* Output is flipped vertically */
+
 /* field 'status' - analog */
 #define V4L2_IN_ST_NO_H_LOCK   0x00000100  /* No horizontal sync lock */
 #define V4L2_IN_ST_COLOR_KILL  0x00000200  /* Color killer is active */

  reply	other threads:[~2009-03-15 22:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-15 22:24 [RFC][PATCH 0/2] Sensor orientation reporting Adam Baker
2009-03-15 22:29 ` Adam Baker [this message]
2009-03-27 17:31   ` [RFC][PATCH 1/2] " Mauro Carvalho Chehab
2009-03-27 23:36     ` Adam Baker
2009-03-27 19:21   ` Jean-Francois Moine
2009-03-15 22:34 ` [RFC][PATCH 2/2] " Adam Baker
2009-03-16  8:00 ` [RFC][PATCH 0/2] " Hans de Goede
2009-03-16 18:20   ` Theodore Kilgore
2009-03-16 23:36   ` Adam Baker
2009-03-17  8:10     ` Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200903152229.48761.linux@baker-net.org.uk \
    --to=linux@baker-net.org.uk \
    --cc=hverkuil@xs4all.nl \
    --cc=j.w.r.degoede@hhs.nl \
    --cc=kilgota@banach.math.auburn.edu \
    --cc=linux-media@vger.kernel.org \
    --cc=moinejf@free.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).