lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20220331092533.348626-6-clement.leger@bootlin.com> Date: Thu, 31 Mar 2022 11:25:27 +0200 From: Clément Léger <clement.leger@...tlin.com> To: Andrew Lunn <andrew@...n.ch>, Heiner Kallweit <hkallweit1@...il.com>, Russell King <linux@...linux.org.uk>, "David S . Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com> Cc: Horatiu Vultur <horatiu.vultur@...rochip.com>, Thomas Petazzoni <thomas.petazzoni@...tlin.com>, Alexandre Belloni <alexandre.belloni@...tlin.com>, Allan Nielsen <allan.nielsen@...rochip.com>, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, Clément Léger <clement.leger@...tlin.com> Subject: [RFC PATCH net-next v2 05/11] net: mdio: fwnode: add fwnode_mdiobus_register() In order to support software node description transparently, add fwnode support with fwnode_mdiobus_register(). This function behaves exactly like of_mdiobus_register() function but using the fwnode node agnostic API. This support might also be used to merge ACPI mdiobus support which is quite similar to the fwnode one. Some part such as the whitelist matching are kept exclusively for OF nodes since it uses an of_device_id struct and seems tightly coupled with OF. Other parts are generic and will allow to move the existing OF support on top of this fwnode version. Signed-off-by: Clément Léger <clement.leger@...tlin.com> --- include/linux/fwnode_mdio.h | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/include/linux/fwnode_mdio.h b/include/linux/fwnode_mdio.h index faf603c48c86..cc50a0833a43 100644 --- a/include/linux/fwnode_mdio.h +++ b/include/linux/fwnode_mdio.h @@ -9,6 +9,9 @@ #include <linux/phy.h> #if IS_ENABLED(CONFIG_FWNODE_MDIO) +int fwnode_mdio_parse_addr(struct device *dev, + const struct fwnode_handle *fwnode); +bool fwnode_mdiobus_child_is_phy(struct fwnode_handle *child); int fwnode_mdiobus_phy_device_register(struct mii_bus *mdio, struct phy_device *phy, struct fwnode_handle *child, u32 addr); @@ -16,10 +19,23 @@ int fwnode_mdiobus_phy_device_register(struct mii_bus *mdio, int fwnode_mdiobus_register_phy(struct mii_bus *bus, struct fwnode_handle *child, u32 addr); +int fwnode_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode); #else /* CONFIG_FWNODE_MDIO */ -int fwnode_mdiobus_phy_device_register(struct mii_bus *mdio, - struct phy_device *phy, - struct fwnode_handle *child, u32 addr) + +static inline int fwnode_mdio_parse_addr(struct device *dev, + const struct fwnode_handle *fwnode) +{ + return -EINVAL; +} + +static inline bool fwnode_mdiobus_child_is_phy(struct fwnode_handle *child) +{ + return false; +} + +static inline int +fwnode_mdiobus_phy_device_register(struct mii_bus *mdio, struct phy_device *phy, + struct fwnode_handle *child, u32 addr) { return -EINVAL; } @@ -30,6 +46,12 @@ static inline int fwnode_mdiobus_register_phy(struct mii_bus *bus, { return -EINVAL; } + +static inline int fwnode_mdiobus_register(struct mii_bus *mdio, + struct fwnode_handle *fwnode) +{ + return -EINVAL; +} #endif #endif /* __LINUX_FWNODE_MDIO_H */ -- 2.34.1
Powered by blists - more mailing lists