On Thu, Mar 11, 2021 at 11:49:59AM +0530, Calvin Johnson wrote: > Refactor of_phy_find_device() to use fwnode_phy_find_device(). > > Signed-off-by: Calvin Johnson <calvin.johnson@xxxxxxxxxxx> This patch series is provoking depmod dependency cycles for me and it bisected down to this patch (although I think later patches in the series add further cycles). The problems emerge when running modules_install either directly or indirectly via packaging rules such as bindeb-pkg. ~~~ make -j16 INSTALL_MOD_PATH=$PWD/modules modules_install ... INSTALL sound/usb/misc/snd-ua101.ko INSTALL sound/usb/snd-usb-audio.ko INSTALL sound/usb/snd-usbmidi-lib.ko INSTALL sound/xen/snd_xen_front.ko DEPMOD 5.12.0-rc3-00009-g1fda33bf463d depmod: ERROR: Cycle detected: fwnode_mdio -> of_mdio -> fwnode_mdio depmod: ERROR: Found 2 modules in dependency cycles! ~~~ Kconfig can be found here: https://gist.github.com/daniel-thompson/6a7d224f3d3950ffa3f63f979b636474 This Kconfig file is for a highly modular kernel derived from the Debian 5.10 arm64 kernel config. I was not able to reproduce using the defconfig kernel for arm64. Daniel. > --- > > Changes in v7: None > Changes in v6: None > Changes in v5: None > Changes in v4: None > Changes in v3: None > Changes in v2: None > > drivers/net/mdio/of_mdio.c | 13 +------------ > 1 file changed, 1 insertion(+), 12 deletions(-) > > diff --git a/drivers/net/mdio/of_mdio.c b/drivers/net/mdio/of_mdio.c > index d5e0970b2561..b5e0b5b22f1a 100644 > --- a/drivers/net/mdio/of_mdio.c > +++ b/drivers/net/mdio/of_mdio.c > @@ -360,18 +360,7 @@ EXPORT_SYMBOL(of_mdio_find_device); > */ > struct phy_device *of_phy_find_device(struct device_node *phy_np) > { > - struct mdio_device *mdiodev; > - > - mdiodev = of_mdio_find_device(phy_np); > - if (!mdiodev) > - return NULL; > - > - if (mdiodev->flags & MDIO_DEVICE_FLAG_PHY) > - return to_phy_device(&mdiodev->dev); > - > - put_device(&mdiodev->dev); > - > - return NULL; > + return fwnode_phy_find_device(of_fwnode_handle(phy_np)); > } > EXPORT_SYMBOL(of_phy_find_device); >