From patchwork Thu Sep 1 06:27:20 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 7733 Return-path: Envelope-to: mchehab@infradead.org Delivery-date: Thu, 01 Sep 2011 06:27:45 +0000 Received: from casper.infradead.org [85.118.1.10] by localhost.localdomain with IMAP (fetchmail-6.3.17) for (single-drop); Thu, 01 Sep 2011 10:01:28 -0300 (BRT) Received: from vger.kernel.org ([209.132.180.67]) by casper.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1Qz0ka-0004B2-Vp; Thu, 01 Sep 2011 06:27:45 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754357Ab1IAG1X (ORCPT + 1 other); Thu, 1 Sep 2011 02:27:23 -0400 Received: from moutng.kundenserver.de ([212.227.126.186]:58489 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753665Ab1IAG1W (ORCPT ); Thu, 1 Sep 2011 02:27:22 -0400 Received: from localhost (p548E0789.dip0.t-ipconnect.de [84.142.7.137]) by mrelayeu.kundenserver.de (node=mreu3) with ESMTP (Nemesis) id 0MYYR3-1QlaTQ161Z-00VqD6; Thu, 01 Sep 2011 08:27:21 +0200 From: Thierry Reding To: linux-media@vger.kernel.org Cc: Mauro Carvalho Chehab Subject: [PATCH 1/2] [media] tm6000: Add fast USB access quirk Date: Thu, 1 Sep 2011 08:27:20 +0200 Message-Id: <1314858441-30813-1-git-send-email-thierry.reding@avionic-design.de> X-Mailer: git-send-email 1.7.6.1 In-Reply-To: <4E5F1C87.9050207@redhat.com> References: <4E5F1C87.9050207@redhat.com> X-Provags-ID: V02:K0:8vtIqUtTBIWNBJ11kDYSiqkF6jncIiAp5ws31mGWoT8 FzRy87Fcf+AtUDXFPB21ELQKjDBwr7NOoDUPhKLN3Av6+WH7Sq 43olKC0jgkgKGCL2xx3EpPSxBye7aDcQSwLf0is/qaj0z4998w PHmgbGfbYtj+3XyqjhZ/HarlRReJ3q3xCH1KSuAHSE0qqY5QFN Au+tb1Wtt5d7zqltXJ4pHCWu1l/g/vSWbCBrlzQ7rlzlN/mVlx QMl8N8ZdjQwPn+tfoEx1A+c2mHhGIiEiZvockXVTgUUcTutXOV sq2T6chxeO00snkJhA6AT9MM9lttvYlVxeX8VqkM1NU5XAR+62 xPhL2WMHDKCvIBoKTkLEb1Yt7/+eAz33x9P7lmNPON14oqsVAW TIPgg8ZI124tRc4y8jN9AGGpAZ42jasHmg= Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Some devices support fast access to registers using the USB interface while others require a certain delay after each operation. This commit adds a quirk that can be enabled by devices that don't need the delay. Signed-off-by: Thierry Reding --- drivers/staging/tm6000/tm6000-core.c | 3 ++- drivers/staging/tm6000/tm6000.h | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletions(-) diff --git a/drivers/staging/tm6000/tm6000-core.c b/drivers/staging/tm6000/tm6000-core.c index 64fc1c6..93a0772 100644 --- a/drivers/staging/tm6000/tm6000-core.c +++ b/drivers/staging/tm6000/tm6000-core.c @@ -89,7 +89,8 @@ int tm6000_read_write_usb(struct tm6000_core *dev, u8 req_type, u8 req, kfree(data); - msleep(5); + if ((dev->quirks & TM6000_QUIRK_NO_USB_DELAY) == 0) + msleep(5); mutex_unlock(&dev->usb_lock); return ret; diff --git a/drivers/staging/tm6000/tm6000.h b/drivers/staging/tm6000/tm6000.h index dac2063..0e35812 100644 --- a/drivers/staging/tm6000/tm6000.h +++ b/drivers/staging/tm6000/tm6000.h @@ -169,6 +169,10 @@ struct tm6000_endpoint { unsigned maxsize; }; +enum { + TM6000_QUIRK_NO_USB_DELAY, +}; + struct tm6000_core { /* generic device properties */ char name[30]; /* name (including minor) of the device */ @@ -260,6 +264,8 @@ struct tm6000_core { struct usb_isoc_ctl isoc_ctl; spinlock_t slock; + + unsigned long quirks; }; enum tm6000_ops_type {