From patchwork Sun Jul 24 12:10:58 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johan Hovold X-Patchwork-Id: 9244875 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 1EA3760487 for ; Sun, 24 Jul 2016 12:13:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0D8C426C72 for ; Sun, 24 Jul 2016 12:13:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 005B128066; Sun, 24 Jul 2016 12:13:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B6E6C26C72 for ; Sun, 24 Jul 2016 12:13:51 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bRIGX-0002zw-45; Sun, 24 Jul 2016 12:12:17 +0000 Received: from mail-lf0-x244.google.com ([2a00:1450:4010:c07::244]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bRIGS-0002wz-Rk for linux-arm-kernel@lists.infradead.org; Sun, 24 Jul 2016 12:12:14 +0000 Received: by mail-lf0-x244.google.com with SMTP id f93so9845919lfi.0 for ; Sun, 24 Jul 2016 05:11:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=/wsojyEek0MHOBF5hxHXyyP8Orp81EtdNmZu48MwIg0=; b=W7Qy/iPs4y88tpnt7f+0RtTX7/bBEAg8e9Xpj8NzVPPLXkZE/qebQqRVHWPGUA6cmZ d5ID4274DT4+QQ2ob2uhVcM2pANPMGA8sZ8L3KSUYCW6A9i84gHj1s3Yt70cgOLJmtdc 0OAuIM3sdV5eMuIXMLx1dYazv2rd3XDugK4NRm6jeXSOjtKSCDrO1q83ANWfpAmtPUht 8tmiCR+OYAW6ABsUQVYkAeyRY4UNUN3/jTYpb+ZDht+JXlfaAVn0XNpH/VFb9c4cU2sv QFx95GCIGHgNEM5QatYmO8AKPPJqOBNHl06RyVNgvX4ia5lj3kYsPJkX3A9vPJT/jU6Z N63A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=/wsojyEek0MHOBF5hxHXyyP8Orp81EtdNmZu48MwIg0=; b=SJut1oPb/dd+xAoxBRaU4eqisrlyTdyZPeu7Qd8jF+UbbZ1rrM5WAQSg5ltQIY9V8U p9jXQ9C6GE4kSp+iu8CbTm5LNUB2TQKatGfhKjd0oamiKy+yD8zHT0YnJAT7pt9/nNQD ew0zs19/xglDl2Kw7VAPP+Blp0ILlIjb/cdunDZQysGq/KNYUNICokgZ6HNJujZkP++B HMliIVzKAB+4o0ALlZyOsVBBO/+w0SJ4LG6+ecauePywKBGvTAW4rroDi8PLN6rz9QqH /Cam/W5yCIz8E+YDvg3dpVMWMZEA/8+xuW2KbgfDSgsIbkM3CTjJ2UZGEEMTKraV60Bb SmfA== X-Gm-Message-State: AEkoouvMTBp1DP7UD7ZTV6Z7AA9xeek9PYjx0Mj4T9EdgoysBIRmEJX3fTKBxaAMt9uWyA== X-Received: by 10.25.219.198 with SMTP id t67mr5300405lfi.177.1469362310753; Sun, 24 Jul 2016 05:11:50 -0700 (PDT) Received: from xi.terra ([84.216.67.69]) by smtp.gmail.com with ESMTPSA id l70sm4611827lfe.28.2016.07.24.05.11.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 24 Jul 2016 05:11:49 -0700 (PDT) Received: from johan by xi.terra with local (Exim 4.87) (envelope-from ) id 1bRIGA-0005EU-MJ; Sun, 24 Jul 2016 14:11:54 +0200 From: Johan Hovold To: Tony Lindgren Subject: [PATCH 1/3] memory: omap-gpmc: allow probe of child nodes to fail Date: Sun, 24 Jul 2016 14:10:58 +0200 Message-Id: <1469362260-20066-2-git-send-email-johan@kernel.org> X-Mailer: git-send-email 2.7.3 In-Reply-To: <1469362260-20066-1-git-send-email-johan@kernel.org> References: <1469362260-20066-1-git-send-email-johan@kernel.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160724_051213_218144_62FE9D84 X-CRM114-Status: GOOD ( 14.91 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree@vger.kernel.org, Russell King , stable@vger.kernel.org, linux-kernel@vger.kernel.org, Rob Herring , =?UTF-8?q?Beno=C3=AEt=20Cousson?= , Johan Hovold , linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Roger Quadros MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP A recent commit (inadvertently?) changed how failed probe of a gpmc child node was handled. Instead of proceeding with setting up any other children as before, a single error now aborts the whole process. This change broke networking on some Overo boards due to probe failing for an unrelated nand node. This second issue should obviously be fixed, but let's restore the old behaviour of allowing child-node probe to fail to avoid further similar breakage on other systems. Fixes: d2d00862dfbb ("memory: omap-gpmc: Support general purpose input for WAITPINs") Signed-off-by: Johan Hovold --- drivers/memory/omap-gpmc.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c index 15508df24e5d..73ec3200191e 100644 --- a/drivers/memory/omap-gpmc.c +++ b/drivers/memory/omap-gpmc.c @@ -2250,7 +2250,7 @@ static int gpmc_probe_dt(struct platform_device *pdev) return 0; } -static int gpmc_probe_dt_children(struct platform_device *pdev) +static void gpmc_probe_dt_children(struct platform_device *pdev) { int ret; struct device_node *child; @@ -2265,11 +2265,11 @@ static int gpmc_probe_dt_children(struct platform_device *pdev) else ret = gpmc_probe_generic_child(pdev, child); - if (ret) - return ret; + if (ret) { + dev_err(&pdev->dev, "failed to probe DT child '%s': %d\n", + child->name, ret); + } } - - return 0; } #else static int gpmc_probe_dt(struct platform_device *pdev) @@ -2277,9 +2277,8 @@ static int gpmc_probe_dt(struct platform_device *pdev) return 0; } -static int gpmc_probe_dt_children(struct platform_device *pdev) +static void gpmc_probe_dt_children(struct platform_device *pdev) { - return 0; } #endif @@ -2372,16 +2371,10 @@ static int gpmc_probe(struct platform_device *pdev) goto setup_irq_failed; } - rc = gpmc_probe_dt_children(pdev); - if (rc < 0) { - dev_err(gpmc->dev, "failed to probe DT children\n"); - goto dt_children_failed; - } + gpmc_probe_dt_children(pdev); return 0; -dt_children_failed: - gpmc_free_irq(gpmc); setup_irq_failed: gpmc_gpio_exit(gpmc); gpio_init_failed: