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 --- |