From patchwork Thu Sep 17 12:57:16 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomeu Vizoso X-Patchwork-Id: 7207251 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 0414CBEEC1 for ; Thu, 17 Sep 2015 13:12:25 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 1AF222084B for ; Thu, 17 Sep 2015 13:12:24 +0000 (UTC) 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.kernel.org (Postfix) with ESMTPS id 4182420892 for ; Thu, 17 Sep 2015 13:12:23 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1ZcYyC-0000t2-2X; Thu, 17 Sep 2015 13:11:24 +0000 Received: from mail-wi0-x232.google.com ([2a00:1450:400c:c05::232]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1ZcYlw-00075j-As for linux-arm-kernel@lists.infradead.org; Thu, 17 Sep 2015 12:58:45 +0000 Received: by wiclk2 with SMTP id lk2so22713679wic.0 for ; Thu, 17 Sep 2015 05:58:25 -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=xHwtwyk0gG4mLzLv9TOceAPKgpnBtdZ6hxkCXSlYPhw=; b=F6Na9JX0WMYflgrK15PJIHUF37062BTPH053XHLA0pVIAhGUzqNbe4lu4mEsEKBf0a LXdlccevVaD76S+fSUQ0xPIhWmsl2tQV8a5LIjOZKdJHzfB4r9hvbn6aYg2D52nHXMdg 4d2WshQgUj7fVTokEL+GJ+mv4pQezoKwL3hJONcZv1PWi802WbyL5HP+QIyeQkbvLTbd e7SZmoe7d0LgqY+t4XkTFAiYVxamgsosoi0S4fGLi8LRbzPEu8+efI0e+x733ka9Sh4X B6xEK0/4UYxEfhCX3xFjgiZIRdjqcpRvx0SsE8vHWFBtt+kwjezPiA1ez2IZ0i6z45IG yMfQ== X-Received: by 10.180.75.11 with SMTP id y11mr30509001wiv.46.1442494705125; Thu, 17 Sep 2015 05:58:25 -0700 (PDT) Received: from cizrna.lan ([109.72.12.203]) by smtp.gmail.com with ESMTPSA id jr5sm2203032wjc.26.2015.09.17.05.58.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 17 Sep 2015 05:58:24 -0700 (PDT) From: Tomeu Vizoso To: linux-kernel@vger.kernel.org Subject: [PATCH v5 22/23] driver core: Start processing deferred probes earlier Date: Thu, 17 Sep 2015 14:57:16 +0200 Message-Id: <1442494637-3674-23-git-send-email-tomeu.vizoso@collabora.com> X-Mailer: git-send-email 2.4.3 In-Reply-To: <1442494637-3674-1-git-send-email-tomeu.vizoso@collabora.com> References: <1442494637-3674-1-git-send-email-tomeu.vizoso@collabora.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20150917_055844_766762_CA128693 X-CRM114-Status: GOOD ( 12.65 ) X-Spam-Score: -2.6 (--) 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: Tomeu Vizoso , devicetree@vger.kernel.org, linux-acpi@vger.kernel.org, Arnd Bergmann , Stephen Warren , Greg Kroah-Hartman , Linus Walleij , Dmitry Torokhov , "Rafael J. Wysocki" , Rob Herring , Javier Martinez Canillas , Mark Brown , Thierry Reding , Alan Stern , linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Some initcalls in the late level assume that some devices will have already probed without explicitly checking for that. After the recent move to defer most device probes when they are registered, pressure increased in the late initcall level. By starting the processing of the deferred queue in device_initcall_sync we increase the chances that the initcalls mentioned before will find the devices they depend on to have already probed. Signed-off-by: Tomeu Vizoso --- Changes in v5: None Changes in v4: - Start processing deferred probes in device_initcall_sync Changes in v3: None Changes in v2: None drivers/base/dd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 300c59562fc9..5d8572be9b63 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -176,7 +176,7 @@ static void driver_deferred_probe_trigger(void) * * We don't want to get in the way when the bulk of drivers are getting probed. * Instead, this initcall makes sure that deferred probing is delayed until - * late_initcall time. + * device_initcall_sync time. */ static int deferred_probe_initcall(void) { @@ -190,7 +190,7 @@ static int deferred_probe_initcall(void) flush_workqueue(deferred_wq); return 0; } -late_initcall(deferred_probe_initcall); +device_initcall_sync(deferred_probe_initcall); static void driver_bound(struct device *dev) {