From nobody Fri Oct 3 05:26:14 2025 Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 532842C0323; Thu, 4 Sep 2025 21:32:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757021563; cv=none; b=hHb2fHotA/ATf8QyCKp/qq2bll5xSxqp59Vkic/kNtZwXOwLyiN09BSYjHcp7PGjdwiqr7e4AMhu6yeH/+9//VRj/sAZ4YrqlkAMLN+hwVgoRQaBIiz4E6qiY8G3gOFbXnesTE9edfrjsL9vtFAusaKtXSif8/8Xoi3f3wu5CJw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757021563; c=relaxed/simple; bh=as/j2XHQ4f2rCQN5MlrncBx0n6vH+w6Fk8YLrJUnd3g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aO+OGPUn4Ld/SBiBAy4DNDSQHzemyqv9T/VvV98Vl16WEvNmAu6vx/jEL/TtToZDjk1mJYxy0K+RITTs6tRJkmISbEmzAb388etpFEG5ozPTwjVGYwtoDwMcxV0joifu1l4FuxRUwnmmow+uzCc0/qv9IbwGRLTENIfI/+ipjT8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ns1/vCyR; arc=none smtp.client-ip=209.85.222.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ns1/vCyR" Received: by mail-qk1-f182.google.com with SMTP id af79cd13be357-7fe9eea0d21so151957385a.2; Thu, 04 Sep 2025 14:32:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757021561; x=1757626361; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HfJo2H6ZWSWCMA4g4gE9i482h+GrTxDw4eF5crseCrA=; b=ns1/vCyR8ao+uUFBButk+S+2aFDaqGDydPKEKl7ZWh93Zrfl5mqcZWlXDRZgAbbT7F F5xyikNUJye+VUh2nEC3ggCMdvqU0UxsK/8mBXiDUZLEvYH/pNI+9fWfKF+Mk8L9mlzu f1gGyULSKWCrHpriqfHwSUOb2vmdADZTHic+gLf3iVBDUXdBf5D2mkOGs9HjE2FJUaJI ZkKLVfI3zj+DDMggZ7LWRazwbejgUb6myQRYjLkK5Al+I6ZXnZJ6LSD3OUx5yG5W4xif EqOstni8rCtpR+kMsWJh8VN1dWPIyM5y0WXM4fVRITm4U+f+WvZx3cmybNtLhr7eBovi 7Fng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757021561; x=1757626361; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HfJo2H6ZWSWCMA4g4gE9i482h+GrTxDw4eF5crseCrA=; b=vvXZjcDjlhrFtFhtlznd59dwtqMtvrmbZK6juMuq51vyj40VPGFI08rxl25IKPIPv6 Fk0qHHcXQGCASVf6TP782+cnoL1tOvCfGtWr6JCVVmgPfUsuearSEY2PNblVxPHJgbJE AmzCUmz93x2jYI9y76MEEahqFmPIU19UxI/kmHoOkISEQUSAYmYfh9s1PREbChWQRamK WZ42uxNBR5KYmKZxD09H0a321yxvov50RjWwLF6UJsS9NyQ1e39aJ84WUW17Y+HWJIlj GJ0+znn6H1hj1fWVQa+vzmlXe3zX1IY8cbifOwnExmalw1Ie2JibLuRAjyEoBQfznW5+ ig2g== X-Forwarded-Encrypted: i=1; AJvYcCURi+9XvPz99Nq6wRZ6KIwk8PaMsblm0BCLVuAYiM+YuBBWzM/8cjI7aCMixy3pIXRNEOyvLV7wHsTGQ0M=@vger.kernel.org X-Gm-Message-State: AOJu0YylXq5YSJGh83OawG8XJoq7nKH3at0+Mz1QbXapuestrExUkJvN nnFtrFke1/iEJNLKX5MXU+jRHbD0E+jLgDY3XDjekWBz2TTBaIwRbLQ+e2gBHQ== X-Gm-Gg: ASbGncu+aWT74+aw0YE16T69UVWX9hg6p9IJI3czJUarpAqwDb+yE6lropZaPeBqaFz NqOsOv5CxJ31D7VYpO5dKQv6zisR2xY4MXdgGdhSKY5h1HAdkRKYXAO+ZhR9Of4MaAf/jDUlJ9a fazqRSVsbb67hpMxdxgHgx0dLRqlyBZ2YUNREoLjIMAg/Crgz/U3L8XcRiY0mZ1Yf5XQfCTRfyx vwkC17m8JA172pRIQeTWFbkE9DCKWjO798svSdzc5CJDMU7Fu/3o6niMIdMxnQc2V+qT6r5BCJI jyGT/ZBYneAw6hY8qxrOQUbC+kj5hqFPp6ilyP6K4nHnkigeIsp5XjYc10Ovt/Vv8SCwuv/Zyyd cyqjFXO/Fm0r6b9omwR/QUkQ8nasxQLrIj7fU9yuMo165Mq2zEnTe5oqhVk/LXGI/zEZSXWdVcZ y7G6jEaw== X-Google-Smtp-Source: AGHT+IEMDG3qKM9E64JDbZlvMNFIAoPif+QvGsq7rKH5NWkVKB/zLRQl4pUo2HCjzrKSkjRpxVTcMg== X-Received: by 2002:a05:620a:a915:b0:800:e553:ba99 with SMTP id af79cd13be357-800e553c367mr2008621085a.11.1757021560966; Thu, 04 Sep 2025 14:32:40 -0700 (PDT) Received: from archlinux ([2601:644:8200:acc7::9ec]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4b48f635cbesm35473501cf.5.2025.09.04.14.32.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Sep 2025 14:32:40 -0700 (PDT) From: Rosen Penev To: netdev@vger.kernel.org Cc: Sunil Goutham , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-arm-kernel@lists.infradead.org (moderated list:ARM/CAVIUM THUNDER NETWORK DRIVER), linux-kernel@vger.kernel.org (open list) Subject: [PATCHv2 net-next 1/2] net: thunder_bgx: check for MAC probe defer Date: Thu, 4 Sep 2025 14:32:27 -0700 Message-ID: <20250904213228.8866-2-rosenp@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20250904213228.8866-1-rosenp@gmail.com> References: <20250904213228.8866-1-rosenp@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" of_get_mac_address supports NVMEM, which can load after the driver. Check for it and defer in such a case. Signed-off-by: Rosen Penev Reviewed-by: Andrew Lunn --- drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/ne= t/ethernet/cavium/thunder/thunder_bgx.c index 9efb60842ad1..a68dccb7c2da 100644 --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c @@ -1471,6 +1471,7 @@ static int bgx_init_of_phy(struct bgx *bgx) struct fwnode_handle *fwn; struct device_node *node =3D NULL; u8 lmac =3D 0; + int err; =20 device_for_each_child_node(&bgx->pdev->dev, fwn) { struct phy_device *pd; @@ -1483,7 +1484,9 @@ static int bgx_init_of_phy(struct bgx *bgx) if (!node) break; =20 - of_get_mac_address(node, bgx->lmac[lmac].mac); + err =3D of_get_mac_address(node, bgx->lmac[lmac].mac); + if (err =3D=3D -EPROBE_DEFER) + goto defer; =20 SET_NETDEV_DEV(bgx->lmac[lmac].netdev, &bgx->pdev->dev); bgx->lmac[lmac].lmacid =3D lmac; --=20 2.51.0 From nobody Fri Oct 3 05:26:14 2025 Received: from mail-qk1-f179.google.com (mail-qk1-f179.google.com [209.85.222.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2BA322C21F7; Thu, 4 Sep 2025 21:32:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757021565; cv=none; b=st58q5Aq5Vl+IJiFrXqKRkT0kX8nNsJd+J6+NJ9wUY6DghHbADEQS5cnPpSEeS/BdekZ1WU//SeCXPyYJ/ec/1e8ktz+P7v7KyZsfFuoRP30TehWp5mh7K01P2KcO6tKxTsy6WAMrz+BgWDPMNOi2K8EPEZV5m+bPLNf5Ge0uwA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757021565; c=relaxed/simple; bh=mskh1ca0IFsv+ws5kBUC/1IZ+qrxNgix4I2UcawkYxE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DW5/S9IBit5NFJo5tS44rqGBM02iUi5X+Ma/e8RyXS2/+v6E7kMCzfGEESh8y7WYN55MuWNtGYaIQkiTvyiT02azZY2G3Odu9nse06eSNmL34AZ9Eu6lMAYg5TJC0/wB2ieouZtYPT+BgO3LlKZqYcvuFuCwnZSE2TkeIpOw3ZI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jZ7eF6Si; arc=none smtp.client-ip=209.85.222.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jZ7eF6Si" Received: by mail-qk1-f179.google.com with SMTP id af79cd13be357-809f849bdd6so162206985a.0; Thu, 04 Sep 2025 14:32:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757021563; x=1757626363; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=SP//4Q+uImYUL6/+8qHx67kUOU4MQKI9owsJGMxhBGo=; b=jZ7eF6SiQzp/asAtTns5X1fZy2N360g+HLZt5tMpONZZtOjos3T//ZaJZeubERlGg0 /Gn6DsP4/0hR5T6iOrjYDPS52rRC3yoIplMHhESiAihWpvxHMCr8SRVCw7zYCnLk54+n ZxRTLAaKDKULuKbQNormcfwVjbkTMe3mubQYNiicplLMBYpWYDhhqaMEAmXcOxjQWWZX S08NNkVCMnLc7l31M+ja2hs16PhGbcm9TLBls+N2eO/XzQO6EpPkDmvSW3guTEfOWinW bTLKWFI1zuSOrnxdyrsco5Rz/8sgosFt2a0kgQqleXQBWeQyKWfMrHauwFDyHBguZWXx ieTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757021563; x=1757626363; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SP//4Q+uImYUL6/+8qHx67kUOU4MQKI9owsJGMxhBGo=; b=Fk8ZcpMLJYUIbdyYO27dWaM1erWjvPdghSF7Xb71EK2cY23T7+eVLEtU0/qXJdb5DY GiF568jPpT2s/ic1eHdP4NJdGliT3fXqtw7gVsbt37npQaMGRS2pWvgtATKB8BAqWlyZ x0uFvPxQTM6dcd5GbAJcN1uqnU08+xhW4Q0mUiWFm/UfhFJpJ4v74+r28jkPrAfpKzWJ KBNuUX6nikczh8fMfNiswQB11Nh1Y9jhnRGlaQJJn1oBw97tv1L40WYMhDrdoZvXqgac +eznkcgelIeFWsKQGr0hU1TkuZ/UDO/QsGyGQcS9qDWYiOT7YcPV1d1Z30DSvwtjASE/ TAzg== X-Forwarded-Encrypted: i=1; AJvYcCVZdvvTbjtpG8emu2pc9gSskr3Pm5/BNJbH5xC25SIPNbuxYDteh8/dJ6ef83rMb0YbVPBnt1L3Ca6TBMw=@vger.kernel.org X-Gm-Message-State: AOJu0YxgrkIXXx0OgnFAXCNNy1yr7Ql8IcrWzaNkDenkkvp9SCL8BhIe M5aUt6FR93mGCBE9Nr/DjnKkMUktOms0JhKh5Qpf5dn1GyYkfyzRVwKrRjfT9A== X-Gm-Gg: ASbGncuT0wDL7xUBjfNMVn5d7vc4Sdu5rpO8feYmA6+/zi3slyKHvV7GxEV8wCvjNoK oK5GC5eZE13JaqW0G74Udspyg8oDjARMHqKklkaEjOSpiKvVn9P9lVso4rApuq6tTR3N/xosdpm BxT5RDL3ayDyteoht1D6Arfwbn6MDMH1gtgirxqvu6/nZrw9kY/tq9Fb0dNXfEXQZGeN+cBzPU2 j21voa2OwpgwcIDeEtrjUJBaHYZhmKlj89LNrnx1Yy8gfunj9zCVEiXrXX5Xj/jE6HJwQWuepDp nhDVP87rklpSobIgYBg19Jba5k7Z2ymJLQ/cuSBkeBsnYAb5N/kC9VcNd6Vtjw1GukBQyOwF40j fe1jAHxKdaa+dZsl108JjsgpYilDpshk3xwG5QGkAJhZduCR7v5u+/yRfKz8JPMt6e9ouXpE= X-Google-Smtp-Source: AGHT+IEqs7POj69pxkvZDjE95U6KYOVuVkDeoyFsTxqhrP/MM9ePnYC09WI0Yur0q2gFyWQ0dNfZrw== X-Received: by 2002:a05:620a:461e:b0:7fc:797a:942a with SMTP id af79cd13be357-7ff2b0d77d8mr2309803585a.45.1757021562704; Thu, 04 Sep 2025 14:32:42 -0700 (PDT) Received: from archlinux ([2601:644:8200:acc7::9ec]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4b48f635cbesm35473501cf.5.2025.09.04.14.32.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Sep 2025 14:32:42 -0700 (PDT) From: Rosen Penev To: netdev@vger.kernel.org Cc: Sunil Goutham , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-arm-kernel@lists.infradead.org (moderated list:ARM/CAVIUM THUNDER NETWORK DRIVER), linux-kernel@vger.kernel.org (open list) Subject: [PATCHv2 net-next 2/2] net: thunder_bgx: use OF loop instead of fwnode Date: Thu, 4 Sep 2025 14:32:28 -0700 Message-ID: <20250904213228.8866-3-rosenp@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20250904213228.8866-1-rosenp@gmail.com> References: <20250904213228.8866-1-rosenp@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This is implemented under CONFIG_OF_MDIO, which already assumes an OF node. Also the loop already checks to see if of_node is NULL before proceeding. Signed-off-by: Rosen Penev --- .../net/ethernet/cavium/thunder/thunder_bgx.c | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/ne= t/ethernet/cavium/thunder/thunder_bgx.c index a68dccb7c2da..06ca305de1b4 100644 --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c @@ -1468,30 +1468,23 @@ static int bgx_init_acpi_phy(struct bgx *bgx) =20 static int bgx_init_of_phy(struct bgx *bgx) { - struct fwnode_handle *fwn; - struct device_node *node =3D NULL; + struct device_node *node =3D bgx->pdev->dev.of_node; + struct device_node *child; u8 lmac =3D 0; - int err; =20 - device_for_each_child_node(&bgx->pdev->dev, fwn) { + for_each_child_of_node(node, child) { struct phy_device *pd; struct device_node *phy_np; + int err; =20 - /* Should always be an OF node. But if it is not, we - * cannot handle it, so exit the loop. - */ - node =3D to_of_node(fwn); - if (!node) - break; - - err =3D of_get_mac_address(node, bgx->lmac[lmac].mac); + err =3D of_get_mac_address(child, bgx->lmac[lmac].mac); if (err =3D=3D -EPROBE_DEFER) goto defer; =20 SET_NETDEV_DEV(bgx->lmac[lmac].netdev, &bgx->pdev->dev); bgx->lmac[lmac].lmacid =3D lmac; =20 - phy_np =3D of_parse_phandle(node, "phy-handle", 0); + phy_np =3D of_parse_phandle(child, "phy-handle", 0); /* If there is no phy or defective firmware presents * this cortina phy, for which there is no driver * support, ignore it. @@ -1511,7 +1504,7 @@ static int bgx_init_of_phy(struct bgx *bgx) =20 lmac++; if (lmac =3D=3D bgx->max_lmac) { - of_node_put(node); + of_node_put(child); break; } } @@ -1528,7 +1521,7 @@ static int bgx_init_of_phy(struct bgx *bgx) bgx->lmac[lmac].phydev =3D NULL; } } - of_node_put(node); + of_node_put(child); return -EPROBE_DEFER; } =20 --=20 2.51.0