[PATCH] uml_net: use ethtool_ops
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
committed by
Jeff Garzik
parent
d375747284
commit
6d3874844f
@@ -243,34 +243,18 @@ static int uml_net_change_mtu(struct net_device *dev, int new_mtu)
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int uml_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
|
static void uml_net_get_drvinfo(struct net_device *dev,
|
||||||
|
struct ethtool_drvinfo *info)
|
||||||
{
|
{
|
||||||
static const struct ethtool_drvinfo info = {
|
strcpy(info->driver, DRIVER_NAME);
|
||||||
.cmd = ETHTOOL_GDRVINFO,
|
strcpy(info->version, "42");
|
||||||
.driver = DRIVER_NAME,
|
|
||||||
.version = "42",
|
|
||||||
};
|
|
||||||
void *useraddr;
|
|
||||||
u32 ethcmd;
|
|
||||||
|
|
||||||
switch (cmd) {
|
|
||||||
case SIOCETHTOOL:
|
|
||||||
useraddr = ifr->ifr_data;
|
|
||||||
if (copy_from_user(ðcmd, useraddr, sizeof(ethcmd)))
|
|
||||||
return -EFAULT;
|
|
||||||
switch (ethcmd) {
|
|
||||||
case ETHTOOL_GDRVINFO:
|
|
||||||
if (copy_to_user(useraddr, &info, sizeof(info)))
|
|
||||||
return -EFAULT;
|
|
||||||
return 0;
|
|
||||||
default:
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static struct ethtool_ops uml_net_ethtool_ops = {
|
||||||
|
.get_drvinfo = uml_net_get_drvinfo,
|
||||||
|
.get_link = ethtool_op_get_link,
|
||||||
|
};
|
||||||
|
|
||||||
void uml_net_user_timer_expire(unsigned long _conn)
|
void uml_net_user_timer_expire(unsigned long _conn)
|
||||||
{
|
{
|
||||||
#ifdef undef
|
#ifdef undef
|
||||||
@@ -359,7 +343,7 @@ static int eth_configure(int n, void *init, char *mac,
|
|||||||
dev->tx_timeout = uml_net_tx_timeout;
|
dev->tx_timeout = uml_net_tx_timeout;
|
||||||
dev->set_mac_address = uml_net_set_mac;
|
dev->set_mac_address = uml_net_set_mac;
|
||||||
dev->change_mtu = uml_net_change_mtu;
|
dev->change_mtu = uml_net_change_mtu;
|
||||||
dev->do_ioctl = uml_net_ioctl;
|
dev->ethtool_ops = ¨_net_ethtool_ops;
|
||||||
dev->watchdog_timeo = (HZ >> 1);
|
dev->watchdog_timeo = (HZ >> 1);
|
||||||
dev->irq = UM_ETH_IRQ;
|
dev->irq = UM_ETH_IRQ;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user