Message ID | 20180619160950.6283-3-brgl@bgdev.pl (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 06/19/2018 09:09 AM, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > Copy the of_node over from mii_bus's struct device. This is needed > for device-tree systems to be able to check the mdio device's > compatible string. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > --- > drivers/net/phy/phy_device.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c > index bd0f339f69fd..a92d5ee61813 100644 > --- a/drivers/net/phy/phy_device.c > +++ b/drivers/net/phy/phy_device.c > @@ -411,6 +411,7 @@ struct phy_device *phy_device_create(struct mii_bus *bus, int addr, int phy_id, > mdiodev->dev.parent = &bus->dev; > mdiodev->dev.bus = &mdio_bus_type; > mdiodev->dev.type = &mdio_bus_phy_type; > + mdiodev->dev.of_node = bus->dev.of_node; That does not quite make sense to me, the mdio device's parent already points to &bus->dev, which would get you the correct of_node. You are breaking the parent/child relationship here. From patch 3, see my comments there, it does not look like you are matching on the right device level. > mdiodev->bus = bus; > mdiodev->bus_match = phy_bus_match; > mdiodev->addr = addr; >
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index bd0f339f69fd..a92d5ee61813 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -411,6 +411,7 @@ struct phy_device *phy_device_create(struct mii_bus *bus, int addr, int phy_id, mdiodev->dev.parent = &bus->dev; mdiodev->dev.bus = &mdio_bus_type; mdiodev->dev.type = &mdio_bus_phy_type; + mdiodev->dev.of_node = bus->dev.of_node; mdiodev->bus = bus; mdiodev->bus_match = phy_bus_match; mdiodev->addr = addr;