From patchwork Tue Jun 1 22:57:37 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Olivier Lorin X-Patchwork-Id: 103662 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o51MvjeH003057 for ; Tue, 1 Jun 2010 22:57:45 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755941Ab0FAW5o (ORCPT ); Tue, 1 Jun 2010 18:57:44 -0400 Received: from mail-wy0-f174.google.com ([74.125.82.174]:48026 "EHLO mail-wy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754678Ab0FAW5m (ORCPT ); Tue, 1 Jun 2010 18:57:42 -0400 Received: by wyi11 with SMTP id 11so1438372wyi.19 for ; Tue, 01 Jun 2010 15:57:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:cc :content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; bh=s7qdAP/Y6P4ec+kLZbvZDECU+LLoVaaqax+BN8W5QJk=; b=oHaG5PWP4SWjj/5FE5KYddhpLlOM2Zb+dd5e//Z9xyN2ecW3KgP3moS/PFzfMl+7Mq ZpC94HdB7oJFQWkg616rCyBhlQbAyf667ijMOjiIGuR3S5l5twNRCBUWtUsYi2qASEmA 23cCVNUzwE7VP3VC6yi3qAWfZBqmAVL2hkzOc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:cc:content-type:date:message-id:mime-version :x-mailer:content-transfer-encoding; b=TlZj4h561Q680KUYiJ0KYnUiV4RKdHCO8D6zhGEEc396XsV/5LtVoMLRGyXduBYogb BEyvIfYQcl+Qj9NoVDQVLjKXFAFPQyhcrWKU1Y04dsQLrEZXSHm2LGLtf2rzWtNmwqUi t5yyRFuQdgxsBFAiNJLvv+zSWB/gIO3MoRAKA= Received: by 10.227.155.75 with SMTP id r11mr6753981wbw.62.1275433060193; Tue, 01 Jun 2010 15:57:40 -0700 (PDT) Received: from [192.168.1.3] (cha25-4-78-248-177-42.fbx.proxad.net [78.248.177.42]) by mx.google.com with ESMTPS id u36sm53448269wbv.18.2010.06.01.15.57.38 (version=SSLv3 cipher=RC4-MD5); Tue, 01 Jun 2010 15:57:39 -0700 (PDT) Subject: [PATCH 1/6] gspca - gl860: new driver for MI2020 sensor From: Olivier Lorin To: V4L Mailing List Cc: Jean-Francois Moine Date: Wed, 02 Jun 2010 00:57:37 +0200 Message-Id: <1275433057.20756.94.camel@miniol> Mime-Version: 1.0 X-Mailer: Evolution 2.24.3 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Tue, 01 Jun 2010 22:57:45 +0000 (UTC) diff -urpN i0/gl860.c gl860/gl860.c --- i0/gl860.c 2010-03-27 10:08:16.000000000 +0100 +++ gl860/gl860.c 2010-06-01 23:26:22.000000000 +0200 @@ -91,7 +91,6 @@ SD_SETGET(contrast) /* control table */ static struct ctrl sd_ctrls_mi1320[GL860_NCTRLS]; static struct ctrl sd_ctrls_mi2020[GL860_NCTRLS]; -static struct ctrl sd_ctrls_mi2020b[GL860_NCTRLS]; static struct ctrl sd_ctrls_ov2640[GL860_NCTRLS]; static struct ctrl sd_ctrls_ov9655[GL860_NCTRLS]; @@ -121,8 +120,6 @@ static int gl860_build_control_table(str sd_ctrls = sd_ctrls_mi1320; else if (_MI2020_) sd_ctrls = sd_ctrls_mi2020; - else if (_MI2020b_) - sd_ctrls = sd_ctrls_mi2020b; else if (_OV2640_) sd_ctrls = sd_ctrls_ov2640; else if (_OV9655_) @@ -187,19 +184,6 @@ static const struct sd_desc sd_desc_mi20 .dq_callback = sd_callback, }; -static const struct sd_desc sd_desc_mi2020b = { - .name = MODULE_NAME, - .ctrls = sd_ctrls_mi2020b, - .nctrls = GL860_NCTRLS, - .config = sd_config, - .init = sd_init, - .isoc_init = sd_isoc_init, - .start = sd_start, - .stop0 = sd_stop0, - .pkt_scan = sd_pkt_scan, - .dq_callback = sd_callback, -}; - static const struct sd_desc sd_desc_ov2640 = { .name = MODULE_NAME, .ctrls = sd_ctrls_ov2640, @@ -344,8 +328,6 @@ static int sd_config(struct gspca_dev *g sd->sensor = ID_OV9655; else if (strcmp(sensor, "MI2020") == 0) sd->sensor = ID_MI2020; - else if (strcmp(sensor, "MI2020b") == 0) - sd->sensor = ID_MI2020b; /* Get sensor and set the suitable init/start/../stop functions */ if (gl860_guess_sensor(gspca_dev, vendor_id, product_id) == -1) @@ -369,13 +351,6 @@ static int sd_config(struct gspca_dev *g dev_init_settings = mi2020_init_settings; break; - case ID_MI2020b: - gspca_dev->sd_desc = &sd_desc_mi2020b; - cam->cam_mode = mi2020_mode; - cam->nmodes = ARRAY_SIZE(mi2020_mode); - dev_init_settings = mi2020_init_settings; - break; - case ID_OV2640: gspca_dev->sd_desc = &sd_desc_ov2640; cam->cam_mode = ov2640_mode; @@ -620,7 +595,7 @@ int gl860_RTx(struct gspca_dev *gspca_de else if (len > 1 && r < len) PDEBUG(D_ERR, "short ctrl transfer %d/%d", r, len); - if ((_MI2020_ || _MI2020b_ || _MI2020c_) && (val || index)) + if (_MI2020_ && (val || index)) msleep(1); if (_OV2640_) msleep(1); @@ -767,8 +742,6 @@ static int gl860_guess_sensor(struct gsp PDEBUG(D_PROBE, "05e3:f191 sensor MI1320 (1.3M)"); } else if (_MI2020_) { PDEBUG(D_PROBE, "05e3:0503 sensor MI2020 (2.0M)"); - } else if (_MI2020b_) { - PDEBUG(D_PROBE, "05e3:0503 sensor MI2020 alt. driver (2.0M)"); } else if (_OV9655_) { PDEBUG(D_PROBE, "05e3:0503 sensor OV9655 (1.3M)"); } else if (_OV2640_) { diff -urpN i0/gl860.h gl860/gl860.h --- i0/gl860.h 2010-03-27 10:08:25.000000000 +0100 +++ gl860/gl860.h 2010-06-01 23:10:52.000000000 +0200 @@ -32,12 +32,9 @@ #define ID_OV2640 2 #define ID_OV9655 4 #define ID_MI2020 8 -#define ID_MI2020b 16 #define _MI1320_ (((struct sd *) gspca_dev)->sensor == ID_MI1320) #define _MI2020_ (((struct sd *) gspca_dev)->sensor == ID_MI2020) -#define _MI2020b_ (((struct sd *) gspca_dev)->sensor == ID_MI2020b) -#define _MI2020c_ 0 #define _OV2640_ (((struct sd *) gspca_dev)->sensor == ID_OV2640) #define _OV9655_ (((struct sd *) gspca_dev)->sensor == ID_OV9655) diff -urpN i0/gl860-mi2020.c gl860/gl860-mi2020.c --- i0/gl860-mi2020.c 2010-03-27 10:08:16.000000000 +0100 +++ gl860/gl860-mi2020.c 2010-05-30 23:40:33.000000000 +0200 @@ -1,6 +1,7 @@ /* Subdriver for the GL860 chip with the MI2020 sensor - * Author Olivier LORIN, from Ice/Soro2005's logs(A), Fret_saw/Hulkie's - * logs(B) and Tricid"s logs(C). With the help of Kytrix/BUGabundo/Blazercist. + * Author Olivier LORIN, from logs by Iceman/Soro2005 + Fret_saw/Hulkie/Tricid + * with the help of Kytrix/BUGabundo/Blazercist. + * Driver achieved thanks to a webcam gift by Kytrix. *