提交 c1b59947 编写于 作者: S Stefan Sørensen 提交者: David S. Miller

net:cpsw: Pass unhandled ioctl's on to generic phy ioctl

This patch allows the use of a generic timestamping phy connected
to the cpsw if CPTS support is not enabled. This also adds support
of the SIOCGMIIREG and SIOCSMIIREG, and moves handling of SIOCGMIIPHY
to the generic driver.
Signed-off-by: NStefan Sørensen <stefan.sorensen@spectralink.com>
Reviewed-by: NBen Hutchings <ben@decadent.org.uk>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 ada0f863
...@@ -1471,7 +1471,6 @@ static int cpsw_hwtstamp_get(struct net_device *dev, struct ifreq *ifr) ...@@ -1471,7 +1471,6 @@ static int cpsw_hwtstamp_get(struct net_device *dev, struct ifreq *ifr)
static int cpsw_ndo_ioctl(struct net_device *dev, struct ifreq *req, int cmd) static int cpsw_ndo_ioctl(struct net_device *dev, struct ifreq *req, int cmd)
{ {
struct cpsw_priv *priv = netdev_priv(dev); struct cpsw_priv *priv = netdev_priv(dev);
struct mii_ioctl_data *data = if_mii(req);
int slave_no = cpsw_slave_index(priv); int slave_no = cpsw_slave_index(priv);
if (!netif_running(dev)) if (!netif_running(dev))
...@@ -1484,14 +1483,11 @@ static int cpsw_ndo_ioctl(struct net_device *dev, struct ifreq *req, int cmd) ...@@ -1484,14 +1483,11 @@ static int cpsw_ndo_ioctl(struct net_device *dev, struct ifreq *req, int cmd)
case SIOCGHWTSTAMP: case SIOCGHWTSTAMP:
return cpsw_hwtstamp_get(dev, req); return cpsw_hwtstamp_get(dev, req);
#endif #endif
case SIOCGMIIPHY:
data->phy_id = priv->slaves[slave_no].phy->addr;
break;
default:
return -ENOTSUPP;
} }
return 0; if (!priv->slaves[slave_no].phy)
return -EOPNOTSUPP;
return phy_mii_ioctl(priv->slaves[slave_no].phy, req, cmd);
} }
static void cpsw_ndo_tx_timeout(struct net_device *ndev) static void cpsw_ndo_tx_timeout(struct net_device *ndev)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册