From 27a657731a5cf64fe72c7a9f7402e388b682fa60 Mon Sep 17 00:00:00 2001 From: Tao Jing Date: Sat, 28 Apr 2012 17:01:37 +0800 Subject: [PATCH] mt9e013: remove unnecessary msleep BZ: 32405 set 0 to gpio and then msleep before set 1 to gpio is unnecessary in mt9e013_gpio_ctrl. Change-Id: Id23755bbb4701c5657fc683e124b85cbdb039671 Signed-off-by: Tao Jing Reviewed-on: http://android.intel.com:8080/46665 Reviewed-by: Mahe, Erwan Tested-by: Mahe, Erwan --- arch/x86/platform/intel-mid/device_libs/platform_mt9e013.c | 7 ++----- drivers/media/video/mt9e013/mt9e013.c | 8 ++++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/arch/x86/platform/intel-mid/device_libs/platform_mt9e013.c b/arch/x86/platform/intel-mid/device_libs/platform_mt9e013.c index abc4c60..2b8c794 100644 --- a/arch/x86/platform/intel-mid/device_libs/platform_mt9e013.c +++ b/arch/x86/platform/intel-mid/device_libs/platform_mt9e013.c @@ -38,13 +38,10 @@ static int mt9e013_gpio_ctrl(struct v4l2_subdev *sd, int flag) camera_reset = ret; } - if (flag) { - gpio_set_value(camera_reset, 0); - msleep(20); + if (flag) gpio_set_value(camera_reset, 1); - } else { + else gpio_set_value(camera_reset, 0); - } return 0; } diff --git a/drivers/media/video/mt9e013/mt9e013.c b/drivers/media/video/mt9e013/mt9e013.c index 4e90087..15e9e8d 100644 --- a/drivers/media/video/mt9e013/mt9e013.c +++ b/drivers/media/video/mt9e013/mt9e013.c @@ -1714,6 +1714,14 @@ static int mt9e013_s_config(struct v4l2_subdev *sd, mutex_lock(&dev->input_lock); + /* + * The initial state of physical power is unknown + * so first power down it to make it to a known + * state, and then start the power up sequence + */ + power_down(sd); + msleep(20); + ret = mt9e013_s_power(sd, 1); if (ret) { v4l2_err(client, "mt9e013 power-up err.\n"); -- 2.7.4