[Meego-kernel] [PATCH] MRST Tablet camera driver ver-0.95 (re-send-2), fix 8112
Arjan van de Ven
arjan at linux.intel.com
Thu Jun 16 07:09:15 PDT 2011
On 6/16/2011 3:47 AM, He, Yong M wrote:
>
> Hi,
>
> Please review the updates.
>
> From: Yong He <yong.m.he at intel.com>
> Subject: [PATCH] MRST Tablet camera driver ver-0.95 (re-send-2), fix 8112
>
> Bug 8112 *- ISP driver doesn't support AF (auto-focus) controlling
> function for 5M camera sensor (OV5640).*
>
> AF is a new added feature, and it require sensor’s firmware update
> (only once from power up).
>
> also, AF function need to work with exposure and gain settings
> algorithm when switched from PREVIEW mode to SNAPSHOT mode, this patch
> added this algorithm.
>
> Signed-off-by: He, Yong <yong.m.he at intel.com>
>
> ---
>
> Index: linux-2.6.37/drivers/staging/mrstci/mrstisp/mrstisp_main.c
>
> ===================================================================
>
> --- linux-2.6.37/drivers/staging/mrstci/mrstisp/mrstisp_main.c
> (revision 100)
>
> +++ linux-2.6.37/drivers/staging/mrstci/mrstisp/mrstisp_main.c
> (revision 104)
>
> @@ -2040,7 +2040,7 @@
>
> } else {
>
> ret = v4l2_subdev_call(isp->cameras[isp->sensor_curr].camera,
>
> core, g_ctrl, c);
>
> - dprintk(2, "get other cotrol from senrsor : %d", c->value);
>
> + dprintk(4, "get other cotrol from senrsor : %d", c->value);
>
dprintk() should never have been there (see the coding guidelines) :=(
pr_debug() is the standard linux API for such things (as is dev_dbg() )
but at least it's not direct damage
/*
> Index: linux-2.6.37/drivers/staging/mrstci/mrstov5640/mrstov5640.c
>
> ===================================================================
>
> --- linux-2.6.37/drivers/staging/mrstci/mrstov5640/mrstov5640.c
> (revision 100)
>
> +++ linux-2.6.37/drivers/staging/mrstci/mrstov5640/mrstov5640.c
> (revision 104)
>
> @@ -48,9 +48,9 @@
>
> #include "ci_sensor_common.h"
>
> #include "ov5640.h"
>
> -#define DRIVER_VERSION "0.942"
>
> +#define DRIVER_VERSION "0.95"
>
> -static int mrstov5640_debug=5;
>
> +static int mrstov5640_debug = 3;
>
> module_param(mrstov5640_debug, int, 0644);
>
> MODULE_PARM_DESC(mrstov5640_debug, "Debug level (0-1)");
>
> @@ -180,6 +180,18 @@
>
> #define N_RES (ARRAY_SIZE(ov5640_res))
>
> +struct ov5640_exp_info_1_t {
>
> + uint16_t ho;
>
> + uint16_t vo;
>
> + uint16_t gain16;
>
> + uint32_t shutter16;
>
> +};
>
+
>
> +static int ov5640_af_center(struct i2c_client *c)
>
> +{
>
> + int ret = 0;
>
> + DBG_entering;
>
> +
>
> + ret += ov5640_write(c, 0x3023, 0x01);
>
> + ret += ov5640_write(c, 0x3022, 0x80);
>
> + udelay(100);
>
what is this udelay() for ?
More information about the MeeGo-kernel
mailing list