| From foo@baz Wed Aug 22 09:42:09 CEST 2018 |
| From: Bartosz Golaszewski <bgolaszewski@baylibre.com> |
| Date: Wed, 20 Jun 2018 10:03:56 +0200 |
| Subject: net: davinci_emac: match the mdio device against its compatible if possible |
| |
| From: Bartosz Golaszewski <bgolaszewski@baylibre.com> |
| |
| [ Upstream commit ea0820bb771175c7d4192fc6f5b5c56b3c6d5239 ] |
| |
| 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 parent's compatible string for matching |
| |
| Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/ti/davinci_emac.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- 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_devi |
| |
| static int match_first_device(struct device *dev, void *data) |
| { |
| + if (dev->parent && dev->parent->of_node) |
| + return of_device_is_compatible(dev->parent->of_node, |
| + "ti,davinci_mdio"); |
| + |
| return !strncmp(dev_name(dev), "davinci_mdio", 12); |
| } |
| |