Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp264157pxb; Wed, 15 Sep 2021 01:13:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzx/6/LgBl28iWWLwY3byhIuRXWb1esUxik6c41nHcKX8QWOIPOeDtgJwXT8Q59lURhlAlC X-Received: by 2002:a92:c56b:: with SMTP id b11mr14650056ilj.225.1631693619312; Wed, 15 Sep 2021 01:13:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631693619; cv=none; d=google.com; s=arc-20160816; b=NfNHHHK7XpdK6APQE6bfoHuXy10SBF+I0eR0B4QkLjdk6TSbQ60ifix4Cc1myRa/Qp yVA1gFUT/TO/OmFJExlBncPvmAFewYy660KIxEVd6z0ew369Bv2RNtA0KG9gcoJswfBR 732r0DaOvGwujn7k/eAiFJ/N62jTWsFMih+PAAASTNMtszZg5kO0jh8i2lV+qGq6j9d9 thXR4mGL2JRiPoTbVwc/+xanQUJ1mSE4zYOgM++f+LsIN33MeeC+QkiZGv5luOm4kYQw qt4Wn3vRNTWnbB+Mx4bJUYJommpTfM07EqFsXRo/Z0TlG/B16neOuCDNc8lv0p6swmMS v6MQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=RwmF1eG4qjehbM/6vPHudaKlp5QMZAj0EjDeZYR+hmQ=; b=nNu7xLCTjlg47ZpmZCNyNVtgEDSoU0CfqqmxcYf65kfknoN4g4MDiIOOmwvqGt+YpY oza+bR9aFsnlQXoJ7O7DFd5HIPpFRIno41MLsy0vH4iKgIeJyiU7y5gvKwhXV8x40gjD wTIElWcxPMbK8pt6YZo88brCC3GzF4nM6xaSXbcgQLRE4slTg8L4Rne6w5MoEl8Vyh8L WuzcY2X3KQ0l5+s5nBFdkRQtkr0bcRfmUo2l9/KtCyV0WhrTvqIb8QxBytOpgcS9fO+z m8J/e3MwypLCDni8ThrriSCSzS1H8hmmxoLFRjSoLKXiqGC9thVqpGiCplN8LDv2/hFc B6+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=lisrCW1F; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r4si14289192ilb.106.2021.09.15.01.13.24; Wed, 15 Sep 2021 01:13:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=lisrCW1F; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S237304AbhIOINs (ORCPT + 99 others); Wed, 15 Sep 2021 04:13:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237075AbhIOINV (ORCPT ); Wed, 15 Sep 2021 04:13:21 -0400 Received: from mail-qv1-xf49.google.com (mail-qv1-xf49.google.com [IPv6:2607:f8b0:4864:20::f49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7589AC0613E5 for ; Wed, 15 Sep 2021 01:12:00 -0700 (PDT) Received: by mail-qv1-xf49.google.com with SMTP id b8-20020a0562141148b02902f1474ce8b7so2626740qvt.20 for ; Wed, 15 Sep 2021 01:12:00 -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=RwmF1eG4qjehbM/6vPHudaKlp5QMZAj0EjDeZYR+hmQ=; b=lisrCW1FhYgFf8tDVaJoILHzDIzWOAS5LqcKP0JGtTYPEKmraA3n3o4QQJNAhwl4/4 TKKR9DPQyLJ+kZ+nQVA5aF0oHoCDT1mORXCa+VYPIIXBaK53fZDs3wSXIpuCpM4HtEHd b/iAKZelL/EgjCvxZmEGTurk1lK6922v21LbUJ7JxgYlexfobGlx8iZtIOyAVx9pyLqc QoK/xekl9Y57N7unuQldMOQfk+G87n32xwKcmHW32zh2RgOIGp313Kq5TsYpXT1+rwvt 2+9hEwDzGoaW2+9sGVLIWufrkLfBncwA57Rvmmv5Nfz9ops1bM9sDFOdfaWw3keCzCk/ ZRgQ== 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=RwmF1eG4qjehbM/6vPHudaKlp5QMZAj0EjDeZYR+hmQ=; b=fHRSukvqqLvdlmLQORw2yXC+0dvu/NRnAp/pCM/f64lurmw9NwwFP1wIXp5aCqwmG1 avM6ADmDXbXYH3ZxXcjfwWywTc0C8VCCsVMw3l/H/TN8hdym4EGpMjvXrqkBRGnvxBnL RZwPIB6IgBaLhqEnHRxxY7r/m3NxbaajOWxOmD8jWIqxP4QVlDHBgDJk6zzNR9TG7mys qIS6inAUx07Db9I55U6X6avp0XLw6oSdzL4b7VIf0PAh80Afhhu3TQ1x/BP9LHGwU8+6 dbM8RbTwyQpQe/xBKeNXj1oyHh9NgkHCEU2PHr9Pcn+MzWwibrrhNX1KZWtjlyE9FD8F d65w== X-Gm-Message-State: AOAM531rVHCltjKQiImMmfGkEa3ZIt2VYAYWmlNmuNNEFVjSf35GjH1d SaIb5RvCRgn68fJyXNZ/tEhVYkNr2enVuKc= X-Received: from saravanak.san.corp.google.com ([2620:15c:2d:3:16d1:ab0e:fc4a:b9b1]) (user=saravanak job=sendgmr) by 2002:a0c:d6cd:: with SMTP id l13mr9444170qvi.24.1631693519655; Wed, 15 Sep 2021 01:11:59 -0700 (PDT) Date: Wed, 15 Sep 2021 01:11:38 -0700 In-Reply-To: <20210915081139.480263-1-saravanak@google.com> Message-Id: <20210915081139.480263-7-saravanak@google.com> Mime-Version: 1.0 References: <20210915081139.480263-1-saravanak@google.com> X-Mailer: git-send-email 2.33.0.309.g3052b89438-goog Subject: [PATCH v2 6/6] 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: John Stultz , Marek Szyprowski , Rob Herring , 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 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