From patchwork Sun Jun 12 08:48:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavel Machek X-Patchwork-Id: 34572 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bC14d-0001rW-5Y; Sun, 12 Jun 2016 08:48:51 +0000 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.84_2/mailfrontend-7) with esmtp id 1bC14b-0007MH-0E; Sun, 12 Jun 2016 10:48:50 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752083AbcFLIsX (ORCPT + 1 other); Sun, 12 Jun 2016 04:48:23 -0400 Received: from atrey.karlin.mff.cuni.cz ([195.113.26.193]:60699 "EHLO atrey.karlin.mff.cuni.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751258AbcFLIsQ (ORCPT ); Sun, 12 Jun 2016 04:48:16 -0400 Received: by atrey.karlin.mff.cuni.cz (Postfix, from userid 512) id 5EFC0823AD; Sun, 12 Jun 2016 10:48:12 +0200 (CEST) Date: Sun, 12 Jun 2016 10:48:11 +0200 From: Pavel Machek To: Sakari Ailus Cc: Ivaylo Dimitrov , pali.rohar@gmail.com, sre@kernel.org, kernel list , linux-arm-kernel , linux-omap@vger.kernel.org, tony@atomide.com, khilman@kernel.org, aaro.koskinen@iki.fi, patrikbachan@gmail.com, serge@hallyn.com, linux-media@vger.kernel.org, mchehab@osg.samsung.com, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, devicetree@vger.kernel.org Subject: Re: [PATCH] userspace API definitions for auto-focus coil Message-ID: <20160612084811.GA27446@amd> References: <20160531212222.GP26360@valkosipuli.retiisi.org.uk> <20160531213437.GA28397@amd> <20160601152439.GQ26360@valkosipuli.retiisi.org.uk> <20160601220840.GA21946@amd> <20160602074544.GR26360@valkosipuli.retiisi.org.uk> <20160602193027.GB7984@amd> <20160602212746.GT26360@valkosipuli.retiisi.org.uk> <20160605190716.GA11321@amd> <575512E5.5030000@gmail.com> <20160611220654.GC26360@valkosipuli.retiisi.org.uk> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20160611220654.GC26360@valkosipuli.retiisi.org.uk> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2016.6.12.83916 X-PMX-Spam: Gauge=IIIIIIIII, Probability=9%, Report=' MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, KNOWN_FREEWEB_URI 0.05, MSGID_ADDED_BY_MTA 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_2000_2999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, INVALID_MSGID_NO_FQDN 0, IN_REP_TO 0, LEGITIMATE_NEGATE 0, MSG_THREAD 0, MULTIPLE_RCPTS_RND 0, NO_URI_HTTPS 0, REFERENCES 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __BOUNCE_CHALLENGE_SUBJ 0, __BOUNCE_NDR_SUBJ_EXEMPT 0, __CD 0, __CP_URI_IN_BODY 0, __CT 0, __CT_TEXT_PLAIN 0, __FORWARDED_MSG 0, __HAS_CC_HDR 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILING_LIST 0, __IN_REP_TO 0, __KNOWN_FREEWEB_URI2 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __MULTIPLE_RCPTS_CC_X2 0, __MULTIPLE_URI_TEXT 0, __REFERENCES 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __SUBJ_ALPHA_NEGATE 0, __TO_MALFORMED_2 0, __URI_IN_BODY 0, __URI_NS , __URI_WITH_PATH 0, __USER_AGENT 0' Hi! > > >Add userspace API definitions. > > > > > >Signed-off-by: Pavel Machek > > > > > >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