Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754132AbdGCMWS (ORCPT ); Mon, 3 Jul 2017 08:22:18 -0400 Received: from hqemgate15.nvidia.com ([216.228.121.64]:15080 "EHLO hqemgate15.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752470AbdGCMWP (ORCPT ); Mon, 3 Jul 2017 08:22:15 -0400 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Mon, 03 Jul 2017 05:22:09 -0700 Subject: Re: [PATCH] devfreq: tegra: fix error code in tegra_devfreq_probe() To: "Gustavo A. R. Silva" CC: MyungJoo Ham , Kyungmin Park , Chanwoo Choi , "Thierry Reding" , , , References: <20170630072211.GA21867@embeddedgus> <89de541e-355e-e79c-0090-cffefd277b4c@nvidia.com> <20170703065905.Horde.JGioNMGT4RgQsy5ykZpOZQ1@gator4166.hostgator.com> From: Jon Hunter Message-ID: Date: Mon, 3 Jul 2017 13:22:04 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <20170703065905.Horde.JGioNMGT4RgQsy5ykZpOZQ1@gator4166.hostgator.com> X-Originating-IP: [10.26.11.121] X-ClientProxiedBy: UKMAIL101.nvidia.com (10.26.138.13) To UKMAIL101.nvidia.com (10.26.138.13) Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1988 Lines: 66 On 03/07/17 12:59, Gustavo A. R. Silva wrote: > Hi Jon, > > Quoting Jon Hunter : > >> On 30/06/17 08:22, Gustavo A. R. Silva wrote: >>> Print and propagate the return value of platform_get_irq on failure. >>> >>> Signed-off-by: Gustavo A. R. Silva >>> --- >>> drivers/devfreq/tegra-devfreq.c | 6 +++--- >>> 1 file changed, 3 insertions(+), 3 deletions(-) >>> >>> diff --git a/drivers/devfreq/tegra-devfreq.c >>> b/drivers/devfreq/tegra-devfreq.c >>> index 214fff9..ae71215 100644 >>> --- a/drivers/devfreq/tegra-devfreq.c >>> +++ b/drivers/devfreq/tegra-devfreq.c >>> @@ -688,9 +688,9 @@ static int tegra_devfreq_probe(struct >>> platform_device *pdev) >>> } >>> >>> irq = platform_get_irq(pdev, 0); >>> - if (irq <= 0) { >>> - dev_err(&pdev->dev, "Failed to get IRQ\n"); >>> - return -ENODEV; >>> + if (irq < 0) { >> >> The changelog does not describe the above change and if/why this is ok. >> However, the original test looks fine to me and so I don't see a need to >> change this. >> > > You are right about the changelog. I think this one is much better: > > platform_get_irq() returns an error code, but the tegra-devfreq > driver ignores it and always returns -ENODEV. This is not correct, > and prevents -EPROBE_DEFER from being propagated properly. > > Notice that platform_get_irq() no longer returns 0 on error: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e330b9a6bb35dc7097a4f02cb1ae7b6f96df92af Yes the above should be added to the changelog. Looks like someone should update the following for consistency too ... 141 int platform_irq_count(struct platform_device *dev) 142 { 143 int ret, nr = 0; 144 145 while ((ret = platform_get_irq(dev, nr)) >= 0) 146 nr++; > > Print error message and propagate the return value of > platform_get_irq on failure. > > What do you think? Fine with me. Thanks! Jon -- nvpublic