diff options
| author | Greg KH <gregkh@suse.de> | 2005-09-12 15:10:59 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-09-12 15:10:59 -0400 |
| commit | ad2c10f8f00d3fe2e37dd8a107e7cf4ac0459489 (patch) | |
| tree | 5571f6a5784f51efddf9c1ee0408894cd63a460f /drivers/net/cs89x0.c | |
| parent | 6b7839007098a6b5612d31690e11277d4242e6ae (diff) | |
| parent | 2ade81473636b33aaac64495f89a7dc572c529f0 (diff) | |
Merge ../torvalds-2.6/
Diffstat (limited to 'drivers/net/cs89x0.c')
| -rw-r--r-- | drivers/net/cs89x0.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c index b780307093eb..cdc07ccd7332 100644 --- a/drivers/net/cs89x0.c +++ b/drivers/net/cs89x0.c | |||
| @@ -247,6 +247,9 @@ static int get_eeprom_data(struct net_device *dev, int off, int len, int *buffer | |||
| 247 | static int get_eeprom_cksum(int off, int len, int *buffer); | 247 | static int get_eeprom_cksum(int off, int len, int *buffer); |
| 248 | static int set_mac_address(struct net_device *dev, void *addr); | 248 | static int set_mac_address(struct net_device *dev, void *addr); |
| 249 | static void count_rx_errors(int status, struct net_local *lp); | 249 | static void count_rx_errors(int status, struct net_local *lp); |
| 250 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
| 251 | static void net_poll_controller(struct net_device *dev); | ||
| 252 | #endif | ||
| 250 | #if ALLOW_DMA | 253 | #if ALLOW_DMA |
| 251 | static void get_dma_channel(struct net_device *dev); | 254 | static void get_dma_channel(struct net_device *dev); |
| 252 | static void release_dma_buff(struct net_local *lp); | 255 | static void release_dma_buff(struct net_local *lp); |
| @@ -405,6 +408,19 @@ get_eeprom_cksum(int off, int len, int *buffer) | |||
| 405 | return -1; | 408 | return -1; |
| 406 | } | 409 | } |
| 407 | 410 | ||
| 411 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
| 412 | /* | ||
| 413 | * Polling receive - used by netconsole and other diagnostic tools | ||
| 414 | * to allow network i/o with interrupts disabled. | ||
| 415 | */ | ||
| 416 | static void net_poll_controller(struct net_device *dev) | ||
| 417 | { | ||
| 418 | disable_irq(dev->irq); | ||
| 419 | net_interrupt(dev->irq, dev, NULL); | ||
| 420 | enable_irq(dev->irq); | ||
| 421 | } | ||
| 422 | #endif | ||
| 423 | |||
| 408 | /* This is the real probe routine. Linux has a history of friendly device | 424 | /* This is the real probe routine. Linux has a history of friendly device |
| 409 | probes on the ISA bus. A good device probes avoids doing writes, and | 425 | probes on the ISA bus. A good device probes avoids doing writes, and |
| 410 | verifies that the correct device exists and functions. | 426 | verifies that the correct device exists and functions. |
| @@ -760,6 +776,9 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular) | |||
| 760 | dev->get_stats = net_get_stats; | 776 | dev->get_stats = net_get_stats; |
| 761 | dev->set_multicast_list = set_multicast_list; | 777 | dev->set_multicast_list = set_multicast_list; |
| 762 | dev->set_mac_address = set_mac_address; | 778 | dev->set_mac_address = set_mac_address; |
| 779 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
| 780 | dev->poll_controller = net_poll_controller; | ||
| 781 | #endif | ||
| 763 | 782 | ||
| 764 | printk("\n"); | 783 | printk("\n"); |
| 765 | if (net_debug) | 784 | if (net_debug) |
