aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-03-28 16:40:20 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-03-28 16:48:38 -0400
commit7c730ccdc1188b97f5c8cb690906242c7ed75c22 (patch)
tree17ccd927e70dadaf59104c53cce892474eb539b2 /drivers/net
parent8d735b4148d46446e64d72b22ef0344ee8dc02fa (diff)
parent82268da1b130f763d22d04f7d016bbf6fc8815c2 (diff)
Merge branch 'percpu-cpumask-x86-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'percpu-cpumask-x86-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (682 commits) percpu: fix spurious alignment WARN in legacy SMP percpu allocator percpu: generalize embedding first chunk setup helper percpu: more flexibility for @dyn_size of pcpu_setup_first_chunk() percpu: make x86 addr <-> pcpu ptr conversion macros generic linker script: define __per_cpu_load on all SMP capable archs x86: UV: remove uv_flush_tlb_others() WARN_ON percpu: finer grained locking to break deadlock and allow atomic free percpu: move fully free chunk reclamation into a work percpu: move chunk area map extension out of area allocation percpu: replace pcpu_realloc() with pcpu_mem_alloc() and pcpu_mem_free() x86, percpu: setup reserved percpu area for x86_64 percpu, module: implement reserved allocation and use it for module percpu variables percpu: add an indirection ptr for chunk page map access x86: make embedding percpu allocator return excessive free space percpu: use negative for auto for pcpu_setup_first_chunk() arguments percpu: improve first chunk initial area map handling percpu: cosmetic renames in pcpu_setup_first_chunk() percpu: clean up percpu constants x86: un-__init fill_pud/pmd/pte x86: remove vestigial fix_ioremap prototypes ... Manually merge conflicts in arch/ia64/kernel/irq_ia64.c
Diffstat (limited to 'drivers/net')
-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/wireless/arlan-main.c4
4 files changed, 28 insertions, 20 deletions
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/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;