Received: by 10.223.164.221 with SMTP id h29csp423472wrb; Thu, 12 Oct 2017 23:06:10 -0700 (PDT) X-Google-Smtp-Source: AOwi7QANDL9fij+xUMMI36jJJDe2XVtEUjtcCsWx0NrEYJ66qiLrrZvmuNMkU0PLLHImgMnNhxqn X-Received: by 10.98.70.137 with SMTP id o9mr361766pfi.19.1507874770526; Thu, 12 Oct 2017 23:06:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507874770; cv=none; d=google.com; s=arc-20160816; b=p9L9bo377w9ffKWXRPfgIu3kmCAxiGAF5vxvSAN4uo3aV2Lm50lFDLSldRDBjKJiaL ULW+ZopqLCo6sMPTLQNbuZcr0QiOyXsHkeNGS+W6lIBxHy6ZEZ+fdsYt/X14+El4Efee Pa9Gu11G1MkvWiG0Q2LpvjV9shVBaAJ9wjlVm112KkgSD/97xEdYCsChkGtqGyAz5ZtL Sm/xHbLtavceWG+NhF/qnqN3Q6rMDzitMCZ5W4Yp50BG/A+9VqFwUVAAlnCEzHSD8dDI 9fSwIpNH1z52g+/JZFoqx55YKN5DDiWI8dnqseDNYCM3goSKFWF3UI85vPD8qy0Q9/65 CQUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:spamdiagnosticmetadata :spamdiagnosticoutput:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature:arc-authentication-results; bh=AdMJ2laWH0zMT4sLdGZVALPsfIAq/dulsEhyq9J4dSM=; b=Kp6mYgYZjaTpdUK3TGUNIVOi2cpBUGKZQVaOUbrgl9CexMWSHkeOwyLOKZGrD/YHUv L4TY0TuwPreNmokFbrk0ZQMZNB9+6kskEDG8/mDUEszg/knQWNtVuwklw7D30C6H5MEX uel0EdvSONlaptZGfA1IXrwyRDaZ2aVeYAFEyQ2IVVzelasKxRCGw9VVcgfW2oVsu9TI tHPu5W7by7JZZU4Niy2+eec3nknbiYGubklnIi/7aVx1Jenoqj39343JrzmNTC9k1+MB /awE59GM2LX5Y8WnCRf7XIo5VSP/raHAPji4MwhBVdx26gfX3zwuEFuuhGj8W4s2K47H Gung== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@Sony.onmicrosoft.com header.s=selector1-Sony-onmicrosoft-com header.b=GOJHDnI8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w62si151056pgd.355.2017.10.12.23.05.56; Thu, 12 Oct 2017 23:06:10 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@Sony.onmicrosoft.com header.s=selector1-Sony-onmicrosoft-com header.b=GOJHDnI8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755463AbdJMGFS (ORCPT + 99 others); Fri, 13 Oct 2017 02:05:18 -0400 Received: from mail-dm3nam03on0135.outbound.protection.outlook.com ([104.47.41.135]:45463 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751849AbdJMGFP (ORCPT ); Fri, 13 Oct 2017 02:05:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Sony.onmicrosoft.com; s=selector1-Sony-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AdMJ2laWH0zMT4sLdGZVALPsfIAq/dulsEhyq9J4dSM=; b=GOJHDnI8jXU/SoGfbdeaC1w40ypxtm2fKAz3E8CFX7bBYPQRfsExb6q35bYyaz/IZQs4VgFUv4qPLJZYBLkci4YQXDZSEYCLvkR74cKejkWOlxa9/LbdoQytG6n/DgaWXkzLy1ghmXdYJlIHPZKLwODwtAdh0E3LLAjoQ6amG64= Received: from DM5PR13CA0047.namprd13.prod.outlook.com (10.168.240.161) by BY2PR13MB0453.namprd13.prod.outlook.com (10.163.114.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.5; Fri, 13 Oct 2017 06:05:13 +0000 Received: from BL2NAM02FT048.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::204) by DM5PR13CA0047.outlook.office365.com (2603:10b6:3:7b::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.77.5 via Frontend Transport; Fri, 13 Oct 2017 06:05:13 +0000 Received-SPF: Pass (protection.outlook.com: domain of sony.com designates 117.103.190.44 as permitted sender) receiver=protection.outlook.com; client-ip=117.103.190.44; helo=jp.sony.com; Received: from jp.sony.com (117.103.190.44) by BL2NAM02FT048.mail.protection.outlook.com (10.152.76.109) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.77.10 via Frontend Transport; Fri, 13 Oct 2017 06:05:12 +0000 Received: from JPYOKXHT105.jp.sony.com (117.103.191.52) by JPYOKXEG104.jp.sony.com (117.103.190.44) with Microsoft SMTP Server (TLS) id 14.3.361.1; Fri, 13 Oct 2017 06:05:03 +0000 Received: from localhost.localdomain (43.25.41.74) by JPYOKXHT105.jp.sony.com (117.103.191.52) with Microsoft SMTP Server (TLS) id 14.3.361.1; Fri, 13 Oct 2017 06:05:03 +0000 From: To: , , CC: , , Yasunari Takiguchi , Masayuki Yamamoto , Hideki Nozawa , "Kota Yonezawa" , Toshihiko Matsumoto , Satoshi Watanabe Subject: [PATCH v4 06/12] [media] cxd2880: Add integration layer for the driver Date: Fri, 13 Oct 2017 15:08:34 +0900 Message-ID: <20171013060834.21526-1-Yasunari.Takiguchi@sony.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20171013054635.20946-1-Yasunari.Takiguchi@sony.com> References: <20171013054635.20946-1-Yasunari.Takiguchi@sony.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [43.25.41.74] X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:117.103.190.44;IPV:NLI;CTRY:JP;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(39860400002)(346002)(376002)(2980300002)(438002)(189002)(199003)(49486002)(54906003)(66066001)(316002)(246002)(106466001)(86152003)(6306002)(8676002)(16526018)(356003)(2876002)(1076002)(86362001)(2201001)(305945005)(110136005)(47776003)(2906002)(16586007)(189998001)(8936002)(4326008)(478600001)(36756003)(6666003)(106002)(50466002)(72206003)(2950100002)(76176999)(50226002)(50986999)(39060400002)(5003940100001)(48376002)(512794004)(7736002)(5660300001)(3846002)(107886003)(7636002)(6116002)(2004002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR13MB0453;H:jp.sony.com;FPR:;SPF:Pass;PTR:jpyokxeg104.jp.sony.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2NAM02FT048;1:VNd/d+fOmZ9onGjX4cVcXTIA4ESGJLOZIR7vGccrOhoWKgp6oOVtJ7LJwAm4Y/QFBbirI11ZlGEXUfqy/jrY5JyA0rHEWSyRaYuA2F7eUD17DuyRjkdyyZdRjNFhlTd7 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7f28de34-9d00-4c96-40d3-08d512005e19 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254152)(8251501002)(2017052603199)(201703131423075)(201703031133081)(201702281549075);SRVR:BY2PR13MB0453; X-Microsoft-Exchange-Diagnostics: 1;BY2PR13MB0453;3:jTKPAFNGZMJIR5wvRwRTxpc3LmtdRzelRDgquL8GYaqigAtgp0ef304rFcvMJCYz3KHHPFnp9t+1IXT2lJRmZx+TosKbH0Z1IHW4Z8BlPIxnC8tFoVm0L9xaFf7E+YPlfQKVqsWA1BubWDxWDpSTwjCFrtZvlubFFNq3IqOPpokLluyT2FrboU8kD3Pfmim+DO8cFDbKN5YZKhoRPQPdU7GiEwChci6aZ2W3Olf03r4pDwmY6ltfwJyTjsLenplr1m8I/Npda1+2EVy+bJLnXPHf0U8zWPXOwJaYCI+utrMeYYmtnWf6jObW0Br4AN/epe/MlXgz0qUEagGwbtJNC5pPkZbxN2EuDCtxfY4ZuoE=;25:B8y1/6kHjKTqJp8m4Ot4Bibn74KjQnSrkSjRFGrGW+R9HGFZ4KoviC/niIkXgnJY6wjIq7b7PHBPSwP/ZgtBs16SuX3TeaVjZFyOA+Ux7LQt4IV9gRSbfPrvIzjm3r6tlbuUcQ2MNNfMz7hyBsQmXmMHNsWRyEVoDBOKn6ozx1onBLSsqQniOT7kCbDQ5wWb31P0bzCOHhZXMXVMOnAaoC2odJNNDiSVvI44OHnRw99muAYQXs2xqrhDSfo+sKjarMVQ0rw8Uc4xRMUFm7KAkmTMuKtJ+6Wui3XyaRh2CRzynVR9E8UTfJy/7iToyWVwyHMZnfSUSDw6gr7HuyuL0A== X-MS-TrafficTypeDiagnostic: BY2PR13MB0453: X-Microsoft-Exchange-Diagnostics: 1;BY2PR13MB0453;31:ZkdOxTIlk13lHarbGMZ7he+6X6Us0e00Cvf45Na26b+MA76beKD2tha/+smooD/VylG6g7SRNooEIdDkmblj7RZb5NHGG8EgXKUNvyilVBq42kbsubnpF+sFs9oeC4i/w8iO90s2ADUgpCk1GrZsRq0Jp56zSeOFRu0MwLWLs8VA2HfWYMWrFT9DgrcxpTKWeEDP5iLPcNOYcKzwZj2RAfRnI09MxUpLL59leXYp8mg=;20:pJel1RL4ewrfY6LoKjq+iZRQBY0uBOxLk5RMKyoTNJIELdXCrl2Ugsiz81wR8GLceEurwF178iwjT0vOg/ypAviHaSIgNNG6Xhogjw25Ohi5DIL1NsD5UrJKS6jXYUCZNpHHR47cKrYuFiJ4kWBYlhol4DJqLQloIz8/+d+6cPoSRfmNt9AVHNgrTm5bRy5k4JuidQfScBqiDyyBOz5gTRhV3F61t4QU8BnX8loOjAUNsqLHoU8ndKrsTX1YepJvkS2hnpwjklKnURL+xKGDNy0JQb8G2QwubPo17+XY5LM1jdYRbjh0E/7iaN5lGaLkwvmlVG44g434eT8koKQvmJJ4JUxLVTv3Hcw/4Todh/6rk0PUiFc7GmL6fYQGNjz+lNgyhzECSNd4Z/NIg641xE8HlWSlYcB6LBaRRay3xJnkVBtwghPpfb0tFWdeJoUXg6OkNIDaZoFuKwB14b927D0KyKxLxLz0PyV1e+YYEqQkFrT0CnePQheF5pLmAKPQ X-Exchange-Antispam-Report-Test: UriScan:(250305191791016)(182409339516656)(22074186197030); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(93006095)(93004095)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(20161123562025)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BY2PR13MB0453;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BY2PR13MB0453; X-Microsoft-Exchange-Diagnostics: 1;BY2PR13MB0453;4:JfxflvUmh0NvqddjNkd90+FMv2iOlXPU7J8vN4/h+F/nKrI+M40/WKFJnfFY+Dsu/CogGMZW/73u7Wn/9ihZzufytLDMbK+HzmNgDumq+3KPXlwQo01mKZAtLC3Cuvy4zZ30uZ65xH4a+RwDsyl0wfagWAVy6suMIDMnuez1q81XbkREafd5BsTw+oDtM0wjYt6lreHnsQVJj5qtf9Ktj5NIlPvTPY7uRGIqOo0whjX9+sHGed0DjlU7vDojRmKmu/6GPqkhuppJZDmvAXMXpgr0JqYIF8xRtRYHT814IvYNQmZI9qJGCS+jMHk5RtFI+OCUSw11ORaCTSOp4R1sfguFiIrodq3SKuFE7bdeqCtDYlZ0uGRUNf0DlKZ/ge2P X-Forefront-PRVS: 04599F3534 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR13MB0453;23:LGc1mT+aynGmuRhUwba1lKVXymaJ9Fg9TbdniMEYm?= =?us-ascii?Q?O9WWIBav5Jaogd0BU5zg6Qv94/WQPBLuylN7NRAwVnZIAAmUIaAe7ZPmZeLc?= =?us-ascii?Q?7AaQMPDVsfV8He4mNjvtdYWWf8oRbr4tJFd5ChsY1BMsiIT5zictJecZvd1O?= =?us-ascii?Q?7aiBYx42RQ3olTPafk9oVtLi63snxGNs1mkzVZf+OjmoUi61jtf9zGyGJ0ta?= =?us-ascii?Q?onAsnDxDhi2AAB5zt+HlYgndnQZVtYNN9DY0T/j4U5rdH80Cv/yHN/IIZ8Z/?= =?us-ascii?Q?GLQjGZsUQf2GXizWhJrH2BG7lz2on9f6XHj7GDBh8ImboBZZnvPhUzCMo3bh?= =?us-ascii?Q?dmoZqXp0fJh4i31E9hedOC3OBfVzapiSntslpPnGZ/diz8YX1aD46iJMn+K8?= =?us-ascii?Q?ucDm90bRMhzdn2eQrTQErXhEmG0va0Jy5nzH44IdVFSD4RHXlnCS89SF7Qbt?= =?us-ascii?Q?QnNj9u/4GYwR3eEMb0qA4Q9EM5bI2W1ImvsQlWDDXBHpM9mt8Q8rLhQ5ungP?= =?us-ascii?Q?W5PU9KL8ceP3/0Ch8FVFiDdlIcjj7BJbbzbjWEUNdel73eRNbX1yZbwGwIxO?= =?us-ascii?Q?XThDe3a84wyCaKtHC2NbyN+OC/txUyPe9FF8MR66Q/yE1Im132vNlSsqRerH?= =?us-ascii?Q?Gfws5ggT06ux/FGEmDHASfrTxT5QiJ8ilCgdkST/ih+oDgPdFK5Fm0JFEHgt?= =?us-ascii?Q?iLVx8d16t4DV8XRO40Mnqop30UaMIFbWTA884nXCYvbuJW6NDxUG/YGMg78Q?= =?us-ascii?Q?A9rtXXeESQVteV/Qgd63GAgnvnuzHPOw5fFCTTjZLhYpvqHUVV6cppMgD+pz?= =?us-ascii?Q?cTVtONVipoJUeD3/YxN0JrWZhbS37hYX8R1nJsOh3/QslEXvTIf/mKHcc/91?= =?us-ascii?Q?USFmPywvErto1ImIe+zA4xV7KIEHL/ypDIE+VKWbWnLRURnX1zdHWGj9sKVQ?= =?us-ascii?Q?UEqdQdo0wJry4C7BIYGY23fdLWKiu9v7amLkwfQqjeDYIuUqVYnBhnFKhcMV?= =?us-ascii?Q?0E5vw4eWxXPzyGYKheECN36MRTZ9XRiJZN7XXVr6a3q/klLI8LgYXkx218HC?= =?us-ascii?Q?YqIQatGywwc/fe0TSwEYUQsGUfoW3Txtv7nKlRjGlRkk4z/4OCGBBuVhtqy3?= =?us-ascii?Q?W2ZXkXh4CoZmyInXq2326XZVqkwl+3dzPzAq0gOttYT9xiHJHXkX31eoMp3M?= =?us-ascii?Q?itQL2uERvDLQReX3XbVeihvbT0FhzbTt78P?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR13MB0453;6:ssZxcBTOmS6DGR5Zpj233ubXDQgDoKmF1ylJLv9F/68QucreZAaS0AuYxRcidCM4IrvAXprdd/MeFYT3KLu62i5kGoPvWh8+o8TFPf+c8QTAz/aG1ahiE+N08GdAno/jonmH41JeI+XhKLfirl6xQ1oHoxWOTxmZ4i1nSkrFFqlWzYXfq1tlj9cf7eW7FpphRnnTkJtiwdAzjOdy4/WUJMi+RaKhPLvHURqekrdZ09WCQLlt11fha7QFZv7+GhXdQi4x+dS2r1ern5jP0/CoFa+Uty6nuTNzrUYFxdpj2eq3R1v/vovpUTP0jmVNMl/3jZwhY4g92/v8eWCL5LKrEA==;5:ymBmM0MrFKfihfaySMq6hnxxBAZrHKAhlXOl+uO92PNwkiYl9eI4WGYIhKV20pMhe6F3I1m1c8Zr2y/v9D5AOMNCZvOkY4a6ISBiIuO+Z9csQajnx1NZ7//RQxYfenX0cKW03pWmyGfeatS2ne7PMQ==;24:cxDzxCPiwM1N2wGiE/Y0pKOZJIdqMoL/OINRgy4WyBujofpL89cYtA1q4OP7NfecPp5bm3/v8zRLV9nUzQV/0Db8WHAi/YK/9FeYkTD9hnM=;7:hKTCvi6LaWoTYga9vx2687DyGud5Jb5ZgfqC/5ClIJV17t6Y91UoJsauInnR6f6u+1ar5c2/Os5O6CL29VB0/xgIl1RWY6UaqppzqVPsFL4W7s5OxU0M95lFeo0hDTSpIqPTMQR4bCDop6pNsjRAPqq6IF9Fbui8fZjsgMMWzzPYXN+luhFL7kPmmm2fE2y3kNy2YnP6Gnx1T+bQKeXVBSme6TxVfxhwtihwtb//eqU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: sony.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2017 06:05:12.6118 (UTC) X-MS-Exchange-CrossTenant-Id: 66c65d8a-9158-4521-a2d8-664963db48e4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=66c65d8a-9158-4521-a2d8-664963db48e4;Ip=[117.103.190.44];Helo=[jp.sony.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR13MB0453 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yasunari Takiguchi These functions monitor the driver and watch for task completion. This is part of the Sony CXD2880 DVB-T2/T tuner + demodulator driver. Signed-off-by: Yasunari Takiguchi Signed-off-by: Masayuki Yamamoto Signed-off-by: Hideki Nozawa Signed-off-by: Kota Yonezawa Signed-off-by: Toshihiko Matsumoto Signed-off-by: Satoshi Watanabe --- [Change list] Changes in V4 drivers/media/dvb-frontends/cxd2880/cxd2880_integ.c -removed unnecessary initialization at variable declaration Changes in V3 drivers/media/dvb-frontends/cxd2880/cxd2880_integ.c -changed cxd2880_atomic_read to atomic_read -changed cxd2880_atomic_set to atomic_set -modified return code -modified coding style of if() drivers/media/dvb-frontends/cxd2880/cxd2880_integ.h -modified return code .../media/dvb-frontends/cxd2880/cxd2880_integ.c | 98 ++++++++++++++++++++++ .../media/dvb-frontends/cxd2880/cxd2880_integ.h | 44 ++++++++++ 2 files changed, 142 insertions(+) create mode 100644 drivers/media/dvb-frontends/cxd2880/cxd2880_integ.c create mode 100644 drivers/media/dvb-frontends/cxd2880/cxd2880_integ.h diff --git a/drivers/media/dvb-frontends/cxd2880/cxd2880_integ.c b/drivers/media/dvb-frontends/cxd2880/cxd2880_integ.c new file mode 100644 index 000000000000..7264fc355d6b --- /dev/null +++ b/drivers/media/dvb-frontends/cxd2880/cxd2880_integ.c @@ -0,0 +1,98 @@ +/* + * cxd2880_integ.c + * Sony CXD2880 DVB-T2/T tuner + demodulator driver + * integration layer common functions + * + * Copyright (C) 2016, 2017 Sony Semiconductor Solutions Corporation + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; version 2 of the License. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, see . + */ + +#include "cxd2880_tnrdmd.h" +#include "cxd2880_tnrdmd_mon.h" +#include "cxd2880_integ.h" + +int cxd2880_integ_init(struct cxd2880_tnrdmd *tnr_dmd) +{ + int ret; + struct cxd2880_stopwatch timer; + unsigned int elapsed_time = 0; + u8 cpu_task_completed = 0; + + if (!tnr_dmd) + return -EINVAL; + + ret = cxd2880_tnrdmd_init1(tnr_dmd); + if (ret) + return ret; + + ret = cxd2880_stopwatch_start(&timer); + if (ret) + return ret; + + while (1) { + ret = cxd2880_stopwatch_elapsed(&timer, &elapsed_time); + if (ret) + return ret; + + ret = + cxd2880_tnrdmd_check_internal_cpu_status(tnr_dmd, + &cpu_task_completed); + if (ret) + return ret; + + if (cpu_task_completed) + break; + + if (elapsed_time > CXD2880_TNRDMD_WAIT_INIT_TIMEOUT) + return -ETIME; + ret = + cxd2880_stopwatch_sleep(&timer, + CXD2880_TNRDMD_WAIT_INIT_INTVL); + if (ret) + return ret; + } + + ret = cxd2880_tnrdmd_init2(tnr_dmd); + if (ret) + return ret; + + return 0; +} + +int cxd2880_integ_cancel(struct cxd2880_tnrdmd *tnr_dmd) +{ + if (!tnr_dmd) + return -EINVAL; + + atomic_set(&tnr_dmd->cancel, 1); + + return 0; +} + +int cxd2880_integ_check_cancellation(struct cxd2880_tnrdmd *tnr_dmd) +{ + if (!tnr_dmd) + return -EINVAL; + + if (atomic_read(&tnr_dmd->cancel) != 0) + return -ECANCELED; + + return 0; +} diff --git a/drivers/media/dvb-frontends/cxd2880/cxd2880_integ.h b/drivers/media/dvb-frontends/cxd2880/cxd2880_integ.h new file mode 100644 index 000000000000..2b4fe5c3743b --- /dev/null +++ b/drivers/media/dvb-frontends/cxd2880/cxd2880_integ.h @@ -0,0 +1,44 @@ +/* + * cxd2880_integ.h + * Sony CXD2880 DVB-T2/T tuner + demodulator driver + * integration layer common interface + * + * Copyright (C) 2016, 2017 Sony Semiconductor Solutions Corporation + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; version 2 of the License. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, see . + */ + +#ifndef CXD2880_INTEG_H +#define CXD2880_INTEG_H + +#include "cxd2880_tnrdmd.h" + +#define CXD2880_TNRDMD_WAIT_INIT_TIMEOUT 500 +#define CXD2880_TNRDMD_WAIT_INIT_INTVL 10 + +#define CXD2880_TNRDMD_WAIT_AGC_STABLE 100 + +int cxd2880_integ_init(struct cxd2880_tnrdmd *tnr_dmd); + +int cxd2880_integ_cancel(struct cxd2880_tnrdmd *tnr_dmd); + +int cxd2880_integ_check_cancellation(struct cxd2880_tnrdmd + *tnr_dmd); + +#endif -- 2.13.0 From 1583600418383579709@xxx Thu Nov 09 14:50:46 +0000 2017 X-GM-THRID: 1583600418383579709 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread