[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9235D6609DB808459E95D78E17F2E43D40A9DB6A@CHN-SV-EXMX02.mchp-main.com>
Date: Sat, 27 May 2017 01:31:36 +0000
From: <Woojung.Huh@...rochip.com>
To: <f.fainelli@...il.com>, <netdev@...r.kernel.org>
CC: <davem@...emloft.net>, <andrew@...n.ch>
Subject: RE: [PATCH net-next 1/3] net: phy: Create sysfs reciprocal links
for attached_dev/phydev
>
> Yes, that's a very valid point, how about we even do this:
>
> diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
> index f84414b8f2ee..dc666ec13651 100644
> --- a/drivers/net/phy/phy_device.c
> +++ b/drivers/net/phy/phy_device.c
> @@ -960,15 +960,21 @@ int phy_attach_direct(struct net_device *dev,
> struct phy_device *phydev,
>
> phydev->attached_dev = dev;
> dev->phydev = phydev;
> +
> + /* Some Ethernet drivers try to connect to a PHY device before
> + * calling register_netdevice() -> netdev_register_kobject() and
> + * does the dev->dev.kobj initialization. Here we only check for
> + * success which indicates that the network device kobject is
> + * ready.
> + */
> err = sysfs_create_link(&phydev->mdio.dev.kobj, &dev->dev.kobj,
> "attached_dev");
> - if (err)
> - goto error;
> -
> - err = sysfs_create_link(&dev->dev.kobj, &phydev->mdio.dev.kobj,
> - "phydev");
> - if (err)
> - goto error;
> + if (!err) {
> + err = sysfs_create_link(&dev->dev.kobj,
> &phydev->mdio.dev.kobj,
> + "phydev");
> + if (err)
> + goto error;
> + }
>
> phydev->dev_flags = flags;
>
Looks better and clean.
How about sysfs_remove_link() in phy_detach()?
- Woojung
Powered by blists - more mailing lists