summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@home.transmeta.com>2003-04-16 07:43:17 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2003-04-16 07:43:17 -0700
commit98af522fee77e0a109a0a07221fbdce5e0b00116 (patch)
tree311326a0b859844bec023213e7fc819fc505a717
parent7325b224f61243e834a63008de45f96588ce0130 (diff)
parent6f4f4c2d592761e3d1f1238da53a5659b9d9c23c (diff)
Merge http://gkernel.bkbits.net/net-drivers-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux
-rw-r--r--drivers/char/epca.c12
-rw-r--r--drivers/net/e1000/e1000_main.c26
-rw-r--r--drivers/net/e1000/e1000_param.c2
-rw-r--r--drivers/net/fc/iph5526.c4
-rw-r--r--drivers/net/rcpci45.c10
-rw-r--r--drivers/net/tokenring/tms380tr.c4
-rw-r--r--drivers/net/tulip/tulip_core.c8
-rw-r--r--drivers/net/wan/pc300_tty.c1
-rw-r--r--drivers/net/wan/sdla_chdlc.c1
-rw-r--r--include/linux/pci_ids.h3
10 files changed, 33 insertions, 38 deletions
diff --git a/drivers/char/epca.c b/drivers/char/epca.c
index abd96731341c..de7ed6c42539 100644
--- a/drivers/char/epca.c
+++ b/drivers/char/epca.c
@@ -481,9 +481,7 @@ static inline void pc_sched_event(struct channel *ch, int event)
-------------------------------------------------------------------------*/
ch->event |= 1 << event;
- MOD_INC_USE_COUNT;
- if (schedule_work(&ch->tqueue) == 0)
- MOD_DEC_USE_COUNT;
+ schedule_work(&ch->tqueue);
} /* End pc_sched_event */
@@ -604,7 +602,6 @@ static void pc_close(struct tty_struct * tty, struct file * filp)
ASYNC_CALLOUT_ACTIVE | ASYNC_CLOSING);
wake_up_interruptible(&ch->close_wait);
- MOD_DEC_USE_COUNT;
restore_flags(flags);
@@ -692,10 +689,6 @@ static void pc_hangup(struct tty_struct *tty)
shutdown(ch);
- if (ch->count)
- MOD_DEC_USE_COUNT;
-
-
ch->tty = NULL;
ch->event = 0;
ch->count = 0;
@@ -1389,8 +1382,6 @@ static int pc_open(struct tty_struct *tty, struct file * filp)
}
- MOD_INC_USE_COUNT;
-
ch = &digi_channels[line];
boardnum = ch->boardnum;
@@ -1714,6 +1705,7 @@ int __init pc_init(void)
memset(&pc_info, 0, sizeof(struct tty_driver));
pc_driver.magic = TTY_DRIVER_MAGIC;
+ pc_driver.owner = THIS_MODULE;
pc_driver.name = "ttyD";
pc_driver.major = DIGI_MAJOR;
pc_driver.minor_start = 0;
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 10a831f3bbbd..fd5de8f28de4 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -61,7 +61,7 @@
char e1000_driver_name[] = "e1000";
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.";
/* e1000_pci_tbl - PCI Device ID Table
@@ -2000,10 +2000,16 @@ e1000_intr(int irq, void *data, struct pt_regs *regs)
}
#ifdef CONFIG_E1000_NAPI
- /* Don't disable interrupts - rely on h/w interrupt
- * moderation to keep interrupts low. netif_rx_schedule
- * is NOP if already polling. */
- netif_rx_schedule(netdev);
+ if(netif_rx_schedule_prep(netdev)) {
+
+ /* Disable interrupts and register for poll. The flush
+ 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
for(i = 0; i < E1000_MAX_INTR; i++)
if(!e1000_clean_rx_irq(adapter) &&
@@ -2025,16 +2031,16 @@ e1000_clean(struct net_device *netdev, int *budget)
int work_to_do = min(*budget, netdev->quota);
int work_done = 0;
- while(work_done < work_to_do)
- if(!e1000_clean_rx_irq(adapter, &work_done, work_to_do) &&
- !e1000_clean_tx_irq(adapter))
- break;
+ e1000_clean_tx_irq(adapter);
+ e1000_clean_rx_irq(adapter, &work_done, work_to_do);
*budget -= work_done;
netdev->quota -= work_done;
- if(work_done < work_to_do)
+ if(work_done < work_to_do) {
netif_rx_complete(netdev);
+ e1000_irq_enable(adapter);
+ }
return (work_done >= work_to_do);
}
diff --git a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c
index a3699c22b8c0..b54b046f9e4e 100644
--- a/drivers/net/e1000/e1000_param.c
+++ b/drivers/net/e1000/e1000_param.c
@@ -322,7 +322,7 @@ e1000_check_options(struct e1000_adapter *adapter)
.name = "Transmit Descriptors",
.err = "using default of " __MODULE_STRING(DEFAULT_TXD),
.def = DEFAULT_TXD,
- .arg = { .r { .min = MIN_TXD }}
+ .arg = { .r = { .min = MIN_TXD }}
};
struct e1000_desc_ring *tx_ring = &adapter->tx_ring;
e1000_mac_type mac_type = adapter->hw.mac_type;
diff --git a/drivers/net/fc/iph5526.c b/drivers/net/fc/iph5526.c
index 9e5afc18f1a8..8fc5649de06d 100644
--- a/drivers/net/fc/iph5526.c
+++ b/drivers/net/fc/iph5526.c
@@ -689,8 +689,8 @@ int index, no_of_entries = 0;
prev_IMQ_index = current_IMQ_index;
}
} /*end of for loop*/
- return;
LEAVE("tachyon_interrupt");
+ return;
}
@@ -3375,8 +3375,8 @@ u_int s_id;
q = q->next;
}
DPRINTK1("Port Name does not match. Txing LOGO.");
- return 0;
LEAVE("validate_login");
+ return 0;
}
static void add_to_address_cache(struct fc_info *fi, u_int *base_ptr)
diff --git a/drivers/net/rcpci45.c b/drivers/net/rcpci45.c
index ee9b530c10fe..a79d44acb804 100644
--- a/drivers/net/rcpci45.c
+++ b/drivers/net/rcpci45.c
@@ -76,10 +76,6 @@ static char version[] __initdata =
#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_NMBR_RCV_BUFFERS 96
#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 *);
static int RC_allocate_and_post_buffers (struct net_device *, int);
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);
@@ -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
* 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) {
printk (KERN_ERR "(rcpci45 driver:) \
Could not allocate %d byte memory for the \
@@ -1000,7 +996,7 @@ RC_allocate_and_post_buffers (struct net_device *dev, int numBuffers)
}
p = (PU32) kmalloc (sizeof (U32) + numBuffers * sizeof (singleB),
- GFP_DMA|GFP_ATOMIC|GFP_KERNEL);
+ GFP_DMA | GFP_ATOMIC);
if (!p) {
printk (KERN_WARNING "%s unable to allocate TCB\n",
diff --git a/drivers/net/tokenring/tms380tr.c b/drivers/net/tokenring/tms380tr.c
index 28c080a06a56..5705c1e11e35 100644
--- a/drivers/net/tokenring/tms380tr.c
+++ b/drivers/net/tokenring/tms380tr.c
@@ -257,7 +257,7 @@ int tms380tr_open(struct net_device *dev)
int err;
/* 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. */
@@ -1458,7 +1458,7 @@ static int tms380tr_init_adapter(struct net_device *dev)
if(tms380tr_debug > 3)
{
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 (tp) : %lx\n", dev->name, (long) tp);
}
diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c
index 9ce35ad6a029..288e41016600 100644
--- a/drivers/net/tulip/tulip_core.c
+++ b/drivers/net/tulip/tulip_core.c
@@ -485,12 +485,9 @@ tulip_open(struct net_device *dev)
struct tulip_private *tp = (struct tulip_private *)dev->priv;
#endif
int retval;
- MOD_INC_USE_COUNT;
- if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev))) {
- MOD_DEC_USE_COUNT;
+ if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev)))
return retval;
- }
tulip_init_ring (dev);
@@ -823,8 +820,6 @@ static int tulip_close (struct net_device *dev)
tp->tx_buffers[i].mapping = 0;
}
- MOD_DEC_USE_COUNT;
-
return 0;
}
@@ -1361,6 +1356,7 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
return -ENOMEM;
}
+ SET_MODULE_OWNER(dev);
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, "
"aborting\n", pdev->slot_name,
diff --git a/drivers/net/wan/pc300_tty.c b/drivers/net/wan/pc300_tty.c
index b87202ee7cd0..69565d05d847 100644
--- a/drivers/net/wan/pc300_tty.c
+++ b/drivers/net/wan/pc300_tty.c
@@ -215,6 +215,7 @@ void cpc_tty_init(pc300dev_t *pc300dev)
/* initialize tty driver struct */
memset(&serial_drv,0,sizeof(struct tty_driver));
serial_drv.magic = TTY_DRIVER_MAGIC;
+ serial_drv.owner = THIS_MODULE;
serial_drv.driver_name = "pc300_tty";
serial_drv.name = "ttyCP";
serial_drv.major = CPC_TTY_MAJOR;
diff --git a/drivers/net/wan/sdla_chdlc.c b/drivers/net/wan/sdla_chdlc.c
index 2392fbd4be1f..897f4573a510 100644
--- a/drivers/net/wan/sdla_chdlc.c
+++ b/drivers/net/wan/sdla_chdlc.c
@@ -4401,6 +4401,7 @@ int wanpipe_tty_init(sdla_t *card)
memset(&serial_driver, 0, sizeof(struct tty_driver));
serial_driver.magic = TTY_DRIVER_MAGIC;
+ serial_driver.owner = THIS_MODULE;
serial_driver.driver_name = "wanpipe_tty";
serial_driver.name = "ttyW";
serial_driver.major = WAN_TTY_MAJOR;
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 099131ef98b2..d001cf50ebfd 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1753,6 +1753,9 @@
#define PCI_DEVICE_ID_AKS_ALADDINCARD 0x0100
#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_DEVICE_ID_NETVIN_NV5000SC 0x5000