Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp2945834imm; Thu, 24 May 2018 19:38:10 -0700 (PDT) X-Google-Smtp-Source: AB8JxZq9HeT5IMnf3D1gRY/CkiyVrg1NSqoQZZDgTWlqeBymqY2FfN8q4+OBErwzjbozH1GrAXfm X-Received: by 2002:a17:902:bf08:: with SMTP id bi8-v6mr570724plb.353.1527215890851; Thu, 24 May 2018 19:38:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527215890; cv=none; d=google.com; s=arc-20160816; b=NUNFVkja91sX4Zryw8Pnu1ibjR1JMj6AOJYXlBIVxz1bge7N+G3LBvx6Sw8VNXxVq7 Ikh+rXxkeuUY5g8OqjKOH8AEQ6VZmHlQtTaq+/0Xwvs960eJJBe7zd7nuLqagIEJyyd2 bB9GBQTFfR6kOwxB5+lb2lg7biqGRBHHGHjcqB6u0+uhu3dfc3EMCqMxmzZRCivLWytk Omne/IqT8qHXiOb41A+x1IU5iAfkSJ3CK3+zVFV164jn1f3K1Rgn2sdwZ6LJ3tyJSDQt FhfQVVnESM0bf9FSQ0aJvdsvazVkkXAeSuEPNLo120lmGjduVGKlWhjvUXKsfRiT79Yi btVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=oMbdL9jlRw3jeYbcnlsrVd3WzufKNz3+iG03CB17bLE=; b=GeMhlQAU4Rd5iGkjxglJlJ037uQRJ8xOlQ3wccbBQwJU+7q+stLQ5Fbk1fIJxJyw/m cH8ySrCN6fODHuaJtu9eQ5GtWKuieKZrOd9KMCbKslLNR6wZBoGjCa9J8q8rK1GsBrAW AvoIVwWMQW00BiuhKlQNszbpx6LwYPrUVWoKp26fQnRiTLPNHp1zO9T1BZfpohZqZD8J P+AwtZCvHDX88/JdGzjNHzrfV14PvXcRIWf9kEajUCVh1Sz8zPq5HfGtzF2NJhzi2zoy 3OAy7Ktem0tB/jd7GpXOot0liT7kXRZIP69H2d7UKbHp6G09QZ329ZeIMF3p5MzYTmTu DogA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=XMD0vnGn; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c6-v6si22425022plo.88.2018.05.24.19.37.56; Thu, 24 May 2018 19:38:10 -0700 (PDT) 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=@kernel.org header.s=default header.b=XMD0vnGn; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1034377AbeEXS5C (ORCPT + 99 others); Thu, 24 May 2018 14:57:02 -0400 Received: from mail.kernel.org ([198.145.29.99]:36428 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1032744AbeEXS45 (ORCPT ); Thu, 24 May 2018 14:56:57 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (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 645452086E; Thu, 24 May 2018 18:56:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527188217; bh=flTqQ7jMHn5FTYX5IkRSVHELGmhmCpJynyXNl5hg/JU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=XMD0vnGn5cCpEgb4FP+/FmlK2iARsO7b4aul4a/O1fmkR6q1XkYBCE6rFru9Mb5yf JvNFfJSFBeezJ87OL32/fB8vz5p46IIs8md9X7JfHXx6929CrtxowBm3dcO3EkT62K Y/dG89Q6cvkElGPexPxQ/OcFXfLllxiLg8atc8zA= Date: Thu, 24 May 2018 20:56:39 +0200 From: Greg Kroah-Hartman To: Rob Herring Cc: Linus Walleij , Alexander Graf , Bjorn Andersson , "Rafael J. Wysocki" , Kevin Hilman , Ulf Hansson , Joerg Roedel , Robin Murphy , Mark Brown , Frank Rowand , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, boot-architecture@lists.linaro.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v2 1/8] driver core: make deferring probe after init optional Message-ID: <20180524185639.GA31019@kroah.com> References: <20180524175024.19874-1-robh@kernel.org> <20180524175024.19874-2-robh@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180524175024.19874-2-robh@kernel.org> User-Agent: Mutt/1.10.0 (2018-05-17) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 24, 2018 at 12:50:17PM -0500, Rob Herring wrote: > Deferred probe will currently wait forever on dependent devices to probe, > but sometimes a driver will never exist. It's also not always critical for > a driver to exist. Platforms can rely on default configuration from the > bootloader or reset defaults for things such as pinctrl and power domains. > This is often the case with initial platform support until various drivers > get enabled. There's at least 2 scenarios where deferred probe can render > a platform broken. Both involve using a DT which has more devices and > dependencies than the kernel supports. The 1st case is a driver may be > disabled in the kernel config. The 2nd case is the kernel version may > simply not have the dependent driver. This can happen if using a newer DT > (provided by firmware perhaps) with a stable kernel version. > > Subsystems or drivers may opt-in to this behavior by calling > driver_deferred_probe_check_init_done() instead of just returning > -EPROBE_DEFER. They may use additional information from DT or kernel's > config to decide whether to continue to defer probe or not. > > Cc: Alexander Graf > Signed-off-by: Rob Herring > --- > drivers/base/dd.c | 17 +++++++++++++++++ > include/linux/device.h | 2 ++ > 2 files changed, 19 insertions(+) > > diff --git a/drivers/base/dd.c b/drivers/base/dd.c > index c9f54089429b..d6034718da6f 100644 > --- a/drivers/base/dd.c > +++ b/drivers/base/dd.c > @@ -226,6 +226,16 @@ void device_unblock_probing(void) > driver_deferred_probe_trigger(); > } > > +int driver_deferred_probe_check_init_done(struct device *dev, bool optional) > +{ > + if (optional && initcalls_done) { > + dev_WARN(dev, "ignoring dependency for device, assuming no driver"); You really only need dev_warn(), here, right? thanks, greg k-h