Commit e9cb9296 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman Committed by Jakub Kicinski
Browse files

net: phy: fix up const issues in to_mdio_device() and to_phy_device()



Both to_mdio_device() and to_phy_device() "throw away" the const pointer
attribute passed to them and return a non-const pointer, which generally
is not a good thing overall.  Fix this up by using container_of_const()
which was designed for this very problem.

Cc: Alexander Lobakin <alobakin@pm.me>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Heiner Kallweit <hkallweit1@gmail.com>
Cc: Russell King <linux@armlinux.org.uk>
Fixes: 7eab14de ("mdio, phy: fix -Wshadow warnings triggered by nested container_of()")
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://patch.msgid.link/2025052246-conduit-glory-8fc9@gregkh


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent cb575e5e
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -45,10 +45,7 @@ struct mdio_device {
	unsigned int reset_deassert_delay;
};

static inline struct mdio_device *to_mdio_device(const struct device *dev)
{
	return container_of(dev, struct mdio_device, dev);
}
#define to_mdio_device(__dev)	container_of_const(__dev, struct mdio_device, dev)

/* struct mdio_driver_common: Common to all MDIO drivers */
struct mdio_driver_common {
+1 −4
Original line number Diff line number Diff line
@@ -744,10 +744,7 @@ struct phy_device {
#define PHY_F_NO_IRQ		0x80000000
#define PHY_F_RXC_ALWAYS_ON	0x40000000

static inline struct phy_device *to_phy_device(const struct device *dev)
{
	return container_of(to_mdio_device(dev), struct phy_device, mdio);
}
#define to_phy_device(__dev)	container_of_const(to_mdio_device(__dev), struct phy_device, mdio)

/**
 * struct phy_tdr_config - Configuration of a TDR raw test