diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/acpi/processor_core.c | 9 | ||||
| -rw-r--r-- | drivers/char/mspec.c | 12 | ||||
| -rw-r--r-- | drivers/misc/sgi-xp/xpc_partition.c | 4 |
3 files changed, 17 insertions, 8 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c index dd28c912e84f..5241e3ff5080 100644 --- a/drivers/acpi/processor_core.c +++ b/drivers/acpi/processor_core.c | |||
| @@ -603,6 +603,15 @@ static int acpi_processor_get_info(struct acpi_processor *pr, unsigned has_uid) | |||
| 603 | request_region(pr->throttling.address, 6, "ACPI CPU throttle"); | 603 | request_region(pr->throttling.address, 6, "ACPI CPU throttle"); |
| 604 | } | 604 | } |
| 605 | 605 | ||
| 606 | /* | ||
| 607 | * If ACPI describes a slot number for this CPU, we can use it | ||
| 608 | * ensure we get the right value in the "physical id" field | ||
| 609 | * of /proc/cpuinfo | ||
| 610 | */ | ||
| 611 | status = acpi_evaluate_object(pr->handle, "_SUN", NULL, &buffer); | ||
| 612 | if (ACPI_SUCCESS(status)) | ||
| 613 | arch_fix_phys_package_id(pr->id, object.integer.value); | ||
| 614 | |||
| 606 | return 0; | 615 | return 0; |
| 607 | } | 616 | } |
| 608 | 617 | ||
diff --git a/drivers/char/mspec.c b/drivers/char/mspec.c index ff146c2b08fd..fe2a95b5d3c0 100644 --- a/drivers/char/mspec.c +++ b/drivers/char/mspec.c | |||
| @@ -180,7 +180,7 @@ mspec_close(struct vm_area_struct *vma) | |||
| 180 | my_page = vdata->maddr[index]; | 180 | my_page = vdata->maddr[index]; |
| 181 | vdata->maddr[index] = 0; | 181 | vdata->maddr[index] = 0; |
| 182 | if (!mspec_zero_block(my_page, PAGE_SIZE)) | 182 | if (!mspec_zero_block(my_page, PAGE_SIZE)) |
| 183 | uncached_free_page(my_page); | 183 | uncached_free_page(my_page, 1); |
| 184 | else | 184 | else |
| 185 | printk(KERN_WARNING "mspec_close(): " | 185 | printk(KERN_WARNING "mspec_close(): " |
| 186 | "failed to zero page %ld\n", my_page); | 186 | "failed to zero page %ld\n", my_page); |
| @@ -209,7 +209,7 @@ mspec_nopfn(struct vm_area_struct *vma, unsigned long address) | |||
| 209 | index = (address - vdata->vm_start) >> PAGE_SHIFT; | 209 | index = (address - vdata->vm_start) >> PAGE_SHIFT; |
| 210 | maddr = (volatile unsigned long) vdata->maddr[index]; | 210 | maddr = (volatile unsigned long) vdata->maddr[index]; |
| 211 | if (maddr == 0) { | 211 | if (maddr == 0) { |
| 212 | maddr = uncached_alloc_page(numa_node_id()); | 212 | maddr = uncached_alloc_page(numa_node_id(), 1); |
| 213 | if (maddr == 0) | 213 | if (maddr == 0) |
| 214 | return NOPFN_OOM; | 214 | return NOPFN_OOM; |
| 215 | 215 | ||
| @@ -218,7 +218,7 @@ mspec_nopfn(struct vm_area_struct *vma, unsigned long address) | |||
| 218 | vdata->count++; | 218 | vdata->count++; |
| 219 | vdata->maddr[index] = maddr; | 219 | vdata->maddr[index] = maddr; |
| 220 | } else { | 220 | } else { |
| 221 | uncached_free_page(maddr); | 221 | uncached_free_page(maddr, 1); |
| 222 | maddr = vdata->maddr[index]; | 222 | maddr = vdata->maddr[index]; |
| 223 | } | 223 | } |
| 224 | spin_unlock(&vdata->lock); | 224 | spin_unlock(&vdata->lock); |
| @@ -367,7 +367,7 @@ mspec_init(void) | |||
| 367 | int nasid; | 367 | int nasid; |
| 368 | unsigned long phys; | 368 | unsigned long phys; |
| 369 | 369 | ||
| 370 | scratch_page[nid] = uncached_alloc_page(nid); | 370 | scratch_page[nid] = uncached_alloc_page(nid, 1); |
| 371 | if (scratch_page[nid] == 0) | 371 | if (scratch_page[nid] == 0) |
| 372 | goto free_scratch_pages; | 372 | goto free_scratch_pages; |
| 373 | phys = __pa(scratch_page[nid]); | 373 | phys = __pa(scratch_page[nid]); |
| @@ -414,7 +414,7 @@ mspec_init(void) | |||
| 414 | free_scratch_pages: | 414 | free_scratch_pages: |
| 415 | for_each_node(nid) { | 415 | for_each_node(nid) { |
| 416 | if (scratch_page[nid] != 0) | 416 | if (scratch_page[nid] != 0) |
| 417 | uncached_free_page(scratch_page[nid]); | 417 | uncached_free_page(scratch_page[nid], 1); |
| 418 | } | 418 | } |
| 419 | return ret; | 419 | return ret; |
| 420 | } | 420 | } |
| @@ -431,7 +431,7 @@ mspec_exit(void) | |||
| 431 | 431 | ||
| 432 | for_each_node(nid) { | 432 | for_each_node(nid) { |
| 433 | if (scratch_page[nid] != 0) | 433 | if (scratch_page[nid] != 0) |
| 434 | uncached_free_page(scratch_page[nid]); | 434 | uncached_free_page(scratch_page[nid], 1); |
| 435 | } | 435 | } |
| 436 | } | 436 | } |
| 437 | } | 437 | } |
diff --git a/drivers/misc/sgi-xp/xpc_partition.c b/drivers/misc/sgi-xp/xpc_partition.c index 27e200ec5826..acd3fd4285d7 100644 --- a/drivers/misc/sgi-xp/xpc_partition.c +++ b/drivers/misc/sgi-xp/xpc_partition.c | |||
| @@ -211,7 +211,7 @@ xpc_rsvd_page_init(void) | |||
| 211 | */ | 211 | */ |
| 212 | amos_page = xpc_vars->amos_page; | 212 | amos_page = xpc_vars->amos_page; |
| 213 | if (amos_page == NULL) { | 213 | if (amos_page == NULL) { |
| 214 | amos_page = (AMO_t *)TO_AMO(uncached_alloc_page(0)); | 214 | amos_page = (AMO_t *)TO_AMO(uncached_alloc_page(0, 1)); |
| 215 | if (amos_page == NULL) { | 215 | if (amos_page == NULL) { |
| 216 | dev_err(xpc_part, "can't allocate page of AMOs\n"); | 216 | dev_err(xpc_part, "can't allocate page of AMOs\n"); |
| 217 | return NULL; | 217 | return NULL; |
| @@ -230,7 +230,7 @@ xpc_rsvd_page_init(void) | |||
| 230 | dev_err(xpc_part, "can't change memory " | 230 | dev_err(xpc_part, "can't change memory " |
| 231 | "protections\n"); | 231 | "protections\n"); |
| 232 | uncached_free_page(__IA64_UNCACHED_OFFSET | | 232 | uncached_free_page(__IA64_UNCACHED_OFFSET | |
| 233 | TO_PHYS((u64)amos_page)); | 233 | TO_PHYS((u64)amos_page), 1); |
| 234 | return NULL; | 234 | return NULL; |
| 235 | } | 235 | } |
| 236 | } | 236 | } |
