From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753111AbcIAWnu (ORCPT ); Thu, 1 Sep 2016 18:43:50 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:34135 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751085AbcIAWnq (ORCPT ); Thu, 1 Sep 2016 18:43:46 -0400 From: Nicolin Chen To: vinod.koul@intel.com, jonathanh@nvidia.com Cc: linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org, dmaengine@vger.kernel.org, gnurou@gmail.com, thierry.reding@gmail.com, swarren@wwwdotorg.org, ldewangan@nvidia.com Subject: [PATCH] dmaengine: tegra210-adma: Add some necessary dev_err() before error out Date: Thu, 1 Sep 2016 15:43:17 -0700 Message-Id: <1472769797-31650-2-git-send-email-nicoleotsuka@gmail.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1472769797-31650-1-git-send-email-nicoleotsuka@gmail.com> References: <1472769797-31650-1-git-send-email-nicoleotsuka@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There could be something going wrong during the probe() part, so it would not be ideal for debugging by silently returning. This patches adds some necessary dev_err() to give the hints. Signed-off-by: Nicolin Chen --- drivers/dma/tegra210-adma.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/dma/tegra210-adma.c b/drivers/dma/tegra210-adma.c index b10cbaa..09b46f7 100644 --- a/drivers/dma/tegra210-adma.c +++ b/drivers/dma/tegra210-adma.c @@ -218,8 +218,10 @@ static int tegra_adma_init(struct tegra_adma *tdma) ret = readx_poll_timeout(readl, tdma->base_addr + ADMA_GLOBAL_SOFT_RESET, status, status == 0, 20, 10000); - if (ret) + if (ret) { + dev_err(tdma->dev, "Timeout waiting for soft reset\n"); return ret; + } /* Enable global ADMA registers */ tdma_write(tdma, ADMA_GLOBAL_CMD, 1); @@ -581,6 +583,7 @@ static int tegra_adma_alloc_chan_resources(struct dma_chan *dc) ret = pm_runtime_get_sync(tdc2dev(tdc)); if (ret < 0) { + dev_err(tdc2dev(tdc), "failed to get pm runtime: %d\n", ret); free_irq(tdc->irq, tdc); return ret; } @@ -647,8 +650,10 @@ static int tegra_adma_runtime_resume(struct device *dev) int ret; ret = pm_clk_resume(dev); - if (ret) + if (ret) { + dev_err(dev, "failed to resume pm clock: %d\n", ret); return ret; + } tdma_write(tdma, ADMA_GLOBAL_CMD, tdma->global_cmd); @@ -718,6 +723,9 @@ static int tegra_adma_probe(struct platform_device *pdev) tdc->irq = of_irq_get(pdev->dev.of_node, i); if (tdc->irq < 0) { + dev_err(&pdev->dev, + "failed to get irq for channel %d: %d\n", + i + 1, tdc->irq); ret = tdc->irq; goto irq_dispose; } -- 2.1.4