Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp3234158ybv; Mon, 24 Feb 2020 21:08:52 -0800 (PST) X-Google-Smtp-Source: APXvYqw+UY3azlJZsW9yL1rYRzv7U4Z3i8IalnKoTsr6GRJ4g+fkuCNhNB87V6Ronx9b0++HGl5q X-Received: by 2002:a54:4086:: with SMTP id i6mr2103930oii.65.1582607332137; Mon, 24 Feb 2020 21:08:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582607332; cv=none; d=google.com; s=arc-20160816; b=dP/NuB9Ixa6+JHdpLuys/O2huk9/TMYJZmlUne0MRKIt6Y3AC3msGaJ2q/miPngEpK AKSvhZBqJc9uWYJ6D0ah4ldIi7EF24Yno0W9pMmSG83JI1QWDc2Wz3hNo7K5u601t3Nf hsGKOV2rZY7Gu1ykNWUyuoQml7mv6WXhNEMKKmnQdKhETSat1M/xQHLTnaore/8KkxL2 Qsxkehjvt4cDyyYUAyiMf4W97n1n5a7Pn1o4130S90Hqqg+aeqQrlUKIrVviMr57zGKD WXP4TMZduJZ21QjxxpKL+afwAh7C7XmIJJFuPwFE1q38c1Ym6gR6gQKzQrcYBFJTKgk1 VCDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=tqUZYiy81UZHq8KwguRSjJqW3NIJKHOMPFN5dA6hUv8=; b=gHG6XxF9+kfWlSZB0R4x+HBEMIWjsJL8BTrPvGR6Sz+6DN05iHvfZ/c7wT48l1Eppy MWmSZYj+odffgFme+qIA9uXOChPbE8PER3Z3YIPhzPqQzPAewcvfO0sl9OS1swY2aI36 8zVpL9/ua2kL9P/TPSROlMqZAFd0vOpeMKITrr8dSapPaFbC07LeHYpGjh/azA2g4DY1 oOI2TyemK/WsTd1lOGQS4rl2mUJ5BN2jPq3ijAhDYdc377S29tjmYi3Ib31GBhFth372 xv/hr0kS0/h7zSN4cEM95mrVHE66K9tAQpb8K6/DJ03ydka5qsB/o7JZdkGeKEGa2jhW 0ZMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=HGakzGud; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o13si7432558otp.27.2020.02.24.21.08.39; Mon, 24 Feb 2020 21:08:52 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=HGakzGud; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726476AbgBYFIf (ORCPT + 99 others); Tue, 25 Feb 2020 00:08:35 -0500 Received: from mail-pf1-f195.google.com ([209.85.210.195]:38424 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726400AbgBYFIf (ORCPT ); Tue, 25 Feb 2020 00:08:35 -0500 Received: by mail-pf1-f195.google.com with SMTP id x185so6541216pfc.5 for ; Mon, 24 Feb 2020 21:08:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=tqUZYiy81UZHq8KwguRSjJqW3NIJKHOMPFN5dA6hUv8=; b=HGakzGuddi3jXQkWHnNveg1vOMeIzRUtO/HXDf4I2PUzHfltbjm1Qezj+1200nLeOB TQvKVErZTc5ASbCnmw+DEp1J0aTGRROvPcxXLhkOhmFlbwjoca4lTNscoG8v3YySwblG Tv7aOi6vW0mj+pArzFrotksKu9IMk6MiwwrmDodrY1/X5U51Le3pXnoRpcW1kF8bicPZ d10DqU4SEZ9Imy5zD+ds94sLfJPaFa7cpdFCuxwMCg7xjk/fu8OlPoCLglRW3DkIcCWl ZNR7NukXTFSf/c9NrJRxAkIBcaMiGanlWaynkU5LP+2+pVU7o5bb0NWxWW8u3ajLM/tN 6ZFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=tqUZYiy81UZHq8KwguRSjJqW3NIJKHOMPFN5dA6hUv8=; b=E9rTp9nQw9wIaRBzJ9D3F2xi6St0sWs9CU2rOALkiQ4zv3XSMh5/XH/fJhvrq5bzfE j5ZV6S1xt+WcikhjjsCQuXdq/l1SxU9xPgFDgUdlCQy8bsc/9ifF9NKEQoxg1slyDP2f IOAcyBXqIxtpHfq7TyfKgMaiYENXel6LOLKWzsprbh1WxO9jpeh+g1AP2rlsjRFmBuS1 ucdtVvfkO3L75ZHaryl0EIptvipiMKQmN+j9MsW92lb8C/PO8Pr25tw8TrgK+6O36E/n ZF2AyKdpd3fSi0JJNX58jWyo5t0TSrJEF8X/AQi9gCx0M4yFp7FDGRUkWAa1BvIXUcjw 2c/w== X-Gm-Message-State: APjAAAXGqrGVoID8HvjBX8eQxmslmLiJ2A6SCfobodnNxlGmXPJYyWIn ihs9G6PdbKPAY+9YpYZnxfRBKZal1pw= X-Received: by 2002:a62:6342:: with SMTP id x63mr54999297pfb.103.1582607314399; Mon, 24 Feb 2020 21:08:34 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:692:26ff:feda:3a81]) by smtp.gmail.com with ESMTPSA id r66sm15156450pfc.74.2020.02.24.21.08.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Feb 2020 21:08:33 -0800 (PST) From: John Stultz To: lkml Cc: John Stultz , Rob Herring , "Rafael J. Wysocki" , Kevin Hilman , Ulf Hansson , Pavel Machek , Len Brown , Todd Kjos , Saravana Kannan , Bjorn Andersson , Liam Girdwood , Mark Brown , Thierry Reding , Linus Walleij , Greg Kroah-Hartman , linux-pm@vger.kernel.org Subject: [PATCH v5 0/6] driver core: Improve and cleanup driver_deferred_probe_check_state() Date: Tue, 25 Feb 2020 05:08:22 +0000 Message-Id: <20200225050828.56458-1-john.stultz@linaro.org> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series goal is to improve and cleanup the driver_deferred_probe_check_state() code in the driver core. This series is useful for being able to support modules dependencies which may be loaded by userland, far after late_initcall is done. For instance, this series allows us to successfully use various clk drivers as modules on the db845c board. And without it, those drivers have to be statically built in to work. Since I first sent out this patch, Saravana suggested an alternative approach which also works for our needs, and is a bit simpler: https://lore.kernel.org/lkml/20200220055250.196456-1-saravanak@google.com/T/#u However, while that patch provides the functionality we need, I still suspect the driver_deferred_probe_check_state() code could benefit from the cleanup in this patch, as the existing logic is somewhat muddy. New in v5: * Reworked the driver_deferred_probe_check_state() logic as suggested by Saravana to tie the initcall_done checking with modules being enabled. * Cleanup some comment wording as suggested by Rafael * Try to slightly simplify the regulator logic as suggested by Bjorn Thanks so much to Bjorn, Saravana and Rafael for their reviews and suggestions! Additional review and feedback is always greatly appreciated! thanks -john Cc: Rob Herring Cc: "Rafael J. Wysocki" Cc: Kevin Hilman Cc: Ulf Hansson Cc: Pavel Machek Cc: Len Brown Cc: Todd Kjos Cc: Saravana Kannan Cc: Bjorn Andersson Cc: Liam Girdwood Cc: Mark Brown Cc: Thierry Reding Cc: Linus Walleij Cc: Greg Kroah-Hartman Cc: linux-pm@vger.kernel.org John Stultz (6): driver core: Fix driver_deferred_probe_check_state() logic driver core: Set deferred_probe_timeout to a longer default if CONFIG_MODULES is set pinctrl: Remove use of driver_deferred_probe_check_state_continue() driver core: Remove driver_deferred_probe_check_state_continue() driver core: Rename deferred_probe_timeout and make it global regulator: Use driver_deferred_probe_timeout for regulator_init_complete_work drivers/base/dd.c | 82 +++++++++++++---------------------- drivers/pinctrl/devicetree.c | 9 ++-- drivers/regulator/core.c | 25 ++++++----- include/linux/device/driver.h | 2 +- 4 files changed, 49 insertions(+), 69 deletions(-) -- 2.17.1