From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-26.2 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT,USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55269C433F5 for ; Wed, 15 Sep 2021 17:10:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3A9C06121F for ; Wed, 15 Sep 2021 17:10:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230525AbhIORLT (ORCPT ); Wed, 15 Sep 2021 13:11:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41210 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230438AbhIORLP (ORCPT ); Wed, 15 Sep 2021 13:11:15 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2AB50C061764 for ; Wed, 15 Sep 2021 10:09:56 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id p200-20020a25d8d1000000b005a3a281bc11so4641672ybg.0 for ; Wed, 15 Sep 2021 10:09:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=0UkhiVR6DjX0Qd/nDHxWlOx6CU+wUejBFeHGRDPmxic=; b=rwiUknLhsfckyVtc9MYWfpdl3zUMcj5whM/wqIUzOr7o2qJxIqRU8JtfI8kmsp9RPC cDeUTCK6JiV3Lckp6PP2yElQNCgj9MAHv6Y060ht0erC5m5TM6cFAFlEGsIQTxpunqkJ TTmdqVt2BxbTrwpXoz2MK7WckyV25BgIsa/cOe8MbdW0TwswELSHN4loB6VRm1E3MoFH mv3X8AEDVvRNbr72GDMRLCGqivh2AfHr1AW2HFbuX7q88dvrmYlkdY6cCkbIIj/yfAj0 hRcDxevpYLN7SZ2ZsnVkE/qqQxQHCA/kXgRMDSoALiQci0e/P+iYgF8tV9TLT/684NE1 irrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=0UkhiVR6DjX0Qd/nDHxWlOx6CU+wUejBFeHGRDPmxic=; b=1VxQpIYTPPQ9nxXEjbj44H4xQDKG0dID6MFU1S6sS4Rv5PfJT1j90wAlzQEVf92t2c vCM54IY86nAQG4kCfRnuOuxlYOu/ZSrR1hh/llQ3+amFIpI4/lbepqnmx3LyZjiXgy8o HN95e1K5kXjd5g9JSlwAzFksocX8BtR/kZoiv5jEOC/eCRJ9Q8CpEKvdJ+SGpzmmNXWW 7OZZLBAcwxLhaXiGZyegFoIsS7Lz8VuY60nwXWGrxznrnb6ZXN37CjHJPqtd4UmLsxxj CmFW5laLeo28mGiTqt78t5IJJTT1u6KotzqiQnSOB1QFcuNB/sKkxu9UEJ9AS4IE+Mjf slpw== X-Gm-Message-State: AOAM531yIYe6ts2z40nhnMp7xDyNPOZPY7V8caAEaZIKCfnq6Jm1l3mF Y3eEaeKCaFcd8p6MjW8fC2Cat2GXlQiFM94= X-Google-Smtp-Source: ABdhPJyvpC6BA5zyb82hUXBtYjxlMLYkjX2NtqbM8ENYqEoZl85lNNkglEar4E0dEbS7Amv0OoYKpo2c4nNcc14= X-Received: from saravanak.san.corp.google.com ([2620:15c:2d:3:16d1:ab0e:fc4a:b9b1]) (user=saravanak job=sendgmr) by 2002:a25:d387:: with SMTP id e129mr1258115ybf.239.1631725795385; Wed, 15 Sep 2021 10:09:55 -0700 (PDT) Date: Wed, 15 Sep 2021 10:09:39 -0700 In-Reply-To: <20210915170940.617415-1-saravanak@google.com> Message-Id: <20210915170940.617415-4-saravanak@google.com> Mime-Version: 1.0 References: <20210915170940.617415-1-saravanak@google.com> X-Mailer: git-send-email 2.33.0.309.g3052b89438-goog Subject: [PATCH v3 3/3] net: mdiobus: Set FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD for mdiobus parents From: Saravana Kannan To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Andrew Lunn , Heiner Kallweit , Russell King , "David S. Miller" , Jakub Kicinski , Len Brown , Saravana Kannan Cc: Geert Uytterhoeven , Vladimir Oltean , kernel-team@android.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-acpi@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There are many instances of PHYs that depend on a switch to supply a resource (Eg: interrupts). Switches also expects the PHYs to be probed by their specific drivers as soon as they are added. If that doesn't happen, then the switch would force the use of generic PHY drivers for the PHY even if the PHY might have specific driver available. fw_devlink=on by design can cause delayed probes of PHY. To avoid, this we need to set the FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD for the switch's fwnode before the PHYs are added. The most generic way to do this is to set this flag for the parent of MDIO busses which is typically the switch. For more context: https://lore.kernel.org/lkml/YTll0i6Rz3WAAYzs@lunn.ch/#t Fixes: ea718c699055 ("Revert "Revert "driver core: Set fw_devlink=on by default""") Suggested-by: Andrew Lunn Signed-off-by: Saravana Kannan --- drivers/net/phy/mdio_bus.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c index 53f034fc2ef7..ee8313a4ac71 100644 --- a/drivers/net/phy/mdio_bus.c +++ b/drivers/net/phy/mdio_bus.c @@ -525,6 +525,10 @@ int __mdiobus_register(struct mii_bus *bus, struct module *owner) NULL == bus->read || NULL == bus->write) return -EINVAL; + if (bus->parent && bus->parent->of_node) + bus->parent->of_node->fwnode.flags |= + FWNODE_FLAG_NEEDS_CHILD_BOUND_ON_ADD; + BUG_ON(bus->state != MDIOBUS_ALLOCATED && bus->state != MDIOBUS_UNREGISTERED); -- 2.33.0.309.g3052b89438-goog