From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754900AbbI3Iwl (ORCPT ); Wed, 30 Sep 2015 04:52:41 -0400 Received: from mail-by2on0108.outbound.protection.outlook.com ([207.46.100.108]:49565 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751799AbbI3Iwe (ORCPT ); Wed, 30 Sep 2015 04:52:34 -0400 X-Greylist: delayed 1223 seconds by postgrey-1.27 at vger.kernel.org; Wed, 30 Sep 2015 04:52:34 EDT Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; mentor.com; dkim=none (message not signed) header.d=none;mentor.com; dmarc=none action=none header.from=freescale.com; Date: Wed, 30 Sep 2015 16:51:59 +0800 From: Robin Gong To: Anton Bondarenko CC: , , , , , , Subject: Re: [PATCH v2 6/8] spi: imx: return error from dma channel request Message-ID: <20150930085158.GF2709@shlinux2> References: <2d4cc8c07de8e90b76763d2c40aea57c598ee1a1.1442923630.git.anton_bondarenko@mentor.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <2d4cc8c07de8e90b76763d2c40aea57c598ee1a1.1442923630.git.anton_bondarenko@mentor.com> Acked-by: Robin Gong User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11OLC006;1:O8PvdVzq6ncu0BKP9Qbv36D7gne2kVDdwUWWcpDEQi8ulPcn61w6uKeJMALXMhm7DAYmPSG97IiVICiy6Quygl1QYA+VeDoYhde58GSklRQu0qyyONF2Y5jpvPAiLAqvSdiBrt/oY8NsbRMowSBPbbkYmyD6bDstgkb/o6+TutLA7WUCpvod0XOY8Ld/oPlTBK3zKydi74lCsfYBviUuAU1gjpXDP7qwdXiGbP5HR7RdaURaN+m/K95emWH3MU46RSdC9yBR1yk2qgRf2jkVU0+DTTBUVFScwMrftMEBplCS9KGueRAp1xpGZo14/Rl8P5hUk52m7Mhg+yapVTfx5Q== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(199003)(24454002)(189002)(5008740100001)(5001960100002)(5001830100001)(54356999)(5001860100001)(97736004)(4001350100001)(11100500001)(4001540100001)(76176999)(81156007)(64706001)(50986999)(33656002)(47776003)(87936001)(85426001)(23726002)(97756001)(50466002)(5007970100001)(189998001)(110136002)(2950100001)(105606002)(106466001)(6806005)(104016004)(77156002)(33716001)(62966003)(83506001)(46102003)(77096005)(68736005)(19580405001)(46406003)(19580395003)(92566002)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:BL2PR03MB481;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB481;2:ARXOk5eXZycR7BG/dsf1a5GPrN3ZngNRM79pla6QIRUhgWCqeqktqjeAoeH9+sl+MjeMkfwZFAdQoC1FYy08l74DJvYRdQUImcUpNRLWpx6oQhHkk6UG5Y0eEXkS5FC4GYf2mwF541MbD6z+8lwqSGn262KwuUq/V45A1lfeQPY=;3:20iK1cdR0IBA7sdxP5Tm0fy3AxiaaqDmWZYx8SJWQPZYRcoNpsMLcCt/cJii+l5jl0fn2r9cYfNS9od9LuhTDdShvluDlYkyPImgua+JVi0sZzE3RfVopEoFsdXm9rw98oQiIUxEthWtFnBFIT8/fZsDPnhyWm3K2wOE1hhx1xDTY6M5qobE62Ol2gpDlTOj4eE9g0g8qYCD4WuDxmMWva9+ZA60GGbz17lm1vf+AWI=;25:A8/+Ro0uQobo3/4Z21VHhVnyKAi5LB2CHwqKbpXAA/rRtWX2YyYFFRRzTHyd32CE8zg6/uTNSuU6ejtFHvIBXKGQvDxIftJat0H0t4Zatt/SgbTI6H5n3lApdnbiC72n93B05GRBz+BHAPJzFsUkFqFoWC7ghVhyTiidPxcYIbCZ1R4+Q32audYbeOjTWhPrrqj96r0c6V5vwc6fBz9c2DqL/8tDOOHQVNMn8rnfNboDz6k0iI/1WES0vowa28oopRpS0imWHe+SC8WT0bYt3Q== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB481; X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB481;20:lCjBd18dRxaBbxbdDl54JZZXAuOEkvbwf9SnyktIW/zxZTfRNywQbD+CjRIOt2IWGrR3PCejWZU7J89u+hkA0uipyN2NpNnMxV0//Ywc1ajM0uUuLC2dWNQSxCH0nRUDtvz8HtG6n7+F50Ge14vDbHVrtd/wumZR7kHH7z1aF93DondCTUBiDNwMaErXZPtHr7ctXU0IqUMQ+eW0gZan6W0t0UleoHLAxXT2FwFmJWqfzoNYJ6b6YaG5sLlpKDiOdr0O51PUzrPbFbs87oybwoDyTI8wwpBgvrqYE4iIIwT06kJKqI+edhYkN45hDdA5w6SE6Qe0lqh8zik8rJhGh7G9YO+0qWEWSPzgi/lbKeo=;4:HSjoCh5/uTOCjx1tYPPvVrfE2Y0XF6IkVuBzblsioINEH+dZyGV5vW4RgAWSq2mtQ3psX/5+cpqTukiaauMq1r2Vq2q3/BRj010zwFPPhDN+TxysblPkAyYJcbahRWjT5u2LnaggVKqGly1Wnqw9XkDK8icoEOi1jFS0Di9Qbnl9Y59ohYqFW3NjdRrGCgawbHRBDvHgAPHXXq0xkcbLikCYlcsx410iH14FnLy30hxntXZC47gFOBkkLc6USYZTS9y/58LJJF/ZCB5PP827ca61uBmliS0pjCoK/Hc91T6Wo0Eh+itLSHndHZFDyUO9x0GkMFa8TdVmcdRUzepkdSW9gMrjFVUJMs1bvoW27rA= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001);SRVR:BL2PR03MB481;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB481; X-Forefront-PRVS: 071518EF63 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BL2PR03MB481;23:peu0APqAMr1XDljPmIMbCELxHs4DhtdGaPCHURP0eQ?= =?us-ascii?Q?ZjFqXltO/Pc6S7gAGEm7ztgHcya9OhDebS9ZkrI7e1McLyqZBDjUE/ZHrBMM?= =?us-ascii?Q?9QiVIBGuxBYTuy5Kf1OeowNeUCpR7kmskjzZKruJU/b7Z0SjXkSWxWmklq3+?= =?us-ascii?Q?ngb+WEZS/fsSbnoQEhxgYeMoKUO8DUrS3WANt4i0jwqFPM3Gz5NWPjGYRuLq?= =?us-ascii?Q?dknZjFHQkZdKMsdQDuhPcnw+JvZgKFsNZf6S1TfKK5gJegeeEmkTnekYNYCO?= =?us-ascii?Q?avY/ewX1CMacVkUJalYzbXTMYVEHIAW1nkNsmrcbtXVpywyzktFqAjEjFEvS?= =?us-ascii?Q?qnRFqfy9aW6yOxnDYKkn69kHq07Dy7jSptXP0HAWFgMeZj0grOgcs4t6E1Dg?= =?us-ascii?Q?+OucgY7pxKRVZnkH9ysA5vRdaK9iixhCDIZlQovDMqeUwp8XmKZC83iow/jI?= =?us-ascii?Q?tT3gWGDH/ODe4T4lHCre90x4V9gr8ocMIUlItEGGSUHm7w3/as6wvb1gKvLa?= =?us-ascii?Q?rKC7OEGW0VLY8cuI20RKD7kIUNNgA6rMZ3OiNw+fMazWJRHqNTkjA2uq/5iy?= =?us-ascii?Q?9r1QSN/tsL24rq+59eCiAg6zCC4BJRErKqPj30atxg+kyvK1rOrot24hqjtt?= =?us-ascii?Q?RmvGiPnztJZJSlIXfsICaETNzZeYaJil5mQVHiou57m0hmrGEpWbhybw+gzf?= =?us-ascii?Q?MC82IBML/d5oExGQZbu1gP8y9c5drU2+IScfjiqPtbTyE/7hflCEsAzsF9vG?= =?us-ascii?Q?ItKn+r59FtuNutIaxbzrg2NexYHMQ+w3bhPjuYXUtQZ4g9f9ehDzGqzZo9BG?= =?us-ascii?Q?4UHoasWT3v+kPn13yoDnzReNGlNULAHOqVGHYMnJMoPBPn/VawoWKjD2DrEI?= =?us-ascii?Q?JrPLThQKw/+Ud2wZLUDtXf/yATcw9ntqgcTBsCwUOjYY2RjStCXDPxi6OXCI?= =?us-ascii?Q?XUQ2nGrd4RU1wFcG6FTxwGZVOQuadLzNHCcRlkjrIJJx4hk+TTWQbBpEcuPQ?= =?us-ascii?Q?psTmkkJG75hvqL9eW9cLcSs8jaqCfXG76ykGIFBxa8LTbhW2f0xBCvxDVUHn?= =?us-ascii?Q?jSJCeAj6Mke71/QWFGiD1GSeSCx7LV5CbSBFehUn3/KnVsj4r//t9iKi1LuP?= =?us-ascii?Q?h7PhF3TF1fCvFK3iI9SncZCzmVrq6aT2vhQ56Mn8omU5g4yiv1FXJegVHGfG?= =?us-ascii?Q?fmEOieQK/Rhjk0BQF2IVc8Iktzkf5d1Hi+VYaWkx9cF46Eqpwz4Ypz7QKpI9?= =?us-ascii?Q?c2d/kSvFdb0eu989TY9cgLGUZJhffOIZx8AEfIyEJihivOn5SXK2Q8kpT1Lg?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB481;5:ob9UgL3TlGRz3KRXt+6TNQLs0vQB+Qwzzr8qTrTNWqVHiOEOYOa9q3ArgaSJ4VMM5YGjv5cCLN5dup4k+WjbrwU6fAaDOSiUQoehVuCE//wOxMbVP+8mHqng7VBdf9lnmuBccj309Hknh0JmLxHasw==;24:ml+wHhCySfMWlUlpCd2L2Mrw2s/bCRq54PMYkqN5hOTNBZ5X9yBJLE8DJmQO+6HL5NYBQMjtuhtTGYnIkienaHbO8gpU7SNPog8MF0llKmw=;20:ZkNT+YKaVXBQQ2Ycqv/3Dhmbzdv5J/iFfEAf8wUzXBrqT1i0G7Vx8TGIx+uA252mXi8cD1cs6I5k0qBPmm32mQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2015 08:52:31.8139 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR03MB481 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Sep 25, 2015 at 07:57:13PM +0200, Anton Bondarenko wrote: > On SDMA initialization return exactly the same error, which is > reported by dma_request_slave_channel_reason(), it is a preceding > change to defer SPI DMA initialization, if SDMA module is not yet > available. > > Signed-off-by: Vladimir Zapolskiy > Signed-off-by: Anton Bondarenko > --- > drivers/spi/spi-imx.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c > index 4b3c16e..44d3cf0 100644 > --- a/drivers/spi/spi-imx.c > +++ b/drivers/spi/spi-imx.c > @@ -929,18 +929,20 @@ static int spi_imx_sdma_init(struct device *dev, struct spi_imx_data *spi_imx, > spi_imx->wml = spi_imx_get_fifosize(spi_imx) / 2; > > /* Prepare for TX DMA: */ > - master->dma_tx = dma_request_slave_channel(dev, "tx"); > - if (!master->dma_tx) { > - dev_err(dev, "cannot get the TX DMA channel!\n"); > - ret = -EINVAL; > + master->dma_tx = dma_request_slave_channel_reason(dev, "tx"); > + if (IS_ERR(master->dma_tx)) { > + dev_info(dev, "cannot get the TX DMA channel!\n"); > + ret = PTR_ERR(master->dma_tx); > + master->dma_tx = NULL; > goto err; > } > > /* Prepare for RX : */ > - master->dma_rx = dma_request_slave_channel(dev, "rx"); > - if (!master->dma_rx) { > - dev_dbg(dev, "cannot get the DMA channel.\n"); > - ret = -EINVAL; > + master->dma_rx = dma_request_slave_channel_reason(dev, "rx"); > + if (IS_ERR(master->dma_rx)) { > + dev_info(dev, "cannot get the DMA channel.\n"); > + ret = PTR_ERR(master->dma_rx); > + master->dma_rx = NULL; > goto err; > } > > -- > 2.5.2 >