Denis Kirjanov bd607b
From 10e6479325ce46aa3f670bad4a127b194dcd60c2 Mon Sep 17 00:00:00 2001
Denis Kirjanov bd607b
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Denis Kirjanov bd607b
Date: Wed, 20 Jun 2018 10:03:56 +0200
Denis Kirjanov bd607b
Subject: [PATCH 4/7] net: davinci_emac: match the mdio device against its
Denis Kirjanov bd607b
 compatible if possible
Denis Kirjanov bd607b
References: git-fixes
Denis Kirjanov bd607b
Patch-mainline: v4.18-rc3
Denis Kirjanov bd607b
Git-commit: ea0820bb771175c7d4192fc6f5b5c56b3c6d5239
Denis Kirjanov bd607b
Denis Kirjanov bd607b
Device tree based systems without of_dev_auxdata will have the mdio
Denis Kirjanov bd607b
device named differently than "davinci_mdio(.0)". In this case use the
Denis Kirjanov bd607b
device's parent's compatible string for matching
Denis Kirjanov bd607b
Denis Kirjanov bd607b
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Denis Kirjanov bd607b
Signed-off-by: David S. Miller <davem@davemloft.net>
Denis Kirjanov bd607b
Signed-off-by: Denis Kirjanov <denis.kirjanov@suse.com>
Denis Kirjanov bd607b
---
Denis Kirjanov bd607b
 drivers/net/ethernet/ti/davinci_emac.c | 4 ++++
Denis Kirjanov bd607b
 1 file changed, 4 insertions(+)
Denis Kirjanov bd607b
Denis Kirjanov bd607b
diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
Denis Kirjanov bd607b
index ab2c7bad7089..0fc5a15f2b8a 100644
Denis Kirjanov bd607b
--- a/drivers/net/ethernet/ti/davinci_emac.c
Denis Kirjanov bd607b
+++ b/drivers/net/ethernet/ti/davinci_emac.c
Denis Kirjanov bd607b
@@ -1387,6 +1387,10 @@ static int emac_devioctl(struct net_device *ndev, struct ifreq *ifrq, int cmd)
Denis Kirjanov bd607b
 
Denis Kirjanov bd607b
 static int match_first_device(struct device *dev, void *data)
Denis Kirjanov bd607b
 {
Denis Kirjanov bd607b
+	if (dev->parent && dev->parent->of_node)
Denis Kirjanov bd607b
+		return of_device_is_compatible(dev->parent->of_node,
Denis Kirjanov bd607b
+					       "ti,davinci_mdio");
Denis Kirjanov bd607b
+
Denis Kirjanov bd607b
 	return !strncmp(dev_name(dev), "davinci_mdio", 12);
Denis Kirjanov bd607b
 }
Denis Kirjanov bd607b
 
Denis Kirjanov bd607b
-- 
Denis Kirjanov bd607b
2.16.4
Denis Kirjanov bd607b