]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/usb/pegasus.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[linux-2.6-omap-h63xx.git] / drivers / net / usb / pegasus.c
index 166880c113d6718ad00b87f75f0b84caa93867b3..a8228d87c8cf8255ce0422854ee7533e3cb7c386 100644 (file)
@@ -93,6 +93,7 @@ module_param (msg_level, int, 0);
 MODULE_PARM_DESC (msg_level, "Override default message level");
 
 MODULE_DEVICE_TABLE(usb, pegasus_ids);
+static const struct net_device_ops pegasus_netdev_ops;
 
 static int update_eth_regs_async(pegasus_t *);
 /* Aargh!!! I _really_ hate such tweaks */
@@ -150,8 +151,8 @@ static int get_registers(pegasus_t * pegasus, __u16 indx, __u16 size,
        pegasus->dr.bRequestType = PEGASUS_REQT_READ;
        pegasus->dr.bRequest = PEGASUS_REQ_GET_REGS;
        pegasus->dr.wValue = cpu_to_le16(0);
-       pegasus->dr.wIndex = cpu_to_le16p(&indx);
-       pegasus->dr.wLength = cpu_to_le16p(&size);
+       pegasus->dr.wIndex = cpu_to_le16(indx);
+       pegasus->dr.wLength = cpu_to_le16(size);
        pegasus->ctrl_urb->transfer_buffer_length = size;
 
        usb_fill_control_urb(pegasus->ctrl_urb, pegasus->usb,
@@ -208,8 +209,8 @@ static int set_registers(pegasus_t * pegasus, __u16 indx, __u16 size,
        pegasus->dr.bRequestType = PEGASUS_REQT_WRITE;
        pegasus->dr.bRequest = PEGASUS_REQ_SET_REGS;
        pegasus->dr.wValue = cpu_to_le16(0);
-       pegasus->dr.wIndex = cpu_to_le16p(&indx);
-       pegasus->dr.wLength = cpu_to_le16p(&size);
+       pegasus->dr.wIndex = cpu_to_le16(indx);
+       pegasus->dr.wLength = cpu_to_le16(size);
        pegasus->ctrl_urb->transfer_buffer_length = size;
 
        usb_fill_control_urb(pegasus->ctrl_urb, pegasus->usb,
@@ -261,7 +262,7 @@ static int set_register(pegasus_t * pegasus, __u16 indx, __u8 data)
        pegasus->dr.bRequestType = PEGASUS_REQT_WRITE;
        pegasus->dr.bRequest = PEGASUS_REQ_SET_REG;
        pegasus->dr.wValue = cpu_to_le16(data);
-       pegasus->dr.wIndex = cpu_to_le16p(&indx);
+       pegasus->dr.wIndex = cpu_to_le16(indx);
        pegasus->dr.wLength = cpu_to_le16(1);
        pegasus->ctrl_urb->transfer_buffer_length = 1;
 
@@ -476,7 +477,7 @@ static inline void get_node_id(pegasus_t * pegasus, __u8 * id)
 
        for (i = 0; i < 3; i++) {
                read_eprom_word(pegasus, i, &w16);
-               ((__le16 *) id)[i] = cpu_to_le16p(&w16);
+               ((__le16 *) id)[i] = cpu_to_le16(w16);
        }
 }
 
@@ -1360,14 +1361,10 @@ static int pegasus_probe(struct usb_interface *intf,
        pegasus->intf = intf;
        pegasus->usb = dev;
        pegasus->net = net;
-       net->open = pegasus_open;
-       net->stop = pegasus_close;
+
+
        net->watchdog_timeo = PEGASUS_TX_TIMEOUT;
-       net->tx_timeout = pegasus_tx_timeout;
-       net->do_ioctl = pegasus_ioctl;
-       net->hard_start_xmit = pegasus_start_xmit;
-       net->set_multicast_list = pegasus_set_multicast;
-       net->get_stats = pegasus_netdev_stats;
+       net->netdev_ops = &pegasus_netdev_ops;
        SET_ETHTOOL_OPS(net, &ops);
        pegasus->mii.dev = net;
        pegasus->mii.mdio_read = mdio_read;
@@ -1482,6 +1479,16 @@ static int pegasus_resume (struct usb_interface *intf)
        return 0;
 }
 
+static const struct net_device_ops pegasus_netdev_ops = {
+       .ndo_open =                     pegasus_open,
+       .ndo_stop =                     pegasus_close,
+       .ndo_do_ioctl =                 pegasus_ioctl,
+       .ndo_start_xmit =               pegasus_start_xmit,
+       .ndo_set_multicast_list =       pegasus_set_multicast,
+       .ndo_get_stats =                pegasus_netdev_stats,
+       .ndo_tx_timeout =               pegasus_tx_timeout,
+};
+
 static struct usb_driver pegasus_driver = {
        .name = driver_name,
        .probe = pegasus_probe,