Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp2653186iog; Sun, 26 Jun 2022 23:18:29 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uxfi7hyw9BcWV1/l/o5Cxp82o8mGkcRo0ueHFl9uD0D9QOtZCiX7Oa/IcINtGvog9Cznt1 X-Received: by 2002:a63:1544:0:b0:402:de15:b4d2 with SMTP id 4-20020a631544000000b00402de15b4d2mr11376186pgv.128.1656310709214; Sun, 26 Jun 2022 23:18:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656310709; cv=none; d=google.com; s=arc-20160816; b=IRIREJoBt+QxtfS6i9+q1qqFzRcpwJHQG0EPT5+m5H3uj9/C89Aj/elVgTTypmqwci DmObXFiEioSxK/B6yD4SAc5+KgXfvMdxTptKX72t94e5JMs5ZACqSECQdNz6Jcz+PP+G N8Zoiy2Fi3sM5HEpaDFPtOWFu6HYmx3gdTXC2n6hE3z+mOfMWHJG7MqIPpXRkYFdEKFK NC/G4ISIkNGmlFajpKFnJ1N5aZ/QH701ea82RTFKGsS31lIeDW4E+aCaT6ax1lkrCUUp bZDiIx2+2GcYL++ZnHUIY+JnxtNytN6v0FRnYVhpgpAOrIL1RgdEZkwlhD6EfH6zvo02 qeEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=nQ2Dxw++HMgq5p0HrLnSeRJ1jL6rntZ5qxteXg2OOsA=; b=XHBvNs9q35KPAAcf8lwmDhvcH7/Pc526MDS+DKtrl4AhYOQZFmzce6bkJ48H5GtTtv gDqAx69yYgbaQpgREPUMpH6EoS26+hzq4MKw36/o5Spv6J64AU6ecpHrA7YtJ0+9vWIr rukUt5ZZy7XApvqQks6e9gJ5LVs4JjRsVGFF6FKWmEbyUDfxHgCnhDYYvCUNbKvgAOYu GEi0a45XwVt/fw2tpdH0WrMiD1a9LISIO7IrJtjFJVs37/8ilkZMG7gHgRou4JAzl1yO GWl84FZK17k+mgHe//bu9Xrq2ppvZOhwvYIVIFWXYY8Y5oJKIGIrKC0NyiBJXUGe193S fG9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=dEXd5Wik; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x80-20020a627c53000000b00525331af3c2si11676415pfc.156.2022.06.26.23.18.16; Sun, 26 Jun 2022 23:18:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=dEXd5Wik; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232314AbiF0GKk (ORCPT + 99 others); Mon, 27 Jun 2022 02:10:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48578 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232291AbiF0GKj (ORCPT ); Mon, 27 Jun 2022 02:10:39 -0400 Received: from mail-yw1-x112b.google.com (mail-yw1-x112b.google.com [IPv6:2607:f8b0:4864:20::112b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9CDC26EB for ; Sun, 26 Jun 2022 23:10:38 -0700 (PDT) Received: by mail-yw1-x112b.google.com with SMTP id 00721157ae682-3177e60d980so74828277b3.12 for ; Sun, 26 Jun 2022 23:10:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nQ2Dxw++HMgq5p0HrLnSeRJ1jL6rntZ5qxteXg2OOsA=; b=dEXd5WiksWqmXl/lRgw6xnYEf+8PEjb/4WQELkZ+8x4O0EOqM46NGu2wOyxUcoZwTp kMy9svj4bMOzy+k82MOkAdS711RlUQsOICMVXAywlxGejFp9bZYowCrPo985KccGLuaZ uzhth84DcNFUmZGfM4mHR1dE7Ny7hrRMfCHfxNkovDgdMN450oACHRqmAUZcHrPv5k/k h0b2jOTDJDDolz+lw76m41iPBWQMLbOoYhN0vIa3/59h3GfM0TJUU4dOYdAsFzC3uLTr SzAftX4tc8mWiroIozGlCGJGN+/GuDr47DggWDzrc77JcAW0Bz/fuWZJs9vIUbvAgV7l bT/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nQ2Dxw++HMgq5p0HrLnSeRJ1jL6rntZ5qxteXg2OOsA=; b=nWauQlkZu/+oha/Pi3sNWhbuqVgnFRF0uQUGqH7BOWyYZq28VEXucSp8avzz7i43TH Xy7ZzYCC/i/gXcD+mVn1c1hDW8cDwGzWBlrYjuBg7MhoxVeV0wg+7zkZaHpD/D+9K5+a mNUNMoHb3A+GuFQpvoOVIZuAvc0wOZGRfVO/eYUsptzLjHP31pe95WdYPsZTYq5FbB1s inGGUGTUuT405px34jgpL8TCkI2X9xY6Yk15Tp6HslNA0UKkvLW3SED1HVXHoNReaQNQ OTh4HWQVvZ9I0SqakOo/Pxu/R25yOe6GSGqmUernmZ1c/hru3gPiDmlU4RPWQwFm6vNP c2nA== X-Gm-Message-State: AJIora9Cfu8XA8KIUJY22O1AxKbgKFzTpt9hfb0090z0gPnpoNFYIROw pW7oZpX5i6p5TqsWQ8EXssqI4LlLim6lmrHSTV9npQ== X-Received: by 2002:a0d:ca16:0:b0:31b:7adf:d91 with SMTP id m22-20020a0dca16000000b0031b7adf0d91mr11086107ywd.455.1656310237874; Sun, 26 Jun 2022 23:10:37 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Saravana Kannan Date: Sun, 26 Jun 2022 23:10:01 -0700 Message-ID: Subject: Re: Default async probing for DT based systems To: Linus Walleij Cc: LKML , linux-arm-kernel , Marek Szyprowski , Geert Uytterhoeven , Kevin Hilman , Greg Kroah-Hartman , Marc Zyngier , Will Deacon , Rob Herring , "Rafael J. Wysocki" , Ulf Hansson , Sebastian Andrzej Siewior , Android Kernel Team , Linux PM Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jun 25, 2022 at 11:09 AM Linus Walleij wrote: > > On Fri, Jun 17, 2022 at 8:01 PM Saravana Kannan wrote: > > On Fri, Jun 17, 2022 at 1:21 AM Linus Walleij wrote: > > > On Thu, Jun 16, 2022 at 5:25 AM Saravana Kannan wrote: > > > > > > > Since fw_devlink=on is the default behavior and fw_devlink understands > > > > approximately 24 DT bindings, > > > > > > How can I see which these are, in the kernel tree? > > > > device/of/property.c has an array of these binding handling functions > > in of_supplier_bindings[]. > > > > Most of the functions there are created using DEFINE_SIMPLE_PROP() or > > DEFINE_SUFFIX_PROP() that's also in the same file. > > Thanks! > > We already have some device links in pin control, it's an opt-in for > drivers, used e.g in drivers/pinctrl/stm32/pinctrl-stm32.c > where you see > pctl->pctl_desc.link_consumers = true; > how does that > play with this? Double device links at different levels? Depends on what device you use for the supplier. If it's the true device that probes and registers with the pinctrl framework, then there won't be any double device links. It'll actually be helpful because fw_devlink uses these attempts initiated by the driver to confirm the dependencies it inferred from DT -- so when it infers a cycle, it'll keep the links that drivers have attempted and "ignore" the rest of the links in the cycle when it comes to probe ordering. If you use the devices the pinctrl framework creates on the gpio-bus as the supplier for the device link, then yes, it'll be additional device links. I'm not sure how useful they are on top of the ones fw_devlink creates with the true device. If you don't need to do any special suspend sequence for each of the individual gpio-devices, then I'd recommend just creating one with the true device as the supplier. -Saravana > > I had a patch to just enforce device links on all pinctrl resources, > but it seemed over the top: > https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git/commit/?h=consumer-link-enforce&id=73441cf773ed91bff0e7f66614d391b2514188bf > > Yours, > Linus Walleij