diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2008-10-13 12:13:56 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2008-10-13 12:13:56 -0400 |
commit | e758936e02700ff88a0b08b722a3847b95283ef2 (patch) | |
tree | 50c919bef1b459a778b85159d5929de95b6c4a01 /drivers/net/cs89x0.c | |
parent | 239cfbde1f5843c4a24199f117d5f67f637d72d5 (diff) | |
parent | 4480f15b3306f43bbb0310d461142b4e897ca45b (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:
include/asm-x86/statfs.h
Diffstat (limited to 'drivers/net/cs89x0.c')
-rw-r--r-- | drivers/net/cs89x0.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c index ea6144a9565e..a28de8182802 100644 --- a/drivers/net/cs89x0.c +++ b/drivers/net/cs89x0.c | |||
@@ -194,6 +194,12 @@ static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900, 0, 0, 0}; | |||
194 | #define CIRRUS_DEFAULT_IRQ VH_INTC_INT_NUM_CASCADED_INTERRUPT_1 /* Event inputs bank 1 - ID 35/bit 3 */ | 194 | #define CIRRUS_DEFAULT_IRQ VH_INTC_INT_NUM_CASCADED_INTERRUPT_1 /* Event inputs bank 1 - ID 35/bit 3 */ |
195 | static unsigned int netcard_portlist[] __used __initdata = {CIRRUS_DEFAULT_BASE, 0}; | 195 | static unsigned int netcard_portlist[] __used __initdata = {CIRRUS_DEFAULT_BASE, 0}; |
196 | static unsigned int cs8900_irq_map[] = {CIRRUS_DEFAULT_IRQ, 0, 0, 0}; | 196 | static unsigned int cs8900_irq_map[] = {CIRRUS_DEFAULT_IRQ, 0, 0, 0}; |
197 | #elif defined(CONFIG_MACH_MX31ADS) | ||
198 | #include <mach/board-mx31ads.h> | ||
199 | static unsigned int netcard_portlist[] __used __initdata = { | ||
200 | PBC_BASE_ADDRESS + PBC_CS8900A_IOBASE + 0x300, 0 | ||
201 | }; | ||
202 | static unsigned cs8900_irq_map[] = {EXPIO_INT_ENET_INT, 0, 0, 0}; | ||
197 | #else | 203 | #else |
198 | static unsigned int netcard_portlist[] __used __initdata = | 204 | static unsigned int netcard_portlist[] __used __initdata = |
199 | { 0x300, 0x320, 0x340, 0x360, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0}; | 205 | { 0x300, 0x320, 0x340, 0x360, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0}; |
@@ -802,7 +808,7 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular) | |||
802 | } else { | 808 | } else { |
803 | i = lp->isa_config & INT_NO_MASK; | 809 | i = lp->isa_config & INT_NO_MASK; |
804 | if (lp->chip_type == CS8900) { | 810 | if (lp->chip_type == CS8900) { |
805 | #if defined(CONFIG_MACH_IXDP2351) || defined(CONFIG_ARCH_IXDP2X01) || defined(CONFIG_ARCH_PNX010X) | 811 | #ifdef CONFIG_CS89x0_NONISA_IRQ |
806 | i = cs8900_irq_map[0]; | 812 | i = cs8900_irq_map[0]; |
807 | #else | 813 | #else |
808 | /* Translate the IRQ using the IRQ mapping table. */ | 814 | /* Translate the IRQ using the IRQ mapping table. */ |
@@ -1029,6 +1035,7 @@ skip_this_frame: | |||
1029 | 1035 | ||
1030 | void __init reset_chip(struct net_device *dev) | 1036 | void __init reset_chip(struct net_device *dev) |
1031 | { | 1037 | { |
1038 | #if !defined(CONFIG_MACH_MX31ADS) | ||
1032 | #if !defined(CONFIG_MACH_IXDP2351) && !defined(CONFIG_ARCH_IXDP2X01) | 1039 | #if !defined(CONFIG_MACH_IXDP2351) && !defined(CONFIG_ARCH_IXDP2X01) |
1033 | struct net_local *lp = netdev_priv(dev); | 1040 | struct net_local *lp = netdev_priv(dev); |
1034 | int ioaddr = dev->base_addr; | 1041 | int ioaddr = dev->base_addr; |
@@ -1057,6 +1064,7 @@ void __init reset_chip(struct net_device *dev) | |||
1057 | reset_start_time = jiffies; | 1064 | reset_start_time = jiffies; |
1058 | while( (readreg(dev, PP_SelfST) & INIT_DONE) == 0 && jiffies - reset_start_time < 2) | 1065 | while( (readreg(dev, PP_SelfST) & INIT_DONE) == 0 && jiffies - reset_start_time < 2) |
1059 | ; | 1066 | ; |
1067 | #endif /* !CONFIG_MACH_MX31ADS */ | ||
1060 | } | 1068 | } |
1061 | 1069 | ||
1062 | 1070 | ||
@@ -1304,7 +1312,7 @@ net_open(struct net_device *dev) | |||
1304 | else | 1312 | else |
1305 | #endif | 1313 | #endif |
1306 | { | 1314 | { |
1307 | #if !defined(CONFIG_MACH_IXDP2351) && !defined(CONFIG_ARCH_IXDP2X01) && !defined(CONFIG_ARCH_PNX010X) | 1315 | #ifndef CONFIG_CS89x0_NONISA_IRQ |
1308 | if (((1 << dev->irq) & lp->irq_map) == 0) { | 1316 | if (((1 << dev->irq) & lp->irq_map) == 0) { |
1309 | printk(KERN_ERR "%s: IRQ %d is not in our map of allowable IRQs, which is %x\n", | 1317 | printk(KERN_ERR "%s: IRQ %d is not in our map of allowable IRQs, which is %x\n", |
1310 | dev->name, dev->irq, lp->irq_map); | 1318 | dev->name, dev->irq, lp->irq_map); |
@@ -1397,9 +1405,7 @@ net_open(struct net_device *dev) | |||
1397 | release_dma: | 1405 | release_dma: |
1398 | #if ALLOW_DMA | 1406 | #if ALLOW_DMA |
1399 | free_dma(dev->dma); | 1407 | free_dma(dev->dma); |
1400 | #endif | ||
1401 | release_irq: | 1408 | release_irq: |
1402 | #if ALLOW_DMA | ||
1403 | release_dma_buff(lp); | 1409 | release_dma_buff(lp); |
1404 | #endif | 1410 | #endif |
1405 | writereg(dev, PP_LineCTL, readreg(dev, PP_LineCTL) & ~(SERIAL_TX_ON | SERIAL_RX_ON)); | 1411 | writereg(dev, PP_LineCTL, readreg(dev, PP_LineCTL) & ~(SERIAL_TX_ON | SERIAL_RX_ON)); |