Hi, This is a re-spin of the DSA migration to fwnode_/device_ API. As agreed, the ACPI-specific patches were kept aside for now, until the MDIOSerialBus is submitted and accepted in the ACPI Specification. The patchset addresses all comments from the first version, mostly related to usage of proper device_ helpers. Also, as it was suggested, fwnode_dev_node_match() routine was taken out of the network code and introduced as a generic one in drivers/base/property.c The details can be found in the changelog below. Any comments or remarks will be appreciated. Each patch was tested on: * On EspressoBIN * On SolidRun CN913x CEx7 Eval Board IMPORTANT NOTE: This patchset is rebased on top of the one from Russell (https://lore.kernel.org/all/Ys7RdzGgHbYiPyB1@xxxxxxxxxxxxxxxxxxxxx/), so a care should be taken, when merging to the net-next tree. Best regards, Marcin Changelog v1->v2: 1/8 * Drop unnecessary check in fixed_phy_get_gpiod() * Improve line breaking * Use device_set_node & dev_fwnode 2/8 * Switch to fwnode_property_count_u32 and fix comparison in if statement. 3/8 * Drop dn usage entirely and use dp->fwnode only. Update all dependent drivers to use to_of_node. * Use device_set_node, dev_fwnode & device_get_named_child_node * Replace '_of' routines suffix with '_fw' 4/8 * Use device_set_node 5/8 * New patch 6/8 * Use device_match_fwnode * Restore EXPORT_SYMBOL() 7/8 * Get rid of of_mdiobus_register_device 8/8 * Use dev_fwnode in mv88e6xxx_probe * Simplify condition checks in mv88e6xxx_probe as suggested by Andy Marcin Wojtas (8): net: phy: fixed_phy: switch to fwnode_ API net: mdio: switch fixed-link PHYs API to fwnode_ net: dsa: switch to device_/fwnode_ APIs net: mvpp2: initialize port fwnode pointer device property: introduce fwnode_dev_node_match net: core: switch to fwnode_find_net_device_by_node() net: mdio: introduce fwnode_mdiobus_register_device() net: dsa: mv88e6xxx: switch to device_/fwnode_ APIs include/linux/etherdevice.h | 1 + include/linux/fwnode_mdio.h | 22 ++++ include/linux/of_net.h | 6 - include/linux/phy_fixed.h | 4 +- include/linux/property.h | 2 + include/net/dsa.h | 2 +- net/dsa/dsa_priv.h | 4 +- drivers/base/property.c | 22 ++++ drivers/net/dsa/mt7530.c | 2 +- drivers/net/dsa/mv88e6xxx/chip.c | 57 ++++----- drivers/net/dsa/qca8k.c | 2 +- drivers/net/dsa/realtek/rtl8365mb.c | 2 +- drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 2 +- drivers/net/mdio/fwnode_mdio.c | 129 ++++++++++++++++++++ drivers/net/mdio/of_mdio.c | 111 +---------------- drivers/net/phy/fixed_phy.c | 39 +++--- net/core/net-sysfs.c | 25 ++-- net/dsa/dsa2.c | 101 ++++++++------- net/dsa/port.c | 70 ++++++----- net/dsa/slave.c | 7 +- 20 files changed, 328 insertions(+), 282 deletions(-) -- 2.29.0