[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160612084811.GA27446@amd>
Date: Sun, 12 Jun 2016 10:48:11 +0200
From: Pavel Machek <pavel@....cz>
To: Sakari Ailus <sakari.ailus@....fi>
Cc: Ivaylo Dimitrov <ivo.g.dimitrov.75@...il.com>,
pali.rohar@...il.com, sre@...nel.org,
kernel list <linux-kernel@...r.kernel.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
linux-omap@...r.kernel.org, tony@...mide.com, khilman@...nel.org,
aaro.koskinen@....fi, patrikbachan@...il.com, serge@...lyn.com,
linux-media@...r.kernel.org, mchehab@....samsung.com,
robh+dt@...nel.org, pawel.moll@....com, mark.rutland@....com,
ijc+devicetree@...lion.org.uk, galak@...eaurora.org,
devicetree@...r.kernel.org
Subject: Re: [PATCH] userspace API definitions for auto-focus coil
Hi!
> > >Add userspace API definitions.
> > >
> > >Signed-off-by: Pavel Machek <pavel@....cz>
> > >
> > >diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
> > >index b6a357a..23011cc 100644
> > >--- a/include/uapi/linux/v4l2-controls.h
> > >+++ b/include/uapi/linux/v4l2-controls.h
> > >@@ -974,4 +975,9 @@ enum v4l2_detect_md_mode {
> > > #define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3)
> > > #define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4)
> > >
> > >+/* Control IDs specific to the AD5820 driver as defined by V4L2 */
> > >+#define V4L2_CID_FOCUS_AD5820_BASE (V4L2_CTRL_CLASS_CAMERA | 0x10af)
>
> Please check V4L2_CID_USER_*_BASE. That's how custom controls are handled
> nowadays.
So something like this?
Thanks,
Pavel
diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 2efa5dc1..b04b471 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -40,6 +40,11 @@
#define AD5820_RAMP_MODE_LINEAR (0 << 3)
#define AD5820_RAMP_MODE_64_16 (1 << 3)
+/* Control IDs specific to the AD5820 driver as defined by V4L2 */
+#define V4L2_CID_FOCUS_AD5820_RAMP_TIME (V4L2_CID_USER_AD5820_BASE+0)
+#define V4L2_CID_FOCUS_AD5820_RAMP_MODE (V4L2_CID_FOCUS_AD5820_BASE+1)
+
+
#define CODE_TO_RAMP_US(s) ((s) == 0 ? 0 : (1 << ((s) - 1)) * 50)
#define RAMP_US_TO_CODE(c) fls(((c) + ((c)>>1)) / 50)
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
index 23011cc..4b24546 100644
--- a/include/uapi/linux/v4l2-controls.h
+++ b/include/uapi/linux/v4l2-controls.h
@@ -181,6 +181,10 @@ enum v4l2_colorfx {
* We reserve 16 controls for this driver. */
#define V4L2_CID_USER_TC358743_BASE (V4L2_CID_USER_BASE + 0x1080)
+/* The base for the ad5820 driver controls.
+ * We reserve 16 controls for this driver. */
+#define V4L2_CID_USER_AD5820_BASE (V4L2_CID_USER_BASE + 0x1090)
+
/* MPEG-class control IDs */
/* The MPEG controls are applicable to all codec controls
* and the 'MPEG' part of the define is historical */
@@ -986,9 +990,4 @@ enum v4l2_detect_md_mode {
#define V4L2_CID_MODE_SENSITIVITY (V4L2_CID_MODE_CLASS_BASE+6)
#define V4L2_CID_MODE_OPSYSCLOCK (V4L2_CID_MODE_CLASS_BASE+7)
-/* Control IDs specific to the AD5820 driver as defined by V4L2 */
-#define V4L2_CID_FOCUS_AD5820_BASE (V4L2_CTRL_CLASS_CAMERA | 0x10af)
-#define V4L2_CID_FOCUS_AD5820_RAMP_TIME (V4L2_CID_FOCUS_AD5820_BASE+0)
-#define V4L2_CID_FOCUS_AD5820_RAMP_MODE (V4L2_CID_FOCUS_AD5820_BASE+1)
-
#endif
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Powered by blists - more mailing lists