Message ID | 20180619160950.6283-4-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> > > Device tree based systems without of_dev_auxdata will have the mdio > device named differently than "davinci_mdio(.0)". In this case use the > device's compatible string for matching. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> > --- > drivers/net/ethernet/ti/davinci_emac.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c > index a1a6445b5a7e..c28a35bb852f 100644 > --- a/drivers/net/ethernet/ti/davinci_emac.c > +++ b/drivers/net/ethernet/ti/davinci_emac.c > @@ -1387,6 +1387,10 @@ static int emac_devioctl(struct net_device *ndev, struct ifreq *ifrq, int cmd) > > static int match_first_device(struct device *dev, void *data) > { > + if (dev->of_node) > + return of_device_is_compatible(dev->of_node, > + "ti,davinci_mdio"); Why would we be matching the PHY device with the MDIO controller compatibe string? Why not check dev->parent.of_node instead which would make more sense?
diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c index a1a6445b5a7e..c28a35bb852f 100644 --- a/drivers/net/ethernet/ti/davinci_emac.c +++ b/drivers/net/ethernet/ti/davinci_emac.c @@ -1387,6 +1387,10 @@ static int emac_devioctl(struct net_device *ndev, struct ifreq *ifrq, int cmd) static int match_first_device(struct device *dev, void *data) { + if (dev->of_node) + return of_device_is_compatible(dev->of_node, + "ti,davinci_mdio"); + return !strncmp(dev_name(dev), "davinci_mdio", 12); }