mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
[PATCH] cs89x0: add netpoll support
Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Cc: Matt Mackall <mpm@selenic.com> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
fac92becda
commit
6f519165a9
1 changed files with 19 additions and 0 deletions
|
@ -247,6 +247,9 @@ static int get_eeprom_data(struct net_device *dev, int off, int len, int *buffer
|
|||
static int get_eeprom_cksum(int off, int len, int *buffer);
|
||||
static int set_mac_address(struct net_device *dev, void *addr);
|
||||
static void count_rx_errors(int status, struct net_local *lp);
|
||||
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||
static void net_poll_controller(struct net_device *dev);
|
||||
#endif
|
||||
#if ALLOW_DMA
|
||||
static void get_dma_channel(struct net_device *dev);
|
||||
static void release_dma_buff(struct net_local *lp);
|
||||
|
@ -405,6 +408,19 @@ get_eeprom_cksum(int off, int len, int *buffer)
|
|||
return -1;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||
/*
|
||||
* Polling receive - used by netconsole and other diagnostic tools
|
||||
* to allow network i/o with interrupts disabled.
|
||||
*/
|
||||
static void net_poll_controller(struct net_device *dev)
|
||||
{
|
||||
disable_irq(dev->irq);
|
||||
net_interrupt(dev->irq, dev, NULL);
|
||||
enable_irq(dev->irq);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* This is the real probe routine. Linux has a history of friendly device
|
||||
probes on the ISA bus. A good device probes avoids doing writes, and
|
||||
verifies that the correct device exists and functions.
|
||||
|
@ -760,6 +776,9 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)
|
|||
dev->get_stats = net_get_stats;
|
||||
dev->set_multicast_list = set_multicast_list;
|
||||
dev->set_mac_address = set_mac_address;
|
||||
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||
dev->poll_controller = net_poll_controller;
|
||||
#endif
|
||||
|
||||
printk("\n");
|
||||
if (net_debug)
|
||||
|
|
Loading…
Reference in a new issue