Commit 98af522f authored by Linus Torvalds's avatar Linus Torvalds

Merge http://gkernel.bkbits.net/net-drivers-2.5

into home.transmeta.com:/home/torvalds/v2.5/linux
parents 7325b224 6f4f4c2d
...@@ -481,9 +481,7 @@ static inline void pc_sched_event(struct channel *ch, int event) ...@@ -481,9 +481,7 @@ static inline void pc_sched_event(struct channel *ch, int event)
-------------------------------------------------------------------------*/ -------------------------------------------------------------------------*/
ch->event |= 1 << event; ch->event |= 1 << event;
MOD_INC_USE_COUNT; schedule_work(&ch->tqueue);
if (schedule_work(&ch->tqueue) == 0)
MOD_DEC_USE_COUNT;
} /* End pc_sched_event */ } /* End pc_sched_event */
...@@ -604,7 +602,6 @@ static void pc_close(struct tty_struct * tty, struct file * filp) ...@@ -604,7 +602,6 @@ static void pc_close(struct tty_struct * tty, struct file * filp)
ASYNC_CALLOUT_ACTIVE | ASYNC_CLOSING); ASYNC_CALLOUT_ACTIVE | ASYNC_CLOSING);
wake_up_interruptible(&ch->close_wait); wake_up_interruptible(&ch->close_wait);
MOD_DEC_USE_COUNT;
restore_flags(flags); restore_flags(flags);
...@@ -692,10 +689,6 @@ static void pc_hangup(struct tty_struct *tty) ...@@ -692,10 +689,6 @@ static void pc_hangup(struct tty_struct *tty)
shutdown(ch); shutdown(ch);
if (ch->count)
MOD_DEC_USE_COUNT;
ch->tty = NULL; ch->tty = NULL;
ch->event = 0; ch->event = 0;
ch->count = 0; ch->count = 0;
...@@ -1389,8 +1382,6 @@ static int pc_open(struct tty_struct *tty, struct file * filp) ...@@ -1389,8 +1382,6 @@ static int pc_open(struct tty_struct *tty, struct file * filp)
} }
MOD_INC_USE_COUNT;
ch = &digi_channels[line]; ch = &digi_channels[line];
boardnum = ch->boardnum; boardnum = ch->boardnum;
...@@ -1714,6 +1705,7 @@ int __init pc_init(void) ...@@ -1714,6 +1705,7 @@ int __init pc_init(void)
memset(&pc_info, 0, sizeof(struct tty_driver)); memset(&pc_info, 0, sizeof(struct tty_driver));
pc_driver.magic = TTY_DRIVER_MAGIC; pc_driver.magic = TTY_DRIVER_MAGIC;
pc_driver.owner = THIS_MODULE;
pc_driver.name = "ttyD"; pc_driver.name = "ttyD";
pc_driver.major = DIGI_MAJOR; pc_driver.major = DIGI_MAJOR;
pc_driver.minor_start = 0; pc_driver.minor_start = 0;
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
char e1000_driver_name[] = "e1000"; char e1000_driver_name[] = "e1000";
char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver"; char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
char e1000_driver_version[] = "5.0.43-k1"; char e1000_driver_version[] = "5.0.43-k2";
char e1000_copyright[] = "Copyright (c) 1999-2003 Intel Corporation."; char e1000_copyright[] = "Copyright (c) 1999-2003 Intel Corporation.";
/* e1000_pci_tbl - PCI Device ID Table /* e1000_pci_tbl - PCI Device ID Table
...@@ -2000,10 +2000,16 @@ e1000_intr(int irq, void *data, struct pt_regs *regs) ...@@ -2000,10 +2000,16 @@ e1000_intr(int irq, void *data, struct pt_regs *regs)
} }
#ifdef CONFIG_E1000_NAPI #ifdef CONFIG_E1000_NAPI
/* Don't disable interrupts - rely on h/w interrupt if(netif_rx_schedule_prep(netdev)) {
* moderation to keep interrupts low. netif_rx_schedule
* is NOP if already polling. */ /* Disable interrupts and register for poll. The flush
netif_rx_schedule(netdev); of the posted write is intentionally left out.
*/
atomic_inc(&adapter->irq_sem);
E1000_WRITE_REG(&adapter->hw, IMC, ~0);
__netif_rx_schedule(netdev);
}
#else #else
for(i = 0; i < E1000_MAX_INTR; i++) for(i = 0; i < E1000_MAX_INTR; i++)
if(!e1000_clean_rx_irq(adapter) && if(!e1000_clean_rx_irq(adapter) &&
...@@ -2025,16 +2031,16 @@ e1000_clean(struct net_device *netdev, int *budget) ...@@ -2025,16 +2031,16 @@ e1000_clean(struct net_device *netdev, int *budget)
int work_to_do = min(*budget, netdev->quota); int work_to_do = min(*budget, netdev->quota);
int work_done = 0; int work_done = 0;
while(work_done < work_to_do) e1000_clean_tx_irq(adapter);
if(!e1000_clean_rx_irq(adapter, &work_done, work_to_do) && e1000_clean_rx_irq(adapter, &work_done, work_to_do);
!e1000_clean_tx_irq(adapter))
break;
*budget -= work_done; *budget -= work_done;
netdev->quota -= work_done; netdev->quota -= work_done;
if(work_done < work_to_do) if(work_done < work_to_do) {
netif_rx_complete(netdev); netif_rx_complete(netdev);
e1000_irq_enable(adapter);
}
return (work_done >= work_to_do); return (work_done >= work_to_do);
} }
......
...@@ -322,7 +322,7 @@ e1000_check_options(struct e1000_adapter *adapter) ...@@ -322,7 +322,7 @@ e1000_check_options(struct e1000_adapter *adapter)
.name = "Transmit Descriptors", .name = "Transmit Descriptors",
.err = "using default of " __MODULE_STRING(DEFAULT_TXD), .err = "using default of " __MODULE_STRING(DEFAULT_TXD),
.def = DEFAULT_TXD, .def = DEFAULT_TXD,
.arg = { .r { .min = MIN_TXD }} .arg = { .r = { .min = MIN_TXD }}
}; };
struct e1000_desc_ring *tx_ring = &adapter->tx_ring; struct e1000_desc_ring *tx_ring = &adapter->tx_ring;
e1000_mac_type mac_type = adapter->hw.mac_type; e1000_mac_type mac_type = adapter->hw.mac_type;
......
...@@ -689,8 +689,8 @@ int index, no_of_entries = 0; ...@@ -689,8 +689,8 @@ int index, no_of_entries = 0;
prev_IMQ_index = current_IMQ_index; prev_IMQ_index = current_IMQ_index;
} }
} /*end of for loop*/ } /*end of for loop*/
return;
LEAVE("tachyon_interrupt"); LEAVE("tachyon_interrupt");
return;
} }
...@@ -3375,8 +3375,8 @@ u_int s_id; ...@@ -3375,8 +3375,8 @@ u_int s_id;
q = q->next; q = q->next;
} }
DPRINTK1("Port Name does not match. Txing LOGO."); DPRINTK1("Port Name does not match. Txing LOGO.");
return 0;
LEAVE("validate_login"); LEAVE("validate_login");
return 0;
} }
static void add_to_address_cache(struct fc_info *fi, u_int *base_ptr) static void add_to_address_cache(struct fc_info *fi, u_int *base_ptr)
......
...@@ -76,10 +76,6 @@ static char version[] __initdata = ...@@ -76,10 +76,6 @@ static char version[] __initdata =
#define NEW_MULTICAST #define NEW_MULTICAST
/* PCI/45 Configuration space values */
#define RC_PCI45_VENDOR_ID 0x4916
#define RC_PCI45_DEVICE_ID 0x1960
#define MAX_ETHER_SIZE 1520 #define MAX_ETHER_SIZE 1520
#define MAX_NMBR_RCV_BUFFERS 96 #define MAX_NMBR_RCV_BUFFERS 96
#define RC_POSTED_BUFFERS_LOW_MARK MAX_NMBR_RCV_BUFFERS-16 #define RC_POSTED_BUFFERS_LOW_MARK MAX_NMBR_RCV_BUFFERS-16
...@@ -117,7 +113,7 @@ static void RCreboot_callback (U32, U32, U32, struct net_device *); ...@@ -117,7 +113,7 @@ static void RCreboot_callback (U32, U32, U32, struct net_device *);
static int RC_allocate_and_post_buffers (struct net_device *, int); static int RC_allocate_and_post_buffers (struct net_device *, int);
static struct pci_device_id rcpci45_pci_table[] __devinitdata = { static struct pci_device_id rcpci45_pci_table[] __devinitdata = {
{RC_PCI45_VENDOR_ID, RC_PCI45_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID,}, { PCI_VENDOR_ID_REDCREEK, PCI_DEVICE_ID_RC45, PCI_ANY_ID, PCI_ANY_ID,},
{} {}
}; };
MODULE_DEVICE_TABLE (pci, rcpci45_pci_table); MODULE_DEVICE_TABLE (pci, rcpci45_pci_table);
...@@ -207,7 +203,7 @@ rcpci45_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -207,7 +203,7 @@ rcpci45_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
* messages. Thus, we need contiguous physical pages of * messages. Thus, we need contiguous physical pages of
* memory. * memory.
*/ */
pDpa->msgbuf = kmalloc (MSG_BUF_SIZE, GFP_DMA|GFP_ATOMIC|GFP_KERNEL); pDpa->msgbuf = kmalloc (MSG_BUF_SIZE, GFP_DMA | GFP_KERNEL);
if (!pDpa->msgbuf) { if (!pDpa->msgbuf) {
printk (KERN_ERR "(rcpci45 driver:) \ printk (KERN_ERR "(rcpci45 driver:) \
Could not allocate %d byte memory for the \ Could not allocate %d byte memory for the \
...@@ -1000,7 +996,7 @@ RC_allocate_and_post_buffers (struct net_device *dev, int numBuffers) ...@@ -1000,7 +996,7 @@ RC_allocate_and_post_buffers (struct net_device *dev, int numBuffers)
} }
p = (PU32) kmalloc (sizeof (U32) + numBuffers * sizeof (singleB), p = (PU32) kmalloc (sizeof (U32) + numBuffers * sizeof (singleB),
GFP_DMA|GFP_ATOMIC|GFP_KERNEL); GFP_DMA | GFP_ATOMIC);
if (!p) { if (!p) {
printk (KERN_WARNING "%s unable to allocate TCB\n", printk (KERN_WARNING "%s unable to allocate TCB\n",
......
...@@ -257,7 +257,7 @@ int tms380tr_open(struct net_device *dev) ...@@ -257,7 +257,7 @@ int tms380tr_open(struct net_device *dev)
int err; int err;
/* init the spinlock */ /* init the spinlock */
spin_lock_init(tp->lock); spin_lock_init(&tp->lock);
/* Reset the hardware here. Don't forget to set the station address. */ /* Reset the hardware here. Don't forget to set the station address. */
...@@ -1458,7 +1458,7 @@ static int tms380tr_init_adapter(struct net_device *dev) ...@@ -1458,7 +1458,7 @@ static int tms380tr_init_adapter(struct net_device *dev)
if(tms380tr_debug > 3) if(tms380tr_debug > 3)
{ {
printk(KERN_DEBUG "%s: buffer (real): %lx\n", dev->name, (long) &tp->scb); printk(KERN_DEBUG "%s: buffer (real): %lx\n", dev->name, (long) &tp->scb);
printk(KERN_DEBUG "%s: buffer (virt): %lx\n", dev->name, (long) ((char *)&tp->scb - (char *)tp) + tp->dmabuffer); printk(KERN_DEBUG "%s: buffer (virt): %lx\n", dev->name, (long) ((char *)&tp->scb - (char *)tp) + (long) tp->dmabuffer);
printk(KERN_DEBUG "%s: buffer (DMA) : %lx\n", dev->name, (long) tp->dmabuffer); printk(KERN_DEBUG "%s: buffer (DMA) : %lx\n", dev->name, (long) tp->dmabuffer);
printk(KERN_DEBUG "%s: buffer (tp) : %lx\n", dev->name, (long) tp); printk(KERN_DEBUG "%s: buffer (tp) : %lx\n", dev->name, (long) tp);
} }
......
...@@ -485,12 +485,9 @@ tulip_open(struct net_device *dev) ...@@ -485,12 +485,9 @@ tulip_open(struct net_device *dev)
struct tulip_private *tp = (struct tulip_private *)dev->priv; struct tulip_private *tp = (struct tulip_private *)dev->priv;
#endif #endif
int retval; int retval;
MOD_INC_USE_COUNT;
if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev))) { if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev)))
MOD_DEC_USE_COUNT;
return retval; return retval;
}
tulip_init_ring (dev); tulip_init_ring (dev);
...@@ -823,8 +820,6 @@ static int tulip_close (struct net_device *dev) ...@@ -823,8 +820,6 @@ static int tulip_close (struct net_device *dev)
tp->tx_buffers[i].mapping = 0; tp->tx_buffers[i].mapping = 0;
} }
MOD_DEC_USE_COUNT;
return 0; return 0;
} }
...@@ -1361,6 +1356,7 @@ static int __devinit tulip_init_one (struct pci_dev *pdev, ...@@ -1361,6 +1356,7 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
return -ENOMEM; return -ENOMEM;
} }
SET_MODULE_OWNER(dev);
if (pci_resource_len (pdev, 0) < tulip_tbl[chip_idx].io_size) { if (pci_resource_len (pdev, 0) < tulip_tbl[chip_idx].io_size) {
printk (KERN_ERR PFX "%s: I/O region (0x%lx@0x%lx) too small, " printk (KERN_ERR PFX "%s: I/O region (0x%lx@0x%lx) too small, "
"aborting\n", pdev->slot_name, "aborting\n", pdev->slot_name,
......
...@@ -215,6 +215,7 @@ void cpc_tty_init(pc300dev_t *pc300dev) ...@@ -215,6 +215,7 @@ void cpc_tty_init(pc300dev_t *pc300dev)
/* initialize tty driver struct */ /* initialize tty driver struct */
memset(&serial_drv,0,sizeof(struct tty_driver)); memset(&serial_drv,0,sizeof(struct tty_driver));
serial_drv.magic = TTY_DRIVER_MAGIC; serial_drv.magic = TTY_DRIVER_MAGIC;
serial_drv.owner = THIS_MODULE;
serial_drv.driver_name = "pc300_tty"; serial_drv.driver_name = "pc300_tty";
serial_drv.name = "ttyCP"; serial_drv.name = "ttyCP";
serial_drv.major = CPC_TTY_MAJOR; serial_drv.major = CPC_TTY_MAJOR;
......
...@@ -4401,6 +4401,7 @@ int wanpipe_tty_init(sdla_t *card) ...@@ -4401,6 +4401,7 @@ int wanpipe_tty_init(sdla_t *card)
memset(&serial_driver, 0, sizeof(struct tty_driver)); memset(&serial_driver, 0, sizeof(struct tty_driver));
serial_driver.magic = TTY_DRIVER_MAGIC; serial_driver.magic = TTY_DRIVER_MAGIC;
serial_driver.owner = THIS_MODULE;
serial_driver.driver_name = "wanpipe_tty"; serial_driver.driver_name = "wanpipe_tty";
serial_driver.name = "ttyW"; serial_driver.name = "ttyW";
serial_driver.major = WAN_TTY_MAJOR; serial_driver.major = WAN_TTY_MAJOR;
......
...@@ -1753,6 +1753,9 @@ ...@@ -1753,6 +1753,9 @@
#define PCI_DEVICE_ID_AKS_ALADDINCARD 0x0100 #define PCI_DEVICE_ID_AKS_ALADDINCARD 0x0100
#define PCI_DEVICE_ID_AKS_CPC 0x0200 #define PCI_DEVICE_ID_AKS_CPC 0x0200
#define PCI_VENDOR_ID_REDCREEK 0x4916
#define PCI_DEVICE_ID_RC45 0x1960
#define PCI_VENDOR_ID_NETVIN 0x4a14 #define PCI_VENDOR_ID_NETVIN 0x4a14
#define PCI_DEVICE_ID_NETVIN_NV5000SC 0x5000 #define PCI_DEVICE_ID_NETVIN_NV5000SC 0x5000
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment