[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240507102822.2023826-1-maxime.chevallier@bootlin.com>
Date: Tue, 7 May 2024 12:28:19 +0200
From: Maxime Chevallier <maxime.chevallier@...tlin.com>
To: davem@...emloft.net
Cc: Maxime Chevallier <maxime.chevallier@...tlin.com>,
netdev@...r.kernel.org,
linux-kernel@...r.kernel.org,
thomas.petazzoni@...tlin.com,
Andrew Lunn <andrew@...n.ch>,
Jakub Kicinski <kuba@...nel.org>,
Eric Dumazet <edumazet@...gle.com>,
Paolo Abeni <pabeni@...hat.com>,
Russell King <linux@...linux.org.uk>,
linux-arm-kernel@...ts.infradead.org,
Christophe Leroy <christophe.leroy@...roup.eu>,
Herve Codina <herve.codina@...tlin.com>,
Florian Fainelli <f.fainelli@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>,
Vladimir Oltean <vladimir.oltean@....com>,
Köry Maincent <kory.maincent@...tlin.com>,
Jesse Brandeburg <jesse.brandeburg@...el.com>,
Marek Behún <kabel@...nel.org>,
Piergiorgio Beruto <piergiorgio.beruto@...il.com>,
Oleksij Rempel <o.rempel@...gutronix.de>,
Nicolò Veronese <nicveronese@...il.com>,
Simon Horman <horms@...nel.org>,
mwojtas@...omium.org,
Nathan Chancellor <nathan@...nel.org>,
Antoine Tenart <atenart@...nel.org>
Subject: [PATCH net-next 0/2] Fix phy_link_topology initialization
Nathan and Heiner reported issues that occur when phylib and phy drivers
built as modules expect the phy_link_topology to be initialized, due to
wrong use of IS_REACHABLE.
This small fixup series addresses that by moving the initialization code
into net/core/dev.c, but at the same time implementing lazy
initialization to only allocate the topology upon the first PHY
insertion.
This needed some refactoring, namely pass the netdevice itself as a
parameter for phy_link_topology helpers.
Thanks Heiner for the help on untangling this, and Nathan for the
report.
Maxime Chevallier (2):
net: phy: phy_link_topology: Pass netdevice to phy_link_topo helpers
net: phy: phy_link_topology: Lazy-initialize the link topology
drivers/net/phy/phy_device.c | 25 +++++----------
drivers/net/phy/phy_link_topology.c | 44 +++++++++++---------------
include/linux/netdevice.h | 2 ++
include/linux/phy_link_topology.h | 40 +++++++++++++----------
include/linux/phy_link_topology_core.h | 23 +++-----------
net/core/dev.c | 38 ++++++++++++++++++----
net/ethtool/netlink.c | 2 +-
7 files changed, 88 insertions(+), 86 deletions(-)
--
2.44.0
Powered by blists - more mailing lists