davinci_emac: pass ioctls through to phy device.
authorRichard Cochran <richardcochran@gmail.com>
Sun, 12 Jun 2011 02:19:00 +0000 (02:19 +0000)
committerDavid S. Miller <davem@conan.davemloft.net>
Mon, 13 Jun 2011 21:26:14 +0000 (17:26 -0400)
The DaVinci EMAC driver does not implement any ioctls, but still it can
pass them through to the phy device. This makes it possible for a phy
to offer PHC capabilities.

Cc: Anant Gole <anantgole@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
Signed-off-by: David S. Miller <davem@conan.davemloft.net>
drivers/net/davinci_emac.c

index dcc4a170b0f397ed5362341a8d5a62fb07d411a4..5c2baa4f785afcea4c86d583270e51ce4143fc96 100644 (file)
@@ -1489,14 +1489,14 @@ static void emac_adjust_link(struct net_device *ndev)
  */
 static int emac_devioctl(struct net_device *ndev, struct ifreq *ifrq, int cmd)
 {
-       dev_warn(&ndev->dev, "DaVinci EMAC: ioctl not supported\n");
+       struct emac_priv *priv = netdev_priv(ndev);
 
        if (!(netif_running(ndev)))
                return -EINVAL;
 
        /* TODO: Add phy read and write and private statistics get feature */
 
-       return -EOPNOTSUPP;
+       return phy_mii_ioctl(priv->phydev, ifrq, cmd);
 }
 
 static int match_first_device(struct device *dev, void *data)