From patchwork Thu May 3 02:42:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Satish Kumar Nagireddy X-Patchwork-Id: 49169 X-Patchwork-Delegate: laurent.pinchart@ideasonboard.com Received: from vger.kernel.org ([209.132.180.67]) by www.linuxtv.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fE4DG-0000EL-GD; Thu, 03 May 2018 02:43:19 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752013AbeECCnQ (ORCPT + 1 other); Wed, 2 May 2018 22:43:16 -0400 Received: from mail-sn1nam01on0082.outbound.protection.outlook.com ([104.47.32.82]:36667 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751969AbeECCnL (ORCPT ); Wed, 2 May 2018 22:43:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=bT7XCBDScBf1A53ZUQLCL6xytMKuF6N6Dau4cUSJXYs=; b=xFpSGPeMwguX/5edupwqZmyXoFhbzj++XO18JPVvthv3QfqpGjDfXeeHXfVQUhe6QQOvHeHfdYG4sCu3V38nl4edBB4lHLOHNr5kLqAxKHnZTOola/78wUfX0mMcROEZxaf8CQpyaS3oG7wYBDGlFS1J7IMX3SRsqJ/fFz13FU0= Received: from CY4PR02CA0008.namprd02.prod.outlook.com (2603:10b6:903:18::18) by CY1PR02MB1673.namprd02.prod.outlook.com (2a01:111:e400:529a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.735.16; Thu, 3 May 2018 02:43:10 +0000 Received: from BL2NAM02FT027.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::200) by CY4PR02CA0008.outlook.office365.com (2603:10b6:903:18::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.735.16 via Frontend Transport; Thu, 3 May 2018 02:43:10 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; ideasonboard.com; dkim=none (message not signed) header.d=none;ideasonboard.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by BL2NAM02FT027.mail.protection.outlook.com (10.152.77.160) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.715.13 via Frontend Transport; Thu, 3 May 2018 02:43:09 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:39312 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1fE4D6-0006RZ-O2; Wed, 02 May 2018 19:43:08 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1fE4D1-00058K-KK; Wed, 02 May 2018 19:43:03 -0700 Received: from xsj-pvapsmtp01 (mailman.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w432gt19009729; Wed, 2 May 2018 19:42:55 -0700 Received: from [172.19.2.23] (helo=xsjsatishna50.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1fE4Cs-00057Q-VB; Wed, 02 May 2018 19:42:54 -0700 From: Satish Kumar Nagireddy To: , , , CC: Rohit Athavale , Satish Kumar Nagireddy Subject: [PATCH v5 2/8] xilinx: v4l: dma: Update driver to allow for probe defer Date: Wed, 2 May 2018 19:42:47 -0700 Message-ID: <956455000d75b749cdaadea2662d09f4a905e056.1525312401.git.satish.nagireddy.nagireddy@xilinx.com> X-Mailer: git-send-email 2.1.1 In-Reply-To: References: X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39380400002)(39860400002)(396003)(346002)(376002)(2980300002)(438002)(189003)(199004)(106466001)(305945005)(72206003)(2201001)(8936002)(336012)(47776003)(8676002)(15650500001)(2906002)(81166006)(5660300001)(110136005)(81156014)(6636002)(50226002)(478600001)(6666003)(107886003)(63266004)(426003)(54906003)(77096007)(4326008)(11346002)(26005)(118296001)(59450400001)(48376002)(446003)(7696005)(51416003)(486006)(186003)(476003)(36756003)(76176011)(126002)(2616005)(356003)(316002)(50466002)(36386004)(9786002)(106002)(16586007)(107986001)(5001870100001)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR02MB1673; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT027; 1:oIOOg23MK6XA3amQZL1AwB45e1F/qOuRKlaP/4LzPg7+hYUrkzZ6IDFYuIe9m5wBx3+/k+E4bguEi2DKNjfMzkChO/FHQG/81fhWpAQKj6qXKtKi3GzkD8wJk7PWMdyY MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4608076)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060); SRVR:CY1PR02MB1673; X-Microsoft-Exchange-Diagnostics: 1; CY1PR02MB1673; 3:46d/TziKD/5T6KyWuNfI8AQ+rctXI5LmVaPjWHWSfmySDbwzx2rgmKg3CxfUevlHEJC8R4E63+x3iJkJrsL9/VWhxhsQmFisJ27ECA83SNW+QjKPC3I8aWt3UnY5FzpUNHXtxNsp0TarECB7dV1fJjWBfR/51YXY37LfhY+CQPlK9kUZTHw9prP8Il3g0XQKEOq3zSMUaW9juzh467oAviDBBzH9y0UI/jLmY3OwrRXwkJn9utCjdLn9B0bjeqKkj0kKkWGsUw6/ja9UktKElE8oJBG+4ZYrUcDp5R5lUcXP129NftUKwLXGi5Wb1Qbo9ccbdez2meftYQ3F9NbS8zQiKI7+CsaUFLj54riqNqI=; 25:ttiZq9L84ChectiKt8xoqpZvxDbzIo/f6wNMsLKVrfn67cXKRqs0MgY54L1DDZw5RjE6y9LiThx1MXfl/HNpU4/++eubIH1ompJZwWEegUmHbRSFpXMdKTNHrE9qXpmpUpxne711gZqqpiOlBKA7zZ8YZyK4SRXtvXoXZY3LTUAVWet63VreEw7/mAvXSzOePaEolDFxq3Z4QZgcXmfbWsPlnaShxTR8QZdMyVM+JUe0glIKk9bJadsI17Koi2NYs+26bXkPTHufNHClmeDFhVTG/9X+6+KN9IXUynD5lWqTIgdptfqFhoigIXAzjZ3Uvpv7GPaElLhzJ4fPQ3dUcA== X-MS-TrafficTypeDiagnostic: CY1PR02MB1673: X-Microsoft-Exchange-Diagnostics: 1; CY1PR02MB1673; 31:/XKwkovcnmdKDyyBfC3Lv6S9JjkYzJCwMGBQX3XuIHxm2RDgS17Jk4qSVVKbtpah2F5/PFGsn/Suw/N4mMNhsUXqm5mc36po5gR0U2slMYYYNI5XoIpx38L/iHv/Lv/46e170e0ZSU58wJeJb1vKIH9Mo+fUHPrVp5tJhaT3C56xohg9pNXMEXNxvt35BjJk4X801sLvxuYM8il/QpHZgLf3S4gftZYC85sYmtY3Pd4=; 20:j7XuXYt9j0BwHogZsT9Fw0oSCSMaMYkQMzKqsfeyHVXAifSxMHKdt4owUzUmennR0PH/amnpMRFg0JM8VB5sUoEKAXS2LbraYTo2AVcwy9WUdxtB7j3W9c1hMOBgnYEKq3r9DVQ0SrAiQrw77Ie/Z0bXXNBMPP7YC7FvGFi1Ck1bnA1CKbYGZEYFvXgSW+TdxypTeXNQSmHizrNfyxa3rDd+1zk94+42j59VTiF/YJYo+hkHDSNPCoa5T6jU3tMzCM6ALnjpINwo3bpjtzUd9u4DsRBLW4UCkcLRWlZ2uEfKvq1PMyDBWd2dsK2XlezJDryPDpxetgHJYfBTNGnW1Wo+COz7zDxiPVZT3FKBcDqqXHaWa1TBuZl07uIiIefnWrwzL8GeUWbgknXSKUuXM+3MZ17pnzAHRX+xGg/S67Z4AziJ5JWrkAEyoImpZzfaHCbMz7d+weLqnZ3ZFraTykyPO6GgVKnCIHKLhWaJ4egffgQ+PjQfFOm2/o5h7vBJ X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3231254)(944501410)(52105095)(3002001)(93006095)(93004095)(6055026)(6041310)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:CY1PR02MB1673; BCL:0; PCL:0; RULEID:; SRVR:CY1PR02MB1673; X-Microsoft-Exchange-Diagnostics: 1; CY1PR02MB1673; 4:XC0wbAmcL1mDExpf1dFYSHLvVyU9r0paqV7t6ETWC+o+HHFJhiKDOJdxYSy9QsIZbpiQL07HxSMwbTJdFu4Mkp3j7xjG1Stt9W4FvJe3qkjii+UnYl8l+D+mmSlO5crn4LmaSz/I3IMjsM9HMJV2EmHJvc0PDGIEtIcbNqRFAZ4WmxhyfAfjQR9uAueJgO6NsA9g19ZLrJxvQIjI6NwTMJYNZH6vHdoZAotvVDVDqIVtNX++Kv3sx+06TlQrp5n/fMfScXUMWqT+YnfZjAS0O2TuTvPqyoQZOsW9uFw3E+6NN3IQsUMco/NNXFli0y7p X-Forefront-PRVS: 066153096A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR02MB1673; 23:2i33daq/mEK1JkJ3cWHeq9IDSt35GgUJ1kMC+PnUA?= =?us-ascii?Q?lTU9RW9LD0J68S2MuXr1WwPDSG2WTEmTDsqrLxbpwKQo3YYDH5qvjpLwQDkI?= =?us-ascii?Q?YfvdpeKpMo1Mkm0oJuB8MeFAQRTD3rqG7Yguo/oJVLS3pLxgBo2Hs4wGwbCb?= =?us-ascii?Q?GzN92cQsSPAUjzuHzDL4QASv7xznA2HVU242FB3ids5NHnPOduNEYp0dFi5o?= =?us-ascii?Q?T5sdx4EfYBpowmKKK+/OarNbvd2sCwBPUCHOvkDFFbmFDcl2DQJmEDoNLrFR?= =?us-ascii?Q?QgJ8zIJkt3VglEK0wetF1T6xitQ3quZBBoPdIzgwqdt06xirH6FhhWH2ctFw?= =?us-ascii?Q?SHz2ucrPeAMSN4b87X04afe/0QSVCqoLZWaBndLM3GV1DOWiNgpVbatoYIyj?= =?us-ascii?Q?KAIAEiDkoX8C7+qvqH+AF9gyAbnwRcfD1Pc6uzCc7OWvPDb4PAg907fdSNL/?= =?us-ascii?Q?TKS6ivMg5yhpQ5imgBHWGuFd0UsL+6lp6dIE1z9j+0aPkTQRzuJI5tvQKCW/?= =?us-ascii?Q?J7r8srOnZLHtCPfIbG8SvjFAXyjWm1OY087Dws34g4IWBbYV+sBTlhn164hH?= =?us-ascii?Q?BciNgjCGn/tAdgw5FGPulG6RqsNcn2eQ1Ft6SMrdbZp2T43fShSBvbeKBrxg?= =?us-ascii?Q?+73YTRanbhtnAUB4P/4JHKI0nJxQlHNj7n6ZksIu7EAVkzZt5IbZz8B02DtA?= =?us-ascii?Q?QbFZMkk0Lnb6pFIv0qW3EMynp9lXL9XrLR+htfe0TTLZtr+3wBWRquGKOhyt?= =?us-ascii?Q?16dOtjKsnik+BD+IoibF4ym8Wq95erhmRocIy396c+3GVH7JAfS/n0YywQdp?= =?us-ascii?Q?MofJtSnhXI+XGATfkmR64KDEbTSsfE8TEhy9cH9RMMhp8j5u1fv1ERwjSuXE?= =?us-ascii?Q?qOleukRiqVfPeW3TTYLSVCkMxyn1BQPHZn3Vix/0T2KPT5ztUVqdTdhqKRjw?= =?us-ascii?Q?AKwGZeW7EmRTGvTkj2Wxa608JLzedxjaDc+BXwvHSmdZ6zUtp4kL0Vqs3dQ/?= =?us-ascii?Q?GTzP0d83cE41eT8A36Rp41rJShkRvsSKvT1NNammJgMiWe7tuKzU3C5MM0OZ?= =?us-ascii?Q?3LY6ATWTvDBU4c/seQOYpwvR2g3xgMXTT2I3w/J4C+c8++DMqYb/cneY7IJH?= =?us-ascii?Q?OnmRtgKjdIyMJEXhcZMCy36K+C/33liVA8A/2Lbl2sgM68gCmK1N9WRJ1cZJ?= =?us-ascii?Q?chWVq2tZMQofuW5t7sNQ/fbxMTiss8tKrFWuXEP0xUYwYsCcjdoTH7aULnLe?= =?us-ascii?Q?mrdw3BwqnNuV9duIpFZZr2N5Uw8wip9eiKeyiGac9v8BwnQs2S/9/fnIKV30?= =?us-ascii?B?dz09?= X-Microsoft-Antispam-Message-Info: vB88fIan9rvWkhr16OizgfXWn/dkrSs0ax+dXraeSOPhfdCIQrH7KiUuHGg2UyT9aUVS22disYQgzkSnQv6YIPpsD5lFM1IZ1Fm1MzoM4zwT/YnQ+wO++3hZFCbXOuNp9VQHvIRstYVCE64DAEU6ujzJES5x0aEDJbP3k87oTMjT1qA8D3szF3SmkfvtrxLR X-Microsoft-Exchange-Diagnostics: 1; CY1PR02MB1673; 6:4WCE026g7iUAMgABD4RhFsalXipu2lVidOd20sAcEGafV0JbLsW4KYOrB7gTLiTss3uw/PqPMAPKgBLmatV2DhLQFoE+oUUNifKCz8+Uz5JRHDSwMc3eZVP6ZBAYWfv7ZzToMUb9uHOLvBprHazTcKq0o6tFwDRNYL+d2x36Vs9wex4qRmg9qdSzIasmuk3oVbZ3mBl/p+AOJ/0cTKfhCLZNA7al2I39QVXXLMzBuJI7oPmMDT/1MroPsxIiXcMwqdkqFxjbjdqehOyfWTfvXe966b9kiUwaQGlSvf1AppW3/XToLpA75+eggXATjKEeKOY/cQ4wn4SK9P2XM+7Gwq7h+D9tBBkfarhORdVHBG7kN2s9yV0cAUpaIboMCWC9NKlLW6fCXGaED5rf6XDE+vzFAdvO7nOlVMT3917Eu/rWaFjxdNiRrK8BzrM0TB7kAC6QfYEg4zCwQo0IsXcOtA==; 5:7W5rGsinCC/OXkLRhce9PjNk/hRU6yQ+9B+JREBBbWzGHgYBmhjKnwd0p3+fqV6GI8kjTW8rnlBRVJ/MzfBsl0A4+XXP8HXekUrlAe9Q97nz+kwOGsULTbEdi+KHSPFTrpLPJJMpfw+CHvlSpaijXL+LaBWN095pUnX0ib8qBf8=; 24:m/2/NCfIGwEkHlJye2WhHdbu/eKaWaGoBfZPp3Y6kpePz/PyHSnIZR8SXR+YBdbtyJwTO2N792F/0O/V02DkkAN8r+U1pPRvyASrNwfGy3A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR02MB1673; 7:qYtd1o1miQA3eVxbBTNtEe0/NSba6dZJZqhtTdwzEKJOKs13yVo9XyebdFBwh3j2R+Ulyr6FktUUZK0rI3W85qv3nbHzHF7/VAqBWuDdXVdxso9L2FQo0eQU/U/LKuEd7zSRVCdqjnMW4mgDNbihZMSDY7id3UauSG5037ZxCt/btNaC04kJGpc6KBy3ABbi0dQggmltyW2703V5egq1VnEBXobUu/ylBpbc3UrIAQM2jxPzGkwRbHAZdvz71+2D X-MS-Office365-Filtering-Correlation-Id: 119dff74-ae88-40ea-deca-08d5b09f9b5c X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2018 02:43:09.3761 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 119dff74-ae88-40ea-deca-08d5b09f9b5c X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR02MB1673 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org From: Rohit Athavale Update xvip_dma_init() to use dma_request_chan(), enabling probe deferral. Also update the cleanup routine to prevent dereferencing an ERR_PTR(). Signed-off-by: Rohit Athavale Signed-off-by: Satish Kumar Nagireddy --- drivers/media/platform/xilinx/xilinx-dma.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/media/platform/xilinx/xilinx-dma.c b/drivers/media/platform/xilinx/xilinx-dma.c index cb20ada..5426efe 100644 --- a/drivers/media/platform/xilinx/xilinx-dma.c +++ b/drivers/media/platform/xilinx/xilinx-dma.c @@ -729,10 +729,13 @@ int xvip_dma_init(struct xvip_composite_device *xdev, struct xvip_dma *dma, /* ... and the DMA channel. */ snprintf(name, sizeof(name), "port%u", port); - dma->dma = dma_request_slave_channel(dma->xdev->dev, name); - if (dma->dma == NULL) { - dev_err(dma->xdev->dev, "no VDMA channel found\n"); - ret = -ENODEV; + dma->dma = dma_request_chan(dma->xdev->dev, name); + if (IS_ERR(dma->dma)) { + ret = PTR_ERR(dma->dma); + if (ret != -EPROBE_DEFER) + dev_err(dma->xdev->dev, + "No Video DMA channel found"); + goto error; } @@ -756,7 +759,7 @@ void xvip_dma_cleanup(struct xvip_dma *dma) if (video_is_registered(&dma->video)) video_unregister_device(&dma->video); - if (dma->dma) + if (!IS_ERR(dma->dma)) dma_release_channel(dma->dma); media_entity_cleanup(&dma->video.entity);