patch-2.4.23 linux-2.4.23/drivers/net/pcmcia/ibmtr_cs.c
Next file: linux-2.4.23/drivers/net/pcmcia/netwave_cs.c
Previous file: linux-2.4.23/drivers/net/pcmcia/fmvj18x_cs.c
Back to the patch index
Back to the overall index
- Lines: 52
- Date:
2003-11-28 10:26:20.000000000 -0800
- Orig file:
linux-2.4.22/drivers/net/pcmcia/ibmtr_cs.c
- Orig date:
2002-11-28 15:53:14.000000000 -0800
diff -urN linux-2.4.22/drivers/net/pcmcia/ibmtr_cs.c linux-2.4.23/drivers/net/pcmcia/ibmtr_cs.c
@@ -166,36 +166,15 @@
CardServices(ReportError, handle, &err);
}
-static int netdev_ethtool_ioctl(struct net_device *dev, void *useraddr)
+static void netdev_get_drvinfo(struct net_device *dev,
+ struct ethtool_drvinfo *info)
{
- u32 ethcmd;
-
- if (copy_from_user(ðcmd, useraddr, sizeof(ethcmd)))
- return -EFAULT;
-
- switch (ethcmd) {
- case ETHTOOL_GDRVINFO: {
- struct ethtool_drvinfo info = {ETHTOOL_GDRVINFO};
- strncpy(info.driver, "ibmtr_cs", sizeof(info.driver)-1);
- if (copy_to_user(useraddr, &info, sizeof(info)))
- return -EFAULT;
- return 0;
- }
- }
-
- return -EOPNOTSUPP;
+ strcpy(info->driver, "ibmtr_cs");
}
-static int private_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
-{
-
- switch(cmd) {
- case SIOCETHTOOL:
- return netdev_ethtool_ioctl(dev, (void *) rq->ifr_data);
- default:
- return -EOPNOTSUPP;
- }
-}
+static struct ethtool_ops netdev_ethtool_ops = {
+ .get_drvinfo = netdev_get_drvinfo,
+};
/*======================================================================
@@ -249,7 +228,7 @@
link->irq.Instance = info->dev = dev;
dev->init = &ibmtr_probe;
- dev->do_ioctl = &private_ioctl;
+ SET_ETHTOOL_OPS(dev, &netdev_ethtool_ops);
/* Register with Card Services */
link->next = dev_list;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)