Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp370611pxx; Wed, 28 Oct 2020 06:55:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzgZGriRoJfakkPk/aFVKHUW4v3C0saOGj+12QyPPw4lMBkuRXA9r+tbanpNcA2UxEzK6Np X-Received: by 2002:a17:906:5f96:: with SMTP id a22mr7556974eju.168.1603893359147; Wed, 28 Oct 2020 06:55:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603893359; cv=none; d=google.com; s=arc-20160816; b=B2ZXkJDxGXRCVo+ZGXck0y1s8LY+PoqMXrpjMK0mNh+Gs4Gf8rVy0g18GtLBQTDVNl NLe2QshQDMudEHMfZBtv++6igEiEtkama6ebhUVDk9fMoEIB6QSCLXfUGPEmjWl1z4jB gvRvGCm/tYeq0aX81lPGvKNgXZ4u6DdTk64SMC6RlcMBPp4yQHziPqPcNtZav0rgWnYC m4U0Es0NKSsizs57gW7t4nx7UV2+M1xpU4qtMXERBaLWHggxo0u1dRY7oPe8IZvgX0bv k4g9fouAkkLl/+81z0DRP5Zo7csDArcFQ++cT9wBmR9ljquHSpX7jolB+iX5pnuUrIs/ aRBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=gwFjNxCd6kupeg6tVdtx+1IikR5LKWE6RUCJyDTrp+M=; b=R0J5uIuiUPAV0WBDHFR263y5qhzzd4ctFAUJbfU3h6Y+DjPnOwH4SK6F/yfVEuackD idZWFoPtIb2kW8/3qnSsRgCV5TeD5SnGgNiueXWXtLzpd593CoFIvpPt4YX+OEjKTMy+ nQ5xb3zf7GkjwAuQbX/wTCClE8qAwvKGioRFPveI+/50A48KUXiISaCJVRwSApf0zFXm iS4QvVCR3wzlZ2fyRmveEc8RxMLfId7FIH2PfGHCmJoJbV9Kv5kB74GXA2PMnTyg83Wr PVynSc7K1/l3XyVPMiIrwADwwyKTQ4YeO31wXrfygW59zD8O402ZycvOkm1w/gkwf5lS OM/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dtdPRfUr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b29si2827715edn.354.2020.10.28.06.55.37; Wed, 28 Oct 2020 06:55:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dtdPRfUr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1803441AbgJ0Pwx (ORCPT + 99 others); Tue, 27 Oct 2020 11:52:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:45904 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1798646AbgJ0P33 (ORCPT ); Tue, 27 Oct 2020 11:29:29 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C2FE522202; Tue, 27 Oct 2020 15:29:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603812568; bh=t0IIFvNxgtXf2P2DTxOxttu6NInFUcfx3rT5AbaaOc8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dtdPRfUrkaUQk5446Trwe0p+Q4ymCB21GODq1T2B7cXjY9aks/6o+pnKWHIG7SO5V OApBL7d0mVkcqAaHy84NE8999Z3ZPFIOwCpPoUZt6C9N+7EXwwtlVBI+eBRWySMwr1 bMOipXXEuDDVYiPui/IA9vDWKnUp8gByAcr3I96Y= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, John Stultz , Thierry Reding , Linus Walleij , Sasha Levin Subject: [PATCH 5.9 256/757] pinctrl: devicetree: Keep deferring even on timeout Date: Tue, 27 Oct 2020 14:48:26 +0100 Message-Id: <20201027135502.581919427@linuxfoundation.org> X-Mailer: git-send-email 2.29.1 In-Reply-To: <20201027135450.497324313@linuxfoundation.org> References: <20201027135450.497324313@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thierry Reding [ Upstream commit 84f28fc38d2ff99e2ac623325ba37809da611b8e ] driver_deferred_probe_check_state() may return -ETIMEDOUT instead of -EPROBE_DEFER after all built-in drivers have been probed. This can cause issues for built-in drivers that depend on resources provided by loadable modules. One such case happens on Tegra where I2C controllers are used during early boot to set up the system PMIC, so the I2C driver needs to be a built-in driver. At the same time, some instances of the I2C controller depend on the DPAUX hardware for pinmuxing. Since the DPAUX is handled by the display driver, which is usually not built-in, the pin control states will not become available until after the root filesystem has been mounted and the display driver loaded from it. Fixes: bec6c0ecb243 ("pinctrl: Remove use of driver_deferred_probe_check_state_continue()") Suggested-by: John Stultz Signed-off-by: Thierry Reding Link: https://lore.kernel.org/r/20200825143348.1358679-1-thierry.reding@gmail.com Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin --- drivers/pinctrl/devicetree.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c index 5eff8c2965528..3fb2387147189 100644 --- a/drivers/pinctrl/devicetree.c +++ b/drivers/pinctrl/devicetree.c @@ -130,9 +130,8 @@ static int dt_to_map_one_config(struct pinctrl *p, if (!np_pctldev || of_node_is_root(np_pctldev)) { of_node_put(np_pctldev); ret = driver_deferred_probe_check_state(p->dev); - /* keep deferring if modules are enabled unless we've timed out */ - if (IS_ENABLED(CONFIG_MODULES) && !allow_default && - (ret == -ENODEV)) + /* keep deferring if modules are enabled */ + if (IS_ENABLED(CONFIG_MODULES) && !allow_default && ret < 0) ret = -EPROBE_DEFER; return ret; } -- 2.25.1