.set_link_ksettings = pegasus_set_link_ksettings,
 };
 
-static int pegasus_ioctl(struct net_device *net, struct ifreq *rq, int cmd)
+static int pegasus_siocdevprivate(struct net_device *net, struct ifreq *rq,
+                                 void __user *udata, int cmd)
 {
        __u16 *data = (__u16 *) &rq->ifr_ifru;
        pegasus_t *pegasus = netdev_priv(net);
 static const struct net_device_ops pegasus_netdev_ops = {
        .ndo_open =                     pegasus_open,
        .ndo_stop =                     pegasus_close,
-       .ndo_do_ioctl =                 pegasus_ioctl,
+       .ndo_siocdevprivate =           pegasus_siocdevprivate,
        .ndo_start_xmit =               pegasus_start_xmit,
        .ndo_set_rx_mode =              pegasus_set_multicast,
        .ndo_tx_timeout =               pegasus_tx_timeout,
 
        .get_link_ksettings = rtl8150_get_link_ksettings,
 };
 
-static int rtl8150_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
+static int rtl8150_siocdevprivate(struct net_device *netdev, struct ifreq *rq,
+                                 void __user *udata, int cmd)
 {
        rtl8150_t *dev = netdev_priv(netdev);
        u16 *data = (u16 *) & rq->ifr_ifru;
 static const struct net_device_ops rtl8150_netdev_ops = {
        .ndo_open               = rtl8150_open,
        .ndo_stop               = rtl8150_close,
-       .ndo_do_ioctl           = rtl8150_ioctl,
+       .ndo_siocdevprivate     = rtl8150_siocdevprivate,
        .ndo_start_xmit         = rtl8150_start_xmit,
        .ndo_tx_timeout         = rtl8150_tx_timeout,
        .ndo_set_rx_mode        = rtl8150_set_multicast,