aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-03-29 04:40:34 -0400
committerDavid S. Miller <davem@davemloft.net>2009-03-29 04:40:34 -0400
commit13223cb02ccfa375f2d683d08d30db5b72264f1e (patch)
treed3fc7d803d22bbfe03b96cf0ba38041d42c8a1c2 /drivers/net
parent1383bdb98c01bbd28d72336d1bf614ce79114d29 (diff)
parent07d43ba98621f08e252a48c96b258b4d572b0257 (diff)
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/arm/am79c961a.c2
-rw-r--r--drivers/net/arm/ixp4xx_eth.c20
-rw-r--r--drivers/net/irda/pxaficp_ir.c3
-rw-r--r--drivers/net/ne3210.c3
-rw-r--r--drivers/net/sfc/efx.c17
-rw-r--r--drivers/net/sfc/falcon.c24
-rw-r--r--drivers/net/smc911x.h3
-rw-r--r--drivers/net/smc91x.h3
-rw-r--r--drivers/net/wireless/arlan-main.c4
-rw-r--r--drivers/net/xen-netfront.c2
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 = {
1250static int __init eth_init_module(void) 1259static 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. */
895static int efx_wanted_rx_queues(void) 895static 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
242static dma_addr_t rx_dmabuf, tx_dmabuf; 241static dma_addr_t rx_dmabuf, tx_dmabuf;
243static int rx_dmalen, tx_dmalen; 242static 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)
1511static void xennet_set_features(struct net_device *dev) 1511static 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