diff options
author | David S. Miller <davem@davemloft.net> | 2009-03-29 04:40:34 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-29 04:40:34 -0400 |
commit | 13223cb02ccfa375f2d683d08d30db5b72264f1e (patch) | |
tree | d3fc7d803d22bbfe03b96cf0ba38041d42c8a1c2 /drivers/net | |
parent | 1383bdb98c01bbd28d72336d1bf614ce79114d29 (diff) | |
parent | 07d43ba98621f08e252a48c96b258b4d572b0257 (diff) |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/arm/am79c961a.c | 2 | ||||
-rw-r--r-- | drivers/net/arm/ixp4xx_eth.c | 20 | ||||
-rw-r--r-- | drivers/net/irda/pxaficp_ir.c | 3 | ||||
-rw-r--r-- | drivers/net/ne3210.c | 3 | ||||
-rw-r--r-- | drivers/net/sfc/efx.c | 17 | ||||
-rw-r--r-- | drivers/net/sfc/falcon.c | 24 | ||||
-rw-r--r-- | drivers/net/smc911x.h | 3 | ||||
-rw-r--r-- | drivers/net/smc91x.h | 3 | ||||
-rw-r--r-- | drivers/net/wireless/arlan-main.c | 4 | ||||
-rw-r--r-- | drivers/net/xen-netfront.c | 2 |
10 files changed, 46 insertions, 35 deletions
diff --git a/drivers/net/arm/am79c961a.c b/drivers/net/arm/am79c961a.c index c2d012fcc29b..4bc6901b3819 100644 --- a/drivers/net/arm/am79c961a.c +++ b/drivers/net/arm/am79c961a.c | |||
@@ -27,9 +27,9 @@ | |||
27 | #include <linux/crc32.h> | 27 | #include <linux/crc32.h> |
28 | #include <linux/bitops.h> | 28 | #include <linux/bitops.h> |
29 | #include <linux/platform_device.h> | 29 | #include <linux/platform_device.h> |
30 | #include <linux/io.h> | ||
30 | 31 | ||
31 | #include <mach/hardware.h> | 32 | #include <mach/hardware.h> |
32 | #include <asm/io.h> | ||
33 | #include <asm/system.h> | 33 | #include <asm/system.h> |
34 | 34 | ||
35 | #define TX_BUFFERS 15 | 35 | #define TX_BUFFERS 15 |
diff --git a/drivers/net/arm/ixp4xx_eth.c b/drivers/net/arm/ixp4xx_eth.c index 5fe17d5eaa54..448487e22fa3 100644 --- a/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c | |||
@@ -335,11 +335,20 @@ static int ixp4xx_mdio_register(void) | |||
335 | if (!(mdio_bus = mdiobus_alloc())) | 335 | if (!(mdio_bus = mdiobus_alloc())) |
336 | return -ENOMEM; | 336 | return -ENOMEM; |
337 | 337 | ||
338 | /* All MII PHY accesses use NPE-B Ethernet registers */ | 338 | if (cpu_is_ixp43x()) { |
339 | spin_lock_init(&mdio_lock); | 339 | /* IXP43x lacks NPE-B and uses NPE-C for MII PHY access */ |
340 | mdio_regs = (struct eth_regs __iomem *)IXP4XX_EthB_BASE_VIRT; | 340 | if (!(ixp4xx_read_feature_bits() & IXP4XX_FEATURE_NPEC_ETH)) |
341 | __raw_writel(DEFAULT_CORE_CNTRL, &mdio_regs->core_control); | 341 | return -ENOSYS; |
342 | mdio_regs = (struct eth_regs __iomem *)IXP4XX_EthC_BASE_VIRT; | ||
343 | } else { | ||
344 | /* All MII PHY accesses use NPE-B Ethernet registers */ | ||
345 | if (!(ixp4xx_read_feature_bits() & IXP4XX_FEATURE_NPEB_ETH0)) | ||
346 | return -ENOSYS; | ||
347 | mdio_regs = (struct eth_regs __iomem *)IXP4XX_EthB_BASE_VIRT; | ||
348 | } | ||
342 | 349 | ||
350 | __raw_writel(DEFAULT_CORE_CNTRL, &mdio_regs->core_control); | ||
351 | spin_lock_init(&mdio_lock); | ||
343 | mdio_bus->name = "IXP4xx MII Bus"; | 352 | mdio_bus->name = "IXP4xx MII Bus"; |
344 | mdio_bus->read = &ixp4xx_mdio_read; | 353 | mdio_bus->read = &ixp4xx_mdio_read; |
345 | mdio_bus->write = &ixp4xx_mdio_write; | 354 | mdio_bus->write = &ixp4xx_mdio_write; |
@@ -1250,9 +1259,6 @@ static struct platform_driver ixp4xx_eth_driver = { | |||
1250 | static int __init eth_init_module(void) | 1259 | static int __init eth_init_module(void) |
1251 | { | 1260 | { |
1252 | int err; | 1261 | int err; |
1253 | if (!(ixp4xx_read_feature_bits() & IXP4XX_FEATURE_NPEB_ETH0)) | ||
1254 | return -ENOSYS; | ||
1255 | |||
1256 | if ((err = ixp4xx_mdio_register())) | 1262 | if ((err = ixp4xx_mdio_register())) |
1257 | return err; | 1263 | return err; |
1258 | return platform_driver_register(&ixp4xx_eth_driver); | 1264 | return platform_driver_register(&ixp4xx_eth_driver); |
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c index 31794c2363ec..e775338b525f 100644 --- a/drivers/net/irda/pxaficp_ir.c +++ b/drivers/net/irda/pxaficp_ir.c | |||
@@ -24,9 +24,8 @@ | |||
24 | 24 | ||
25 | #include <mach/dma.h> | 25 | #include <mach/dma.h> |
26 | #include <mach/irda.h> | 26 | #include <mach/irda.h> |
27 | #include <mach/hardware.h> | ||
28 | #include <mach/pxa-regs.h> | ||
29 | #include <mach/regs-uart.h> | 27 | #include <mach/regs-uart.h> |
28 | #include <mach/regs-ost.h> | ||
30 | 29 | ||
31 | #define FICP __REG(0x40800000) /* Start of FICP area */ | 30 | #define FICP __REG(0x40800000) /* Start of FICP area */ |
32 | #define ICCR0 __REG(0x40800000) /* ICP Control Register 0 */ | 31 | #define ICCR0 __REG(0x40800000) /* ICP Control Register 0 */ |
diff --git a/drivers/net/ne3210.c b/drivers/net/ne3210.c index fac43fd6fc87..6a843f7350ab 100644 --- a/drivers/net/ne3210.c +++ b/drivers/net/ne3210.c | |||
@@ -150,7 +150,8 @@ static int __init ne3210_eisa_probe (struct device *device) | |||
150 | if (phys_mem < virt_to_phys(high_memory)) { | 150 | if (phys_mem < virt_to_phys(high_memory)) { |
151 | printk(KERN_CRIT "ne3210.c: Card RAM overlaps with normal memory!!!\n"); | 151 | printk(KERN_CRIT "ne3210.c: Card RAM overlaps with normal memory!!!\n"); |
152 | printk(KERN_CRIT "ne3210.c: Use EISA SCU to set card memory below 1MB,\n"); | 152 | printk(KERN_CRIT "ne3210.c: Use EISA SCU to set card memory below 1MB,\n"); |
153 | printk(KERN_CRIT "ne3210.c: or to an address above 0x%lx.\n", virt_to_phys(high_memory)); | 153 | printk(KERN_CRIT "ne3210.c: or to an address above 0x%llx.\n", |
154 | (u64)virt_to_phys(high_memory)); | ||
154 | printk(KERN_CRIT "ne3210.c: Driver NOT installed.\n"); | 155 | printk(KERN_CRIT "ne3210.c: Driver NOT installed.\n"); |
155 | retval = -EINVAL; | 156 | retval = -EINVAL; |
156 | goto out3; | 157 | goto out3; |
diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c index 6eff9ca6c6c8..00c23b1babca 100644 --- a/drivers/net/sfc/efx.c +++ b/drivers/net/sfc/efx.c | |||
@@ -894,20 +894,27 @@ static void efx_fini_io(struct efx_nic *efx) | |||
894 | * interrupts across them. */ | 894 | * interrupts across them. */ |
895 | static int efx_wanted_rx_queues(void) | 895 | static int efx_wanted_rx_queues(void) |
896 | { | 896 | { |
897 | cpumask_t core_mask; | 897 | cpumask_var_t core_mask; |
898 | int count; | 898 | int count; |
899 | int cpu; | 899 | int cpu; |
900 | 900 | ||
901 | cpus_clear(core_mask); | 901 | if (!alloc_cpumask_var(&core_mask, GFP_KERNEL)) { |
902 | printk(KERN_WARNING | ||
903 | "efx.c: allocation failure, irq balancing hobbled\n"); | ||
904 | return 1; | ||
905 | } | ||
906 | |||
907 | cpumask_clear(core_mask); | ||
902 | count = 0; | 908 | count = 0; |
903 | for_each_online_cpu(cpu) { | 909 | for_each_online_cpu(cpu) { |
904 | if (!cpu_isset(cpu, core_mask)) { | 910 | if (!cpumask_test_cpu(cpu, core_mask)) { |
905 | ++count; | 911 | ++count; |
906 | cpus_or(core_mask, core_mask, | 912 | cpumask_or(core_mask, core_mask, |
907 | topology_core_siblings(cpu)); | 913 | topology_core_cpumask(cpu)); |
908 | } | 914 | } |
909 | } | 915 | } |
910 | 916 | ||
917 | free_cpumask_var(core_mask); | ||
911 | return count; | 918 | return count; |
912 | } | 919 | } |
913 | 920 | ||
diff --git a/drivers/net/sfc/falcon.c b/drivers/net/sfc/falcon.c index 23a1b148d5b2..d4629ab2c614 100644 --- a/drivers/net/sfc/falcon.c +++ b/drivers/net/sfc/falcon.c | |||
@@ -340,10 +340,10 @@ static int falcon_alloc_special_buffer(struct efx_nic *efx, | |||
340 | nic_data->next_buffer_table += buffer->entries; | 340 | nic_data->next_buffer_table += buffer->entries; |
341 | 341 | ||
342 | EFX_LOG(efx, "allocating special buffers %d-%d at %llx+%x " | 342 | EFX_LOG(efx, "allocating special buffers %d-%d at %llx+%x " |
343 | "(virt %p phys %lx)\n", buffer->index, | 343 | "(virt %p phys %llx)\n", buffer->index, |
344 | buffer->index + buffer->entries - 1, | 344 | buffer->index + buffer->entries - 1, |
345 | (unsigned long long)buffer->dma_addr, len, | 345 | (u64)buffer->dma_addr, len, |
346 | buffer->addr, virt_to_phys(buffer->addr)); | 346 | buffer->addr, (u64)virt_to_phys(buffer->addr)); |
347 | 347 | ||
348 | return 0; | 348 | return 0; |
349 | } | 349 | } |
@@ -355,10 +355,10 @@ static void falcon_free_special_buffer(struct efx_nic *efx, | |||
355 | return; | 355 | return; |
356 | 356 | ||
357 | EFX_LOG(efx, "deallocating special buffers %d-%d at %llx+%x " | 357 | EFX_LOG(efx, "deallocating special buffers %d-%d at %llx+%x " |
358 | "(virt %p phys %lx)\n", buffer->index, | 358 | "(virt %p phys %llx)\n", buffer->index, |
359 | buffer->index + buffer->entries - 1, | 359 | buffer->index + buffer->entries - 1, |
360 | (unsigned long long)buffer->dma_addr, buffer->len, | 360 | (u64)buffer->dma_addr, buffer->len, |
361 | buffer->addr, virt_to_phys(buffer->addr)); | 361 | buffer->addr, (u64)virt_to_phys(buffer->addr)); |
362 | 362 | ||
363 | pci_free_consistent(efx->pci_dev, buffer->len, buffer->addr, | 363 | pci_free_consistent(efx->pci_dev, buffer->len, buffer->addr, |
364 | buffer->dma_addr); | 364 | buffer->dma_addr); |
@@ -2357,10 +2357,10 @@ int falcon_probe_port(struct efx_nic *efx) | |||
2357 | FALCON_MAC_STATS_SIZE); | 2357 | FALCON_MAC_STATS_SIZE); |
2358 | if (rc) | 2358 | if (rc) |
2359 | return rc; | 2359 | return rc; |
2360 | EFX_LOG(efx, "stats buffer at %llx (virt %p phys %lx)\n", | 2360 | EFX_LOG(efx, "stats buffer at %llx (virt %p phys %llx)\n", |
2361 | (unsigned long long)efx->stats_buffer.dma_addr, | 2361 | (u64)efx->stats_buffer.dma_addr, |
2362 | efx->stats_buffer.addr, | 2362 | efx->stats_buffer.addr, |
2363 | virt_to_phys(efx->stats_buffer.addr)); | 2363 | (u64)virt_to_phys(efx->stats_buffer.addr)); |
2364 | 2364 | ||
2365 | return 0; | 2365 | return 0; |
2366 | } | 2366 | } |
@@ -2935,9 +2935,9 @@ int falcon_probe_nic(struct efx_nic *efx) | |||
2935 | goto fail4; | 2935 | goto fail4; |
2936 | BUG_ON(efx->irq_status.dma_addr & 0x0f); | 2936 | BUG_ON(efx->irq_status.dma_addr & 0x0f); |
2937 | 2937 | ||
2938 | EFX_LOG(efx, "INT_KER at %llx (virt %p phys %lx)\n", | 2938 | EFX_LOG(efx, "INT_KER at %llx (virt %p phys %llx)\n", |
2939 | (unsigned long long)efx->irq_status.dma_addr, | 2939 | (u64)efx->irq_status.dma_addr, |
2940 | efx->irq_status.addr, virt_to_phys(efx->irq_status.addr)); | 2940 | efx->irq_status.addr, (u64)virt_to_phys(efx->irq_status.addr)); |
2941 | 2941 | ||
2942 | falcon_probe_spi_devices(efx); | 2942 | falcon_probe_spi_devices(efx); |
2943 | 2943 | ||
diff --git a/drivers/net/smc911x.h b/drivers/net/smc911x.h index a45952e72018..8140f7cb4d85 100644 --- a/drivers/net/smc911x.h +++ b/drivers/net/smc911x.h | |||
@@ -236,8 +236,7 @@ static inline void SMC_outsl(struct smc911x_local *lp, int reg, | |||
236 | * Use a DMA for RX and TX packets. | 236 | * Use a DMA for RX and TX packets. |
237 | */ | 237 | */ |
238 | #include <linux/dma-mapping.h> | 238 | #include <linux/dma-mapping.h> |
239 | #include <asm/dma.h> | 239 | #include <mach/dma.h> |
240 | #include <mach/pxa-regs.h> | ||
241 | 240 | ||
242 | static dma_addr_t rx_dmabuf, tx_dmabuf; | 241 | static dma_addr_t rx_dmabuf, tx_dmabuf; |
243 | static int rx_dmalen, tx_dmalen; | 242 | static int rx_dmalen, tx_dmalen; |
diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index ed9ae43523a1..6c44f86ae3fd 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h | |||
@@ -44,6 +44,7 @@ | |||
44 | defined(CONFIG_MACH_MAINSTONE) ||\ | 44 | defined(CONFIG_MACH_MAINSTONE) ||\ |
45 | defined(CONFIG_MACH_ZYLONITE) ||\ | 45 | defined(CONFIG_MACH_ZYLONITE) ||\ |
46 | defined(CONFIG_MACH_LITTLETON) ||\ | 46 | defined(CONFIG_MACH_LITTLETON) ||\ |
47 | defined(CONFIG_MACH_ZYLONITE2) ||\ | ||
47 | defined(CONFIG_ARCH_VIPER) | 48 | defined(CONFIG_ARCH_VIPER) |
48 | 49 | ||
49 | #include <asm/mach-types.h> | 50 | #include <asm/mach-types.h> |
@@ -494,8 +495,6 @@ struct smc_local { | |||
494 | */ | 495 | */ |
495 | #include <linux/dma-mapping.h> | 496 | #include <linux/dma-mapping.h> |
496 | #include <mach/dma.h> | 497 | #include <mach/dma.h> |
497 | #include <mach/hardware.h> | ||
498 | #include <mach/pxa-regs.h> | ||
499 | 498 | ||
500 | #ifdef SMC_insl | 499 | #ifdef SMC_insl |
501 | #undef SMC_insl | 500 | #undef SMC_insl |
diff --git a/drivers/net/wireless/arlan-main.c b/drivers/net/wireless/arlan-main.c index 5b9f1e06ebf6..a54a67c425c8 100644 --- a/drivers/net/wireless/arlan-main.c +++ b/drivers/net/wireless/arlan-main.c | |||
@@ -1085,8 +1085,8 @@ static int __init arlan_probe_here(struct net_device *dev, | |||
1085 | if (arlan_check_fingerprint(memaddr)) | 1085 | if (arlan_check_fingerprint(memaddr)) |
1086 | return -ENODEV; | 1086 | return -ENODEV; |
1087 | 1087 | ||
1088 | printk(KERN_NOTICE "%s: Arlan found at %x, \n ", dev->name, | 1088 | printk(KERN_NOTICE "%s: Arlan found at %llx, \n ", dev->name, |
1089 | (int) virt_to_phys((void*)memaddr)); | 1089 | (u64) virt_to_phys((void*)memaddr)); |
1090 | 1090 | ||
1091 | ap->card = (void *) memaddr; | 1091 | ap->card = (void *) memaddr; |
1092 | dev->mem_start = memaddr; | 1092 | dev->mem_start = memaddr; |
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index 9f102a6535c4..f67325387902 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c | |||
@@ -1511,7 +1511,7 @@ static int xennet_set_tso(struct net_device *dev, u32 data) | |||
1511 | static void xennet_set_features(struct net_device *dev) | 1511 | static void xennet_set_features(struct net_device *dev) |
1512 | { | 1512 | { |
1513 | /* Turn off all GSO bits except ROBUST. */ | 1513 | /* Turn off all GSO bits except ROBUST. */ |
1514 | dev->features &= (1 << NETIF_F_GSO_SHIFT) - 1; | 1514 | dev->features &= ~NETIF_F_GSO_MASK; |
1515 | dev->features |= NETIF_F_GSO_ROBUST; | 1515 | dev->features |= NETIF_F_GSO_ROBUST; |
1516 | xennet_set_sg(dev, 0); | 1516 | xennet_set_sg(dev, 0); |
1517 | 1517 | ||