pegasus.c (7f46b1343f723f98634a5dcee47856b2000079ed) pegasus.c (8cb89571bd66fec6a71d8a2b1de2262722dfbb8d)
1/*
2 * Copyright (c) 1999-2005 Petko Manolov (petkan@users.sourceforge.net)
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ChangeLog:

--- 79 unchanged lines hidden (view full) ---

88MODULE_PARM_DESC(devid, "The format is: 'DEV_name:VendorID:DeviceID:Flags'");
89
90/* use ethtool to change the level for any given device */
91static int msg_level = -1;
92module_param (msg_level, int, 0);
93MODULE_PARM_DESC (msg_level, "Override default message level");
94
95MODULE_DEVICE_TABLE(usb, pegasus_ids);
1/*
2 * Copyright (c) 1999-2005 Petko Manolov (petkan@users.sourceforge.net)
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ChangeLog:

--- 79 unchanged lines hidden (view full) ---

88MODULE_PARM_DESC(devid, "The format is: 'DEV_name:VendorID:DeviceID:Flags'");
89
90/* use ethtool to change the level for any given device */
91static int msg_level = -1;
92module_param (msg_level, int, 0);
93MODULE_PARM_DESC (msg_level, "Override default message level");
94
95MODULE_DEVICE_TABLE(usb, pegasus_ids);
96static const struct net_device_ops pegasus_netdev_ops;
96
97static int update_eth_regs_async(pegasus_t *);
98/* Aargh!!! I _really_ hate such tweaks */
99static void ctrl_callback(struct urb *urb)
100{
101 pegasus_t *pegasus = urb->context;
102 int status = urb->status;
103

--- 1251 unchanged lines hidden (view full) ---

1355
1356 tasklet_init(&pegasus->rx_tl, rx_fixup, (unsigned long) pegasus);
1357
1358 INIT_DELAYED_WORK(&pegasus->carrier_check, check_carrier);
1359
1360 pegasus->intf = intf;
1361 pegasus->usb = dev;
1362 pegasus->net = net;
97
98static int update_eth_regs_async(pegasus_t *);
99/* Aargh!!! I _really_ hate such tweaks */
100static void ctrl_callback(struct urb *urb)
101{
102 pegasus_t *pegasus = urb->context;
103 int status = urb->status;
104

--- 1251 unchanged lines hidden (view full) ---

1356
1357 tasklet_init(&pegasus->rx_tl, rx_fixup, (unsigned long) pegasus);
1358
1359 INIT_DELAYED_WORK(&pegasus->carrier_check, check_carrier);
1360
1361 pegasus->intf = intf;
1362 pegasus->usb = dev;
1363 pegasus->net = net;
1363 net->open = pegasus_open;
1364 net->stop = pegasus_close;
1364
1365
1365 net->watchdog_timeo = PEGASUS_TX_TIMEOUT;
1366 net->watchdog_timeo = PEGASUS_TX_TIMEOUT;
1366 net->tx_timeout = pegasus_tx_timeout;
1367 net->do_ioctl = pegasus_ioctl;
1368 net->hard_start_xmit = pegasus_start_xmit;
1369 net->set_multicast_list = pegasus_set_multicast;
1370 net->get_stats = pegasus_netdev_stats;
1367 net->netdev_ops = &pegasus_netdev_ops;
1371 SET_ETHTOOL_OPS(net, &ops);
1372 pegasus->mii.dev = net;
1373 pegasus->mii.mdio_read = mdio_read;
1374 pegasus->mii.mdio_write = mdio_write;
1375 pegasus->mii.phy_id_mask = 0x1f;
1376 pegasus->mii.reg_num_mask = 0x1f;
1377 spin_lock_init(&pegasus->rx_pool_lock);
1378 pegasus->msg_enable = netif_msg_init (msg_level, NETIF_MSG_DRV

--- 98 unchanged lines hidden (view full) ---

1477 pegasus->intr_urb->actual_length = 0;
1478 intr_callback(pegasus->intr_urb);
1479 }
1480 queue_delayed_work(pegasus_workqueue, &pegasus->carrier_check,
1481 CARRIER_CHECK_DELAY);
1482 return 0;
1483}
1484
1368 SET_ETHTOOL_OPS(net, &ops);
1369 pegasus->mii.dev = net;
1370 pegasus->mii.mdio_read = mdio_read;
1371 pegasus->mii.mdio_write = mdio_write;
1372 pegasus->mii.phy_id_mask = 0x1f;
1373 pegasus->mii.reg_num_mask = 0x1f;
1374 spin_lock_init(&pegasus->rx_pool_lock);
1375 pegasus->msg_enable = netif_msg_init (msg_level, NETIF_MSG_DRV

--- 98 unchanged lines hidden (view full) ---

1474 pegasus->intr_urb->actual_length = 0;
1475 intr_callback(pegasus->intr_urb);
1476 }
1477 queue_delayed_work(pegasus_workqueue, &pegasus->carrier_check,
1478 CARRIER_CHECK_DELAY);
1479 return 0;
1480}
1481
1482static const struct net_device_ops pegasus_netdev_ops = {
1483 .ndo_open = pegasus_open,
1484 .ndo_stop = pegasus_close,
1485 .ndo_do_ioctl = pegasus_ioctl,
1486 .ndo_start_xmit = pegasus_start_xmit,
1487 .ndo_set_multicast_list = pegasus_set_multicast,
1488 .ndo_get_stats = pegasus_netdev_stats,
1489 .ndo_tx_timeout = pegasus_tx_timeout,
1490};
1491
1485static struct usb_driver pegasus_driver = {
1486 .name = driver_name,
1487 .probe = pegasus_probe,
1488 .disconnect = pegasus_disconnect,
1489 .id_table = pegasus_ids,
1490 .suspend = pegasus_suspend,
1491 .resume = pegasus_resume,
1492};

--- 47 unchanged lines hidden ---
1492static struct usb_driver pegasus_driver = {
1493 .name = driver_name,
1494 .probe = pegasus_probe,
1495 .disconnect = pegasus_disconnect,
1496 .id_table = pegasus_ids,
1497 .suspend = pegasus_suspend,
1498 .resume = pegasus_resume,
1499};

--- 47 unchanged lines hidden ---