From patchwork Mon Sep 25 13:44:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wadim Egorov X-Patchwork-Id: 13397860 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA8C0CE7A94 for ; Mon, 25 Sep 2023 13:44:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231804AbjIYNor (ORCPT ); Mon, 25 Sep 2023 09:44:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37992 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231803AbjIYNoq (ORCPT ); Mon, 25 Sep 2023 09:44:46 -0400 Received: from mickerik.phytec.de (mickerik.phytec.de [91.26.50.163]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E3BFCB3 for ; Mon, 25 Sep 2023 06:44:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; d=phytec.de; s=a4; c=relaxed/simple; q=dns/txt; i=@phytec.de; t=1695649476; x=1698241476; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:CC:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=28PpxXcCjpk33cV4lxB4KctRi94rZLugQvUovFs5/Zg=; b=RZdzW+L50N9vktvglf7SBGehYNm1n+MOPrad16TEKaDVISlVbmLlUlsIjd2RL6mn ozwb60qknI0kQRSAfXuCgayeHfw5Kr0y47qDrdoW2ArG9B8UaTqRZqZIgksEZxoh mjLkNgkGVrWiyFzJRtdC62uzCDNoM7w8qeasmJbnCFE=; X-AuditID: ac14000a-6d65670000001e37-4d-65118ec4a100 Received: from berlix.phytec.de (Unknown_Domain [172.25.0.12]) (using TLS with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mickerik.phytec.de (PHYTEC Mail Gateway) with SMTP id FB.51.07735.4CE81156; Mon, 25 Sep 2023 15:44:36 +0200 (CEST) Received: from augenblix2.phytec.de (172.25.0.11) by Berlix.phytec.de (172.25.0.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.18; Mon, 25 Sep 2023 15:44:36 +0200 From: Wadim Egorov To: , , , , , CC: , , , Subject: [PATCH v2] iio: adc: ti_am335x_adc: Fix return value check of tiadc_request_dma() Date: Mon, 25 Sep 2023 15:44:27 +0200 Message-ID: <20230925134427.214556-1-w.egorov@phytec.de> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Originating-IP: [172.25.0.11] X-ClientProxiedBy: Berlix.phytec.de (172.25.0.12) To Berlix.phytec.de (172.25.0.12) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrDLMWRmVeSWpSXmKPExsWyRpKBR/dIn2Cqwd1LfBb/H71mtXjQtIrJ Ysnk+awW8468Y7G4vGsOm8XVB+UWb36cZbKY9fEHq8X/PTvYLbrfqTtweWxa1cnm0d/dwuqx 5M0hVo/t1+Yxexy/sZ3J4/MmuQC2KC6blNSczLLUIn27BK6MRe/kC25wVjx79YG1gfE3excj J4eEgInEg5bTzF2MXBxCAkuYJG4u7mCEcJ4wSiyd+4UJpIpNQF3izoZvrCC2iEAjo8Td22Dd zAJZEju2nmIEsYUFoiQmbroNVs8ioCpx/MoZFhCbV8BCYtWGm6wQ2+QlZl76zg4RF5Q4OfMJ C8QceYnmrbOZIWwJiYMvXoDZQkDxF5eWs8D0Tjv3mhnCDpXY+mU70wRGgVlIRs1CMmoWklEL GJlXMQrlZiZnpxZlZusVZFSWpCbrpaRuYgTFgAgD1w7GvjkehxiZOBgPMUpwMCuJ8P56xpcq xJuSWFmVWpQfX1Sak1p8iFGag0VJnPd+D1OikEB6YklqdmpqQWoRTJaJg1OqgbGbzevf1/Bv 2V/lHBZMMbBf9ddUrSmkPe6YVJXRjE1cZ9bkzJxz4H7I1ytn/vkxpezpq1ngJi5zcs0eBucC hamLQ5a4tu44dYJjZ5gQq0O5VfZXma8dW3m4D7vdeKVUy7nR5f62pk/K0+6b3ZW5UuueuU1u gmSE1TNmx4V6VqIymXY6KrsmcCixFGckGmoxFxUnAgDtYSE7bwIAAA== Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org Fix wrong handling of a DMA request where the probing only failed if -EPROPE_DEFER was returned. Instead, let us fail if a non -ENODEV value is returned. This makes DMAs explicitly optional. Even if the DMA request is unsuccessfully, the ADC can still work properly. We do also handle the defer probe case by making use of dev_err_probe(). Fixes: f438b9da75eb ("drivers: iio: ti_am335x_adc: add dma support") Signed-off-by: Wadim Egorov --- v2: - Update description - Drop line break after Fixes tag - Move decision about optional DMA into probe/caller --- drivers/iio/adc/ti_am335x_adc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c index 8db7a01cb5fb..5f8795986995 100644 --- a/drivers/iio/adc/ti_am335x_adc.c +++ b/drivers/iio/adc/ti_am335x_adc.c @@ -670,8 +670,10 @@ static int tiadc_probe(struct platform_device *pdev) platform_set_drvdata(pdev, indio_dev); err = tiadc_request_dma(pdev, adc_dev); - if (err && err == -EPROBE_DEFER) + if (err && err != -ENODEV) { + dev_err_probe(&pdev->dev, err, "DMA request failed\n"); goto err_dma; + } return 0;