diff options
29 files changed, 177 insertions, 161 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 32aa30d1504a..bac3f706f75e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
| @@ -214,6 +214,12 @@ W: http://acpi.sourceforge.net/ | |||
| 214 | T: git kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git | 214 | T: git kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git |
| 215 | S: Maintained | 215 | S: Maintained |
| 216 | 216 | ||
| 217 | ACPI PCI HOTPLUG DRIVER | ||
| 218 | P: Kristen Carlson Accardi | ||
| 219 | M: kristen.c.accardi@intel.com | ||
| 220 | L: pcihpd-discuss@lists.sourceforge.net | ||
| 221 | S: Maintained | ||
| 222 | |||
| 217 | AD1816 SOUND DRIVER | 223 | AD1816 SOUND DRIVER |
| 218 | P: Thorsten Knabe | 224 | P: Thorsten Knabe |
| 219 | M: Thorsten Knabe <linux@thorsten-knabe.de> | 225 | M: Thorsten Knabe <linux@thorsten-knabe.de> |
diff --git a/arch/ia64/hp/sim/simscsi.c b/arch/ia64/hp/sim/simscsi.c index a3fe97531134..8a4f0d0d17a3 100644 --- a/arch/ia64/hp/sim/simscsi.c +++ b/arch/ia64/hp/sim/simscsi.c | |||
| @@ -151,7 +151,7 @@ static void | |||
| 151 | simscsi_sg_readwrite (struct scsi_cmnd *sc, int mode, unsigned long offset) | 151 | simscsi_sg_readwrite (struct scsi_cmnd *sc, int mode, unsigned long offset) |
| 152 | { | 152 | { |
| 153 | int list_len = sc->use_sg; | 153 | int list_len = sc->use_sg; |
| 154 | struct scatterlist *sl = (struct scatterlist *)sc->buffer; | 154 | struct scatterlist *sl = (struct scatterlist *)sc->request_buffer; |
| 155 | struct disk_stat stat; | 155 | struct disk_stat stat; |
| 156 | struct disk_req req; | 156 | struct disk_req req; |
| 157 | 157 | ||
| @@ -244,7 +244,7 @@ static void simscsi_fillresult(struct scsi_cmnd *sc, char *buf, unsigned len) | |||
| 244 | 244 | ||
| 245 | if (scatterlen == 0) | 245 | if (scatterlen == 0) |
| 246 | memcpy(sc->request_buffer, buf, len); | 246 | memcpy(sc->request_buffer, buf, len); |
| 247 | else for (slp = (struct scatterlist *)sc->buffer; scatterlen-- > 0 && len > 0; slp++) { | 247 | else for (slp = (struct scatterlist *)sc->request_buffer; scatterlen-- > 0 && len > 0; slp++) { |
| 248 | unsigned thislen = min(len, slp->length); | 248 | unsigned thislen = min(len, slp->length); |
| 249 | 249 | ||
| 250 | memcpy(page_address(slp->page) + slp->offset, buf, thislen); | 250 | memcpy(page_address(slp->page) + slp->offset, buf, thislen); |
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index e4bfa9dafbce..bb8770a177b5 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c | |||
| @@ -632,7 +632,7 @@ kern_memory_descriptor (unsigned long phys_addr) | |||
| 632 | if (phys_addr - md->start < (md->num_pages << EFI_PAGE_SHIFT)) | 632 | if (phys_addr - md->start < (md->num_pages << EFI_PAGE_SHIFT)) |
| 633 | return md; | 633 | return md; |
| 634 | } | 634 | } |
| 635 | return 0; | 635 | return NULL; |
| 636 | } | 636 | } |
| 637 | 637 | ||
| 638 | static efi_memory_desc_t * | 638 | static efi_memory_desc_t * |
| @@ -652,7 +652,7 @@ efi_memory_descriptor (unsigned long phys_addr) | |||
| 652 | if (phys_addr - md->phys_addr < (md->num_pages << EFI_PAGE_SHIFT)) | 652 | if (phys_addr - md->phys_addr < (md->num_pages << EFI_PAGE_SHIFT)) |
| 653 | return md; | 653 | return md; |
| 654 | } | 654 | } |
| 655 | return 0; | 655 | return NULL; |
| 656 | } | 656 | } |
| 657 | 657 | ||
| 658 | u32 | 658 | u32 |
| @@ -923,7 +923,7 @@ find_memmap_space (void) | |||
| 923 | void | 923 | void |
| 924 | efi_memmap_init(unsigned long *s, unsigned long *e) | 924 | efi_memmap_init(unsigned long *s, unsigned long *e) |
| 925 | { | 925 | { |
| 926 | struct kern_memdesc *k, *prev = 0; | 926 | struct kern_memdesc *k, *prev = NULL; |
| 927 | u64 contig_low=0, contig_high=0; | 927 | u64 contig_low=0, contig_high=0; |
| 928 | u64 as, ae, lim; | 928 | u64 as, ae, lim; |
| 929 | void *efi_map_start, *efi_map_end, *p, *q; | 929 | void *efi_map_start, *efi_map_end, *p, *q; |
diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S index 561b8f1d3bc7..29236f0c62b5 100644 --- a/arch/ia64/kernel/head.S +++ b/arch/ia64/kernel/head.S | |||
| @@ -853,7 +853,6 @@ END(__ia64_init_fpu) | |||
| 853 | */ | 853 | */ |
| 854 | GLOBAL_ENTRY(ia64_switch_mode_phys) | 854 | GLOBAL_ENTRY(ia64_switch_mode_phys) |
| 855 | { | 855 | { |
| 856 | alloc r2=ar.pfs,0,0,0,0 | ||
| 857 | rsm psr.i | psr.ic // disable interrupts and interrupt collection | 856 | rsm psr.i | psr.ic // disable interrupts and interrupt collection |
| 858 | mov r15=ip | 857 | mov r15=ip |
| 859 | } | 858 | } |
| @@ -902,7 +901,6 @@ END(ia64_switch_mode_phys) | |||
| 902 | */ | 901 | */ |
| 903 | GLOBAL_ENTRY(ia64_switch_mode_virt) | 902 | GLOBAL_ENTRY(ia64_switch_mode_virt) |
| 904 | { | 903 | { |
| 905 | alloc r2=ar.pfs,0,0,0,0 | ||
| 906 | rsm psr.i | psr.ic // disable interrupts and interrupt collection | 904 | rsm psr.i | psr.ic // disable interrupts and interrupt collection |
| 907 | mov r15=ip | 905 | mov r15=ip |
| 908 | } | 906 | } |
diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c index b7cf651ceb14..3ead20fb6f4b 100644 --- a/arch/ia64/kernel/ia64_ksyms.c +++ b/arch/ia64/kernel/ia64_ksyms.c | |||
| @@ -62,7 +62,7 @@ EXPORT_SYMBOL(__udivdi3); | |||
| 62 | EXPORT_SYMBOL(__moddi3); | 62 | EXPORT_SYMBOL(__moddi3); |
| 63 | EXPORT_SYMBOL(__umoddi3); | 63 | EXPORT_SYMBOL(__umoddi3); |
| 64 | 64 | ||
| 65 | #if defined(CONFIG_MD_RAID5) || defined(CONFIG_MD_RAID5_MODULE) | 65 | #if defined(CONFIG_MD_RAID456) || defined(CONFIG_MD_RAID456_MODULE) |
| 66 | extern void xor_ia64_2(void); | 66 | extern void xor_ia64_2(void); |
| 67 | extern void xor_ia64_3(void); | 67 | extern void xor_ia64_3(void); |
| 68 | extern void xor_ia64_4(void); | 68 | extern void xor_ia64_4(void); |
diff --git a/arch/ia64/kernel/pal.S b/arch/ia64/kernel/pal.S index 5018c7f2e7a8..ebaf1e685f5e 100644 --- a/arch/ia64/kernel/pal.S +++ b/arch/ia64/kernel/pal.S | |||
| @@ -217,12 +217,7 @@ GLOBAL_ENTRY(ia64_pal_call_phys_stacked) | |||
| 217 | .body | 217 | .body |
| 218 | ;; | 218 | ;; |
| 219 | ld8 loc2 = [loc2] // loc2 <- entry point | 219 | ld8 loc2 = [loc2] // loc2 <- entry point |
| 220 | mov out0 = in0 // first argument | 220 | mov loc3 = psr // save psr |
| 221 | mov out1 = in1 // copy arg2 | ||
| 222 | mov out2 = in2 // copy arg3 | ||
| 223 | mov out3 = in3 // copy arg3 | ||
| 224 | ;; | ||
| 225 | mov loc3 = psr // save psr | ||
| 226 | ;; | 221 | ;; |
| 227 | mov loc4=ar.rsc // save RSE configuration | 222 | mov loc4=ar.rsc // save RSE configuration |
| 228 | dep.z loc2=loc2,0,61 // convert pal entry point to physical | 223 | dep.z loc2=loc2,0,61 // convert pal entry point to physical |
| @@ -236,18 +231,23 @@ GLOBAL_ENTRY(ia64_pal_call_phys_stacked) | |||
| 236 | ;; | 231 | ;; |
| 237 | andcm r16=loc3,r16 // removes bits to clear from psr | 232 | andcm r16=loc3,r16 // removes bits to clear from psr |
| 238 | br.call.sptk.many rp=ia64_switch_mode_phys | 233 | br.call.sptk.many rp=ia64_switch_mode_phys |
| 239 | .ret6: | 234 | |
| 235 | mov out0 = in0 // first argument | ||
| 236 | mov out1 = in1 // copy arg2 | ||
| 237 | mov out2 = in2 // copy arg3 | ||
| 238 | mov out3 = in3 // copy arg3 | ||
| 240 | mov loc5 = r19 | 239 | mov loc5 = r19 |
| 241 | mov loc6 = r20 | 240 | mov loc6 = r20 |
| 241 | |||
| 242 | br.call.sptk.many rp=b7 // now make the call | 242 | br.call.sptk.many rp=b7 // now make the call |
| 243 | .ret7: | 243 | |
| 244 | mov ar.rsc=0 // put RSE in enforced lazy, LE mode | 244 | mov ar.rsc=0 // put RSE in enforced lazy, LE mode |
| 245 | mov r16=loc3 // r16= original psr | 245 | mov r16=loc3 // r16= original psr |
| 246 | mov r19=loc5 | 246 | mov r19=loc5 |
| 247 | mov r20=loc6 | 247 | mov r20=loc6 |
| 248 | br.call.sptk.many rp=ia64_switch_mode_virt // return to virtual mode | 248 | br.call.sptk.many rp=ia64_switch_mode_virt // return to virtual mode |
| 249 | 249 | ||
| 250 | .ret8: mov psr.l = loc3 // restore init PSR | 250 | mov psr.l = loc3 // restore init PSR |
| 251 | mov ar.pfs = loc1 | 251 | mov ar.pfs = loc1 |
| 252 | mov rp = loc0 | 252 | mov rp = loc0 |
| 253 | ;; | 253 | ;; |
diff --git a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c index ab5b52413e91..0b546e2b36ac 100644 --- a/arch/ia64/kernel/palinfo.c +++ b/arch/ia64/kernel/palinfo.c | |||
| @@ -566,29 +566,23 @@ version_info(char *page) | |||
| 566 | pal_version_u_t min_ver, cur_ver; | 566 | pal_version_u_t min_ver, cur_ver; |
| 567 | char *p = page; | 567 | char *p = page; |
| 568 | 568 | ||
| 569 | /* The PAL_VERSION call is advertised as being able to support | 569 | if (ia64_pal_version(&min_ver, &cur_ver) != 0) |
| 570 | * both physical and virtual mode calls. This seems to be a documentation | 570 | return 0; |
| 571 | * bug rather than firmware bug. In fact, it does only support physical mode. | ||
| 572 | * So now the code reflects this fact and the pal_version() has been updated | ||
| 573 | * accordingly. | ||
| 574 | */ | ||
| 575 | if (ia64_pal_version(&min_ver, &cur_ver) != 0) return 0; | ||
| 576 | 571 | ||
| 577 | p += sprintf(p, | 572 | p += sprintf(p, |
| 578 | "PAL_vendor : 0x%02x (min=0x%02x)\n" | 573 | "PAL_vendor : 0x%02x (min=0x%02x)\n" |
| 579 | "PAL_A : %x.%x.%x (min=%x.%x.%x)\n" | 574 | "PAL_A : %02x.%02x (min=%02x.%02x)\n" |
| 580 | "PAL_B : %x.%x.%x (min=%x.%x.%x)\n", | 575 | "PAL_B : %02x.%02x (min=%02x.%02x)\n", |
| 581 | cur_ver.pal_version_s.pv_pal_vendor, min_ver.pal_version_s.pv_pal_vendor, | 576 | cur_ver.pal_version_s.pv_pal_vendor, |
| 582 | 577 | min_ver.pal_version_s.pv_pal_vendor, | |
| 583 | cur_ver.pal_version_s.pv_pal_a_model>>4, | 578 | cur_ver.pal_version_s.pv_pal_a_model, |
| 584 | cur_ver.pal_version_s.pv_pal_a_model&0xf, cur_ver.pal_version_s.pv_pal_a_rev, | 579 | cur_ver.pal_version_s.pv_pal_a_rev, |
| 585 | min_ver.pal_version_s.pv_pal_a_model>>4, | 580 | min_ver.pal_version_s.pv_pal_a_model, |
| 586 | min_ver.pal_version_s.pv_pal_a_model&0xf, min_ver.pal_version_s.pv_pal_a_rev, | 581 | min_ver.pal_version_s.pv_pal_a_rev, |
| 587 | 582 | cur_ver.pal_version_s.pv_pal_b_model, | |
| 588 | cur_ver.pal_version_s.pv_pal_b_model>>4, | 583 | cur_ver.pal_version_s.pv_pal_b_rev, |
| 589 | cur_ver.pal_version_s.pv_pal_b_model&0xf, cur_ver.pal_version_s.pv_pal_b_rev, | 584 | min_ver.pal_version_s.pv_pal_b_model, |
| 590 | min_ver.pal_version_s.pv_pal_b_model>>4, | 585 | min_ver.pal_version_s.pv_pal_b_rev); |
| 591 | min_ver.pal_version_s.pv_pal_b_model&0xf, min_ver.pal_version_s.pv_pal_b_rev); | ||
| 592 | return p - page; | 586 | return p - page; |
| 593 | } | 587 | } |
| 594 | 588 | ||
diff --git a/arch/ia64/lib/Makefile b/arch/ia64/lib/Makefile index d8536a2c22a9..38fa6e49e791 100644 --- a/arch/ia64/lib/Makefile +++ b/arch/ia64/lib/Makefile | |||
| @@ -14,7 +14,7 @@ lib-y := __divsi3.o __udivsi3.o __modsi3.o __umodsi3.o \ | |||
| 14 | lib-$(CONFIG_ITANIUM) += copy_page.o copy_user.o memcpy.o | 14 | lib-$(CONFIG_ITANIUM) += copy_page.o copy_user.o memcpy.o |
| 15 | lib-$(CONFIG_MCKINLEY) += copy_page_mck.o memcpy_mck.o | 15 | lib-$(CONFIG_MCKINLEY) += copy_page_mck.o memcpy_mck.o |
| 16 | lib-$(CONFIG_PERFMON) += carta_random.o | 16 | lib-$(CONFIG_PERFMON) += carta_random.o |
| 17 | lib-$(CONFIG_MD_RAID5) += xor.o | 17 | lib-$(CONFIG_MD_RAID456) += xor.o |
| 18 | 18 | ||
| 19 | AFLAGS___divdi3.o = | 19 | AFLAGS___divdi3.o = |
| 20 | AFLAGS___udivdi3.o = -DUNSIGNED | 20 | AFLAGS___udivdi3.o = -DUNSIGNED |
diff --git a/arch/ia64/mm/contig.c b/arch/ia64/mm/contig.c index 2a88cdd6d924..e004143ba86b 100644 --- a/arch/ia64/mm/contig.c +++ b/arch/ia64/mm/contig.c | |||
| @@ -27,6 +27,7 @@ | |||
| 27 | 27 | ||
| 28 | #ifdef CONFIG_VIRTUAL_MEM_MAP | 28 | #ifdef CONFIG_VIRTUAL_MEM_MAP |
| 29 | static unsigned long num_dma_physpages; | 29 | static unsigned long num_dma_physpages; |
| 30 | static unsigned long max_gap; | ||
| 30 | #endif | 31 | #endif |
| 31 | 32 | ||
| 32 | /** | 33 | /** |
| @@ -45,9 +46,15 @@ show_mem (void) | |||
| 45 | 46 | ||
| 46 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); | 47 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); |
| 47 | i = max_mapnr; | 48 | i = max_mapnr; |
| 48 | while (i-- > 0) { | 49 | for (i = 0; i < max_mapnr; i++) { |
| 49 | if (!pfn_valid(i)) | 50 | if (!pfn_valid(i)) { |
| 51 | #ifdef CONFIG_VIRTUAL_MEM_MAP | ||
| 52 | if (max_gap < LARGE_GAP) | ||
| 53 | continue; | ||
| 54 | i = vmemmap_find_next_valid_pfn(0, i) - 1; | ||
| 55 | #endif | ||
| 50 | continue; | 56 | continue; |
| 57 | } | ||
| 51 | total++; | 58 | total++; |
| 52 | if (PageReserved(mem_map+i)) | 59 | if (PageReserved(mem_map+i)) |
| 53 | reserved++; | 60 | reserved++; |
| @@ -234,7 +241,6 @@ paging_init (void) | |||
| 234 | unsigned long zones_size[MAX_NR_ZONES]; | 241 | unsigned long zones_size[MAX_NR_ZONES]; |
| 235 | #ifdef CONFIG_VIRTUAL_MEM_MAP | 242 | #ifdef CONFIG_VIRTUAL_MEM_MAP |
| 236 | unsigned long zholes_size[MAX_NR_ZONES]; | 243 | unsigned long zholes_size[MAX_NR_ZONES]; |
| 237 | unsigned long max_gap; | ||
| 238 | #endif | 244 | #endif |
| 239 | 245 | ||
| 240 | /* initialize mem_map[] */ | 246 | /* initialize mem_map[] */ |
| @@ -266,7 +272,6 @@ paging_init (void) | |||
| 266 | } | 272 | } |
| 267 | } | 273 | } |
| 268 | 274 | ||
| 269 | max_gap = 0; | ||
| 270 | efi_memmap_walk(find_largest_hole, (u64 *)&max_gap); | 275 | efi_memmap_walk(find_largest_hole, (u64 *)&max_gap); |
| 271 | if (max_gap < LARGE_GAP) { | 276 | if (max_gap < LARGE_GAP) { |
| 272 | vmem_map = (struct page *) 0; | 277 | vmem_map = (struct page *) 0; |
| @@ -277,7 +282,8 @@ paging_init (void) | |||
| 277 | 282 | ||
| 278 | /* allocate virtual_mem_map */ | 283 | /* allocate virtual_mem_map */ |
| 279 | 284 | ||
| 280 | map_size = PAGE_ALIGN(max_low_pfn * sizeof(struct page)); | 285 | map_size = PAGE_ALIGN(ALIGN(max_low_pfn, MAX_ORDER_NR_PAGES) * |
| 286 | sizeof(struct page)); | ||
| 281 | vmalloc_end -= map_size; | 287 | vmalloc_end -= map_size; |
| 282 | vmem_map = (struct page *) vmalloc_end; | 288 | vmem_map = (struct page *) vmalloc_end; |
| 283 | efi_memmap_walk(create_mem_map_page_table, NULL); | 289 | efi_memmap_walk(create_mem_map_page_table, NULL); |
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c index 99bd9e30db96..d260bffa01ab 100644 --- a/arch/ia64/mm/discontig.c +++ b/arch/ia64/mm/discontig.c | |||
| @@ -534,68 +534,6 @@ void __cpuinit *per_cpu_init(void) | |||
| 534 | } | 534 | } |
| 535 | #endif /* CONFIG_SMP */ | 535 | #endif /* CONFIG_SMP */ |
| 536 | 536 | ||
| 537 | #ifdef CONFIG_VIRTUAL_MEM_MAP | ||
| 538 | static inline int find_next_valid_pfn_for_pgdat(pg_data_t *pgdat, int i) | ||
| 539 | { | ||
| 540 | unsigned long end_address, hole_next_pfn; | ||
| 541 | unsigned long stop_address; | ||
| 542 | |||
| 543 | end_address = (unsigned long) &vmem_map[pgdat->node_start_pfn + i]; | ||
| 544 | end_address = PAGE_ALIGN(end_address); | ||
| 545 | |||
| 546 | stop_address = (unsigned long) &vmem_map[ | ||
| 547 | pgdat->node_start_pfn + pgdat->node_spanned_pages]; | ||
| 548 | |||
| 549 | do { | ||
| 550 | pgd_t *pgd; | ||
| 551 | pud_t *pud; | ||
| 552 | pmd_t *pmd; | ||
| 553 | pte_t *pte; | ||
| 554 | |||
| 555 | pgd = pgd_offset_k(end_address); | ||
| 556 | if (pgd_none(*pgd)) { | ||
| 557 | end_address += PGDIR_SIZE; | ||
| 558 | continue; | ||
| 559 | } | ||
| 560 | |||
| 561 | pud = pud_offset(pgd, end_address); | ||
| 562 | if (pud_none(*pud)) { | ||
| 563 | end_address += PUD_SIZE; | ||
| 564 | continue; | ||
| 565 | } | ||
| 566 | |||
| 567 | pmd = pmd_offset(pud, end_address); | ||
| 568 | if (pmd_none(*pmd)) { | ||
| 569 | end_address += PMD_SIZE; | ||
| 570 | continue; | ||
| 571 | } | ||
| 572 | |||
| 573 | pte = pte_offset_kernel(pmd, end_address); | ||
| 574 | retry_pte: | ||
| 575 | if (pte_none(*pte)) { | ||
| 576 | end_address += PAGE_SIZE; | ||
| 577 | pte++; | ||
| 578 | if ((end_address < stop_address) && | ||
| 579 | (end_address != ALIGN(end_address, 1UL << PMD_SHIFT))) | ||
| 580 | goto retry_pte; | ||
| 581 | continue; | ||
| 582 | } | ||
| 583 | /* Found next valid vmem_map page */ | ||
| 584 | break; | ||
| 585 | } while (end_address < stop_address); | ||
| 586 | |||
| 587 | end_address = min(end_address, stop_address); | ||
| 588 | end_address = end_address - (unsigned long) vmem_map + sizeof(struct page) - 1; | ||
| 589 | hole_next_pfn = end_address / sizeof(struct page); | ||
| 590 | return hole_next_pfn - pgdat->node_start_pfn; | ||
| 591 | } | ||
| 592 | #else | ||
| 593 | static inline int find_next_valid_pfn_for_pgdat(pg_data_t *pgdat, int i) | ||
| 594 | { | ||
| 595 | return i + 1; | ||
| 596 | } | ||
| 597 | #endif | ||
| 598 | |||
| 599 | /** | 537 | /** |
| 600 | * show_mem - give short summary of memory stats | 538 | * show_mem - give short summary of memory stats |
| 601 | * | 539 | * |
| @@ -625,7 +563,8 @@ void show_mem(void) | |||
| 625 | if (pfn_valid(pgdat->node_start_pfn + i)) | 563 | if (pfn_valid(pgdat->node_start_pfn + i)) |
| 626 | page = pfn_to_page(pgdat->node_start_pfn + i); | 564 | page = pfn_to_page(pgdat->node_start_pfn + i); |
| 627 | else { | 565 | else { |
| 628 | i = find_next_valid_pfn_for_pgdat(pgdat, i) - 1; | 566 | i = vmemmap_find_next_valid_pfn(pgdat->node_id, |
| 567 | i) - 1; | ||
| 629 | continue; | 568 | continue; |
| 630 | } | 569 | } |
| 631 | if (PageReserved(page)) | 570 | if (PageReserved(page)) |
| @@ -751,7 +690,8 @@ void __init paging_init(void) | |||
| 751 | efi_memmap_walk(filter_rsvd_memory, count_node_pages); | 690 | efi_memmap_walk(filter_rsvd_memory, count_node_pages); |
| 752 | 691 | ||
| 753 | #ifdef CONFIG_VIRTUAL_MEM_MAP | 692 | #ifdef CONFIG_VIRTUAL_MEM_MAP |
| 754 | vmalloc_end -= PAGE_ALIGN(max_low_pfn * sizeof(struct page)); | 693 | vmalloc_end -= PAGE_ALIGN(ALIGN(max_low_pfn, MAX_ORDER_NR_PAGES) * |
| 694 | sizeof(struct page)); | ||
| 755 | vmem_map = (struct page *) vmalloc_end; | 695 | vmem_map = (struct page *) vmalloc_end; |
| 756 | efi_memmap_walk(create_mem_map_page_table, NULL); | 696 | efi_memmap_walk(create_mem_map_page_table, NULL); |
| 757 | printk("Virtual mem_map starts at 0x%p\n", vmem_map); | 697 | printk("Virtual mem_map starts at 0x%p\n", vmem_map); |
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c index 2f50c064513c..30617ccb4f7e 100644 --- a/arch/ia64/mm/init.c +++ b/arch/ia64/mm/init.c | |||
| @@ -415,6 +415,61 @@ ia64_mmu_init (void *my_cpu_data) | |||
| 415 | } | 415 | } |
| 416 | 416 | ||
| 417 | #ifdef CONFIG_VIRTUAL_MEM_MAP | 417 | #ifdef CONFIG_VIRTUAL_MEM_MAP |
| 418 | int vmemmap_find_next_valid_pfn(int node, int i) | ||
| 419 | { | ||
| 420 | unsigned long end_address, hole_next_pfn; | ||
| 421 | unsigned long stop_address; | ||
| 422 | pg_data_t *pgdat = NODE_DATA(node); | ||
| 423 | |||
| 424 | end_address = (unsigned long) &vmem_map[pgdat->node_start_pfn + i]; | ||
| 425 | end_address = PAGE_ALIGN(end_address); | ||
| 426 | |||
| 427 | stop_address = (unsigned long) &vmem_map[ | ||
| 428 | pgdat->node_start_pfn + pgdat->node_spanned_pages]; | ||
| 429 | |||
| 430 | do { | ||
| 431 | pgd_t *pgd; | ||
| 432 | pud_t *pud; | ||
| 433 | pmd_t *pmd; | ||
| 434 | pte_t *pte; | ||
| 435 | |||
| 436 | pgd = pgd_offset_k(end_address); | ||
| 437 | if (pgd_none(*pgd)) { | ||
| 438 | end_address += PGDIR_SIZE; | ||
| 439 | continue; | ||
| 440 | } | ||
| 441 | |||
| 442 | pud = pud_offset(pgd, end_address); | ||
| 443 | if (pud_none(*pud)) { | ||
| 444 | end_address += PUD_SIZE; | ||
| 445 | continue; | ||
| 446 | } | ||
| 447 | |||
| 448 | pmd = pmd_offset(pud, end_address); | ||
| 449 | if (pmd_none(*pmd)) { | ||
| 450 | end_address += PMD_SIZE; | ||
| 451 | continue; | ||
| 452 | } | ||
| 453 | |||
| 454 | pte = pte_offset_kernel(pmd, end_address); | ||
| 455 | retry_pte: | ||
| 456 | if (pte_none(*pte)) { | ||
| 457 | end_address += PAGE_SIZE; | ||
| 458 | pte++; | ||
| 459 | if ((end_address < stop_address) && | ||
| 460 | (end_address != ALIGN(end_address, 1UL << PMD_SHIFT))) | ||
| 461 | goto retry_pte; | ||
| 462 | continue; | ||
| 463 | } | ||
| 464 | /* Found next valid vmem_map page */ | ||
| 465 | break; | ||
| 466 | } while (end_address < stop_address); | ||
| 467 | |||
| 468 | end_address = min(end_address, stop_address); | ||
| 469 | end_address = end_address - (unsigned long) vmem_map + sizeof(struct page) - 1; | ||
| 470 | hole_next_pfn = end_address / sizeof(struct page); | ||
| 471 | return hole_next_pfn - pgdat->node_start_pfn; | ||
| 472 | } | ||
| 418 | 473 | ||
| 419 | int __init | 474 | int __init |
| 420 | create_mem_map_page_table (u64 start, u64 end, void *arg) | 475 | create_mem_map_page_table (u64 start, u64 end, void *arg) |
diff --git a/arch/ia64/mm/ioremap.c b/arch/ia64/mm/ioremap.c index 07bd02b6c372..4280c074d64e 100644 --- a/arch/ia64/mm/ioremap.c +++ b/arch/ia64/mm/ioremap.c | |||
| @@ -32,7 +32,7 @@ ioremap (unsigned long offset, unsigned long size) | |||
| 32 | */ | 32 | */ |
| 33 | attr = kern_mem_attribute(offset, size); | 33 | attr = kern_mem_attribute(offset, size); |
| 34 | if (attr & EFI_MEMORY_WB) | 34 | if (attr & EFI_MEMORY_WB) |
| 35 | return phys_to_virt(offset); | 35 | return (void __iomem *) phys_to_virt(offset); |
| 36 | else if (attr & EFI_MEMORY_UC) | 36 | else if (attr & EFI_MEMORY_UC) |
| 37 | return __ioremap(offset, size); | 37 | return __ioremap(offset, size); |
| 38 | 38 | ||
| @@ -43,7 +43,7 @@ ioremap (unsigned long offset, unsigned long size) | |||
| 43 | gran_base = GRANULEROUNDDOWN(offset); | 43 | gran_base = GRANULEROUNDDOWN(offset); |
| 44 | gran_size = GRANULEROUNDUP(offset + size) - gran_base; | 44 | gran_size = GRANULEROUNDUP(offset + size) - gran_base; |
| 45 | if (efi_mem_attribute(gran_base, gran_size) & EFI_MEMORY_WB) | 45 | if (efi_mem_attribute(gran_base, gran_size) & EFI_MEMORY_WB) |
| 46 | return phys_to_virt(offset); | 46 | return (void __iomem *) phys_to_virt(offset); |
| 47 | 47 | ||
| 48 | return __ioremap(offset, size); | 48 | return __ioremap(offset, size); |
| 49 | } | 49 | } |
| @@ -53,7 +53,7 @@ void __iomem * | |||
| 53 | ioremap_nocache (unsigned long offset, unsigned long size) | 53 | ioremap_nocache (unsigned long offset, unsigned long size) |
| 54 | { | 54 | { |
| 55 | if (kern_mem_attribute(offset, size) & EFI_MEMORY_WB) | 55 | if (kern_mem_attribute(offset, size) & EFI_MEMORY_WB) |
| 56 | return 0; | 56 | return NULL; |
| 57 | 57 | ||
| 58 | return __ioremap(offset, size); | 58 | return __ioremap(offset, size); |
| 59 | } | 59 | } |
diff --git a/arch/ia64/sn/kernel/xpc_main.c b/arch/ia64/sn/kernel/xpc_main.c index 99b123a6421a..5e8e59efb347 100644 --- a/arch/ia64/sn/kernel/xpc_main.c +++ b/arch/ia64/sn/kernel/xpc_main.c | |||
| @@ -480,7 +480,7 @@ xpc_activating(void *__partid) | |||
| 480 | partid_t partid = (u64) __partid; | 480 | partid_t partid = (u64) __partid; |
| 481 | struct xpc_partition *part = &xpc_partitions[partid]; | 481 | struct xpc_partition *part = &xpc_partitions[partid]; |
| 482 | unsigned long irq_flags; | 482 | unsigned long irq_flags; |
| 483 | struct sched_param param = { sched_priority: MAX_RT_PRIO - 1 }; | 483 | struct sched_param param = { .sched_priority = MAX_RT_PRIO - 1 }; |
| 484 | int ret; | 484 | int ret; |
| 485 | 485 | ||
| 486 | 486 | ||
diff --git a/arch/ia64/sn/pci/tioce_provider.c b/arch/ia64/sn/pci/tioce_provider.c index 17cd34284886..af7171adcd2c 100644 --- a/arch/ia64/sn/pci/tioce_provider.c +++ b/arch/ia64/sn/pci/tioce_provider.c | |||
| @@ -74,7 +74,7 @@ tioce_mmr_war_pre(struct tioce_kernel *kern, void *mmr_addr) | |||
| 74 | else | 74 | else |
| 75 | mmr_war_offset = 0x158; | 75 | mmr_war_offset = 0x158; |
| 76 | 76 | ||
| 77 | readq_relaxed((void *)(mmr_base + mmr_war_offset)); | 77 | readq_relaxed((void __iomem *)(mmr_base + mmr_war_offset)); |
| 78 | } | 78 | } |
| 79 | } | 79 | } |
| 80 | 80 | ||
| @@ -92,8 +92,8 @@ tioce_mmr_war_post(struct tioce_kernel *kern, void *mmr_addr) | |||
| 92 | 92 | ||
| 93 | if (mmr_offset < 0x45000) { | 93 | if (mmr_offset < 0x45000) { |
| 94 | if (mmr_offset == 0x100) | 94 | if (mmr_offset == 0x100) |
| 95 | readq_relaxed((void *)(mmr_base + 0x38)); | 95 | readq_relaxed((void __iomem *)(mmr_base + 0x38)); |
| 96 | readq_relaxed((void *)(mmr_base + 0xb050)); | 96 | readq_relaxed((void __iomem *)(mmr_base + 0xb050)); |
| 97 | } | 97 | } |
| 98 | } | 98 | } |
| 99 | 99 | ||
diff --git a/drivers/acpi/dock.c b/drivers/acpi/dock.c index 1c0a39d8b04e..578b99b71d9c 100644 --- a/drivers/acpi/dock.c +++ b/drivers/acpi/dock.c | |||
| @@ -58,8 +58,8 @@ struct dock_dependent_device { | |||
| 58 | }; | 58 | }; |
| 59 | 59 | ||
| 60 | #define DOCK_DOCKING 0x00000001 | 60 | #define DOCK_DOCKING 0x00000001 |
| 61 | #define DOCK_EVENT KOBJ_DOCK | 61 | #define DOCK_EVENT 3 |
| 62 | #define UNDOCK_EVENT KOBJ_UNDOCK | 62 | #define UNDOCK_EVENT 2 |
| 63 | 63 | ||
| 64 | static struct dock_station *dock_station; | 64 | static struct dock_station *dock_station; |
| 65 | 65 | ||
| @@ -322,11 +322,10 @@ static void hotplug_dock_devices(struct dock_station *ds, u32 event) | |||
| 322 | 322 | ||
| 323 | static void dock_event(struct dock_station *ds, u32 event, int num) | 323 | static void dock_event(struct dock_station *ds, u32 event, int num) |
| 324 | { | 324 | { |
| 325 | struct acpi_device *device; | 325 | /* |
| 326 | 326 | * we don't do events until someone tells me that | |
| 327 | device = dock_create_acpi_device(ds->handle); | 327 | * they would like to have them. |
| 328 | if (device) | 328 | */ |
| 329 | kobject_uevent(&device->kobj, num); | ||
| 330 | } | 329 | } |
| 331 | 330 | ||
| 332 | /** | 331 | /** |
diff --git a/drivers/char/snsc.c b/drivers/char/snsc.c index afc6eda602f7..07e0b75f2338 100644 --- a/drivers/char/snsc.c +++ b/drivers/char/snsc.c | |||
| @@ -374,7 +374,12 @@ scdrv_init(void) | |||
| 374 | struct sysctl_data_s *scd; | 374 | struct sysctl_data_s *scd; |
| 375 | void *salbuf; | 375 | void *salbuf; |
| 376 | dev_t first_dev, dev; | 376 | dev_t first_dev, dev; |
| 377 | nasid_t event_nasid = ia64_sn_get_console_nasid(); | 377 | nasid_t event_nasid; |
| 378 | |||
| 379 | if (!ia64_platform_is("sn2")) | ||
| 380 | return -ENODEV; | ||
| 381 | |||
| 382 | event_nasid = ia64_sn_get_console_nasid(); | ||
| 378 | 383 | ||
| 379 | if (alloc_chrdev_region(&first_dev, 0, num_cnodes, | 384 | if (alloc_chrdev_region(&first_dev, 0, num_cnodes, |
| 380 | SYSCTL_BASENAME) < 0) { | 385 | SYSCTL_BASENAME) < 0) { |
diff --git a/drivers/pci/hotplug/acpiphp_core.c b/drivers/pci/hotplug/acpiphp_core.c index 34de5697983d..e2fef60c2d06 100644 --- a/drivers/pci/hotplug/acpiphp_core.c +++ b/drivers/pci/hotplug/acpiphp_core.c | |||
| @@ -27,8 +27,7 @@ | |||
| 27 | * along with this program; if not, write to the Free Software | 27 | * along with this program; if not, write to the Free Software |
| 28 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 28 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| 29 | * | 29 | * |
| 30 | * Send feedback to <gregkh@us.ibm.com>, | 30 | * Send feedback to <kristen.c.accardi@intel.com> |
| 31 | * <t-kochi@bq.jp.nec.com> | ||
| 32 | * | 31 | * |
| 33 | */ | 32 | */ |
| 34 | 33 | ||
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c index ef95d12fb32c..ae67a8f55ba1 100644 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c | |||
| @@ -26,7 +26,7 @@ | |||
| 26 | * along with this program; if not, write to the Free Software | 26 | * along with this program; if not, write to the Free Software |
| 27 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 27 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| 28 | * | 28 | * |
| 29 | * Send feedback to <t-kochi@bq.jp.nec.com> | 29 | * Send feedback to <kristen.c.accardi@intel.com> |
| 30 | * | 30 | * |
| 31 | */ | 31 | */ |
| 32 | 32 | ||
diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c index 50bfc1b2f3bf..478d0d28f7ad 100644 --- a/drivers/pci/pcie/portdrv_pci.c +++ b/drivers/pci/pcie/portdrv_pci.c | |||
| @@ -30,23 +30,6 @@ MODULE_LICENSE("GPL"); | |||
| 30 | /* global data */ | 30 | /* global data */ |
| 31 | static const char device_name[] = "pcieport-driver"; | 31 | static const char device_name[] = "pcieport-driver"; |
| 32 | 32 | ||
| 33 | static int pcie_portdrv_save_config(struct pci_dev *dev) | ||
| 34 | { | ||
| 35 | return pci_save_state(dev); | ||
| 36 | } | ||
| 37 | |||
| 38 | static int pcie_portdrv_restore_config(struct pci_dev *dev) | ||
| 39 | { | ||
| 40 | int retval; | ||
| 41 | |||
| 42 | pci_restore_state(dev); | ||
| 43 | retval = pci_enable_device(dev); | ||
| 44 | if (retval) | ||
| 45 | return retval; | ||
| 46 | pci_set_master(dev); | ||
| 47 | return 0; | ||
| 48 | } | ||
| 49 | |||
| 50 | /* | 33 | /* |
| 51 | * pcie_portdrv_probe - Probe PCI-Express port devices | 34 | * pcie_portdrv_probe - Probe PCI-Express port devices |
| 52 | * @dev: PCI-Express port device being probed | 35 | * @dev: PCI-Express port device being probed |
| @@ -73,8 +56,10 @@ static int __devinit pcie_portdrv_probe (struct pci_dev *dev, | |||
| 73 | "%s->Dev[%04x:%04x] has invalid IRQ. Check vendor BIOS\n", | 56 | "%s->Dev[%04x:%04x] has invalid IRQ. Check vendor BIOS\n", |
| 74 | __FUNCTION__, dev->device, dev->vendor); | 57 | __FUNCTION__, dev->device, dev->vendor); |
| 75 | } | 58 | } |
| 76 | if (pcie_port_device_register(dev)) | 59 | if (pcie_port_device_register(dev)) { |
| 60 | pci_disable_device(dev); | ||
| 77 | return -ENOMEM; | 61 | return -ENOMEM; |
| 62 | } | ||
| 78 | 63 | ||
| 79 | return 0; | 64 | return 0; |
| 80 | } | 65 | } |
| @@ -86,6 +71,23 @@ static void pcie_portdrv_remove (struct pci_dev *dev) | |||
| 86 | } | 71 | } |
| 87 | 72 | ||
| 88 | #ifdef CONFIG_PM | 73 | #ifdef CONFIG_PM |
| 74 | static int pcie_portdrv_save_config(struct pci_dev *dev) | ||
| 75 | { | ||
| 76 | return pci_save_state(dev); | ||
| 77 | } | ||
| 78 | |||
| 79 | static int pcie_portdrv_restore_config(struct pci_dev *dev) | ||
| 80 | { | ||
| 81 | int retval; | ||
| 82 | |||
| 83 | pci_restore_state(dev); | ||
| 84 | retval = pci_enable_device(dev); | ||
| 85 | if (retval) | ||
| 86 | return retval; | ||
| 87 | pci_set_master(dev); | ||
| 88 | return 0; | ||
| 89 | } | ||
| 90 | |||
| 89 | static int pcie_portdrv_suspend (struct pci_dev *dev, pm_message_t state) | 91 | static int pcie_portdrv_suspend (struct pci_dev *dev, pm_message_t state) |
| 90 | { | 92 | { |
| 91 | int ret = pcie_port_device_suspend(dev, state); | 93 | int ret = pcie_port_device_suspend(dev, state); |
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index e3c78c39b7e4..fb08bc951ac0 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
| @@ -990,6 +990,11 @@ static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev) | |||
| 990 | case 0x8070: /* P4G8X Deluxe */ | 990 | case 0x8070: /* P4G8X Deluxe */ |
| 991 | asus_hides_smbus = 1; | 991 | asus_hides_smbus = 1; |
| 992 | } | 992 | } |
| 993 | if (dev->device == PCI_DEVICE_ID_INTEL_E7501_MCH) | ||
| 994 | switch (dev->subsystem_device) { | ||
| 995 | case 0x80c9: /* PU-DLS */ | ||
| 996 | asus_hides_smbus = 1; | ||
| 997 | } | ||
| 993 | if (dev->device == PCI_DEVICE_ID_INTEL_82855GM_HB) | 998 | if (dev->device == PCI_DEVICE_ID_INTEL_82855GM_HB) |
| 994 | switch (dev->subsystem_device) { | 999 | switch (dev->subsystem_device) { |
| 995 | case 0x1751: /* M2N notebook */ | 1000 | case 0x1751: /* M2N notebook */ |
| @@ -1058,6 +1063,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82845G_HB, asu | |||
| 1058 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82850_HB, asus_hides_smbus_hostbridge ); | 1063 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82850_HB, asus_hides_smbus_hostbridge ); |
| 1059 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82865_HB, asus_hides_smbus_hostbridge ); | 1064 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82865_HB, asus_hides_smbus_hostbridge ); |
| 1060 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_7205_0, asus_hides_smbus_hostbridge ); | 1065 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_7205_0, asus_hides_smbus_hostbridge ); |
| 1066 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7501_MCH, asus_hides_smbus_hostbridge ); | ||
| 1061 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82855PM_HB, asus_hides_smbus_hostbridge ); | 1067 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82855PM_HB, asus_hides_smbus_hostbridge ); |
| 1062 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82855GM_HB, asus_hides_smbus_hostbridge ); | 1068 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82855GM_HB, asus_hides_smbus_hostbridge ); |
| 1063 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82915GM_HB, asus_hides_smbus_hostbridge ); | 1069 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82915GM_HB, asus_hides_smbus_hostbridge ); |
| @@ -1081,6 +1087,7 @@ static void __init asus_hides_smbus_lpc(struct pci_dev *dev) | |||
| 1081 | } | 1087 | } |
| 1082 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, asus_hides_smbus_lpc ); | 1088 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, asus_hides_smbus_lpc ); |
| 1083 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, asus_hides_smbus_lpc ); | 1089 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, asus_hides_smbus_lpc ); |
| 1090 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0, asus_hides_smbus_lpc ); | ||
| 1084 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_12, asus_hides_smbus_lpc ); | 1091 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_12, asus_hides_smbus_lpc ); |
| 1085 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12, asus_hides_smbus_lpc ); | 1092 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12, asus_hides_smbus_lpc ); |
| 1086 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, asus_hides_smbus_lpc ); | 1093 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, asus_hides_smbus_lpc ); |
diff --git a/drivers/pci/search.c b/drivers/pci/search.c index f8ae2b7db0a7..d529462d1b53 100644 --- a/drivers/pci/search.c +++ b/drivers/pci/search.c | |||
| @@ -41,7 +41,7 @@ pci_do_find_bus(struct pci_bus* bus, unsigned char busnr) | |||
| 41 | * in the global list of PCI buses. If the bus is found, a pointer to its | 41 | * in the global list of PCI buses. If the bus is found, a pointer to its |
| 42 | * data structure is returned. If no bus is found, %NULL is returned. | 42 | * data structure is returned. If no bus is found, %NULL is returned. |
| 43 | */ | 43 | */ |
| 44 | struct pci_bus * __devinit pci_find_bus(int domain, int busnr) | 44 | struct pci_bus * pci_find_bus(int domain, int busnr) |
| 45 | { | 45 | { |
| 46 | struct pci_bus *bus = NULL; | 46 | struct pci_bus *bus = NULL; |
| 47 | struct pci_bus *tmp_bus; | 47 | struct pci_bus *tmp_bus; |
diff --git a/drivers/pnp/interface.c b/drivers/pnp/interface.c index 3163e3d73da1..9d8b415eca79 100644 --- a/drivers/pnp/interface.c +++ b/drivers/pnp/interface.c | |||
| @@ -265,8 +265,8 @@ static ssize_t pnp_show_current_resources(struct device *dmdev, struct device_at | |||
| 265 | pnp_printf(buffer," disabled\n"); | 265 | pnp_printf(buffer," disabled\n"); |
| 266 | else | 266 | else |
| 267 | pnp_printf(buffer," 0x%llx-0x%llx\n", | 267 | pnp_printf(buffer," 0x%llx-0x%llx\n", |
| 268 | pnp_port_start(dev, i), | 268 | (unsigned long long)pnp_port_start(dev, i), |
| 269 | pnp_port_end(dev, i)); | 269 | (unsigned long long)pnp_port_end(dev, i)); |
| 270 | } | 270 | } |
| 271 | } | 271 | } |
| 272 | for (i = 0; i < PNP_MAX_MEM; i++) { | 272 | for (i = 0; i < PNP_MAX_MEM; i++) { |
| @@ -276,8 +276,8 @@ static ssize_t pnp_show_current_resources(struct device *dmdev, struct device_at | |||
| 276 | pnp_printf(buffer," disabled\n"); | 276 | pnp_printf(buffer," disabled\n"); |
| 277 | else | 277 | else |
| 278 | pnp_printf(buffer," 0x%llx-0x%llx\n", | 278 | pnp_printf(buffer," 0x%llx-0x%llx\n", |
| 279 | pnp_mem_start(dev, i), | 279 | (unsigned long long)pnp_mem_start(dev, i), |
| 280 | pnp_mem_end(dev, i)); | 280 | (unsigned long long)pnp_mem_end(dev, i)); |
| 281 | } | 281 | } |
| 282 | } | 282 | } |
| 283 | for (i = 0; i < PNP_MAX_IRQ; i++) { | 283 | for (i = 0; i < PNP_MAX_IRQ; i++) { |
| @@ -287,7 +287,7 @@ static ssize_t pnp_show_current_resources(struct device *dmdev, struct device_at | |||
| 287 | pnp_printf(buffer," disabled\n"); | 287 | pnp_printf(buffer," disabled\n"); |
| 288 | else | 288 | else |
| 289 | pnp_printf(buffer," %lld\n", | 289 | pnp_printf(buffer," %lld\n", |
| 290 | pnp_irq(dev, i)); | 290 | (unsigned long long)pnp_irq(dev, i)); |
| 291 | } | 291 | } |
| 292 | } | 292 | } |
| 293 | for (i = 0; i < PNP_MAX_DMA; i++) { | 293 | for (i = 0; i < PNP_MAX_DMA; i++) { |
| @@ -297,7 +297,7 @@ static ssize_t pnp_show_current_resources(struct device *dmdev, struct device_at | |||
| 297 | pnp_printf(buffer," disabled\n"); | 297 | pnp_printf(buffer," disabled\n"); |
| 298 | else | 298 | else |
| 299 | pnp_printf(buffer," %lld\n", | 299 | pnp_printf(buffer," %lld\n", |
| 300 | pnp_dma(dev, i)); | 300 | (unsigned long long)pnp_dma(dev, i)); |
| 301 | } | 301 | } |
| 302 | } | 302 | } |
| 303 | ret = (buffer->curr - buf); | 303 | ret = (buffer->curr - buf); |
diff --git a/include/asm-ia64/meminit.h b/include/asm-ia64/meminit.h index 894bc4d89dc0..6a33a07b3f1d 100644 --- a/include/asm-ia64/meminit.h +++ b/include/asm-ia64/meminit.h | |||
| @@ -56,6 +56,11 @@ extern void efi_memmap_init(unsigned long *, unsigned long *); | |||
| 56 | extern struct page *vmem_map; | 56 | extern struct page *vmem_map; |
| 57 | extern int find_largest_hole (u64 start, u64 end, void *arg); | 57 | extern int find_largest_hole (u64 start, u64 end, void *arg); |
| 58 | extern int create_mem_map_page_table (u64 start, u64 end, void *arg); | 58 | extern int create_mem_map_page_table (u64 start, u64 end, void *arg); |
| 59 | extern int vmemmap_find_next_valid_pfn(int, int); | ||
| 60 | #else | ||
| 61 | static inline int vmemmap_find_next_valid_pfn(int node, int i) | ||
| 62 | { | ||
| 63 | return i + 1; | ||
| 64 | } | ||
| 59 | #endif | 65 | #endif |
| 60 | |||
| 61 | #endif /* meminit_h */ | 66 | #endif /* meminit_h */ |
diff --git a/include/asm-ia64/pal.h b/include/asm-ia64/pal.h index 37e52a2836b0..20a8d618c845 100644 --- a/include/asm-ia64/pal.h +++ b/include/asm-ia64/pal.h | |||
| @@ -1433,7 +1433,12 @@ typedef union pal_version_u { | |||
| 1433 | } pal_version_u_t; | 1433 | } pal_version_u_t; |
| 1434 | 1434 | ||
| 1435 | 1435 | ||
| 1436 | /* Return PAL version information */ | 1436 | /* |
| 1437 | * Return PAL version information. While the documentation states that | ||
| 1438 | * PAL_VERSION can be called in either physical or virtual mode, some | ||
| 1439 | * implementations only allow physical calls. We don't call it very often, | ||
| 1440 | * so the overhead isn't worth eliminating. | ||
| 1441 | */ | ||
| 1437 | static inline s64 | 1442 | static inline s64 |
| 1438 | ia64_pal_version (pal_version_u_t *pal_min_version, pal_version_u_t *pal_cur_version) | 1443 | ia64_pal_version (pal_version_u_t *pal_min_version, pal_version_u_t *pal_cur_version) |
| 1439 | { | 1444 | { |
diff --git a/include/asm-ia64/sn/xpc.h b/include/asm-ia64/sn/xpc.h index 8406f1ef4caf..b72af597878d 100644 --- a/include/asm-ia64/sn/xpc.h +++ b/include/asm-ia64/sn/xpc.h | |||
| @@ -1124,8 +1124,8 @@ xpc_notify_IRQ_send_local(struct xpc_channel *ch, u8 ipi_flag, | |||
| 1124 | #define XPC_GET_IPI_FLAGS(_amo, _c) ((u8) (((_amo) >> ((_c) * 8)) & 0xff)) | 1124 | #define XPC_GET_IPI_FLAGS(_amo, _c) ((u8) (((_amo) >> ((_c) * 8)) & 0xff)) |
| 1125 | #define XPC_SET_IPI_FLAGS(_amo, _c, _f) (_amo) |= ((u64) (_f) << ((_c) * 8)) | 1125 | #define XPC_SET_IPI_FLAGS(_amo, _c, _f) (_amo) |= ((u64) (_f) << ((_c) * 8)) |
| 1126 | 1126 | ||
| 1127 | #define XPC_ANY_OPENCLOSE_IPI_FLAGS_SET(_amo) ((_amo) & 0x0f0f0f0f0f0f0f0f) | 1127 | #define XPC_ANY_OPENCLOSE_IPI_FLAGS_SET(_amo) ((_amo) & __IA64_UL_CONST(0x0f0f0f0f0f0f0f0f)) |
| 1128 | #define XPC_ANY_MSG_IPI_FLAGS_SET(_amo) ((_amo) & 0x1010101010101010) | 1128 | #define XPC_ANY_MSG_IPI_FLAGS_SET(_amo) ((_amo) & __IA64_UL_CONST(0x1010101010101010)) |
| 1129 | 1129 | ||
| 1130 | 1130 | ||
| 1131 | static inline void | 1131 | static inline void |
diff --git a/include/asm-ia64/system.h b/include/asm-ia64/system.h index fc9677bc87ee..384fbf7f2a0f 100644 --- a/include/asm-ia64/system.h +++ b/include/asm-ia64/system.h | |||
| @@ -24,7 +24,7 @@ | |||
| 24 | * 0xa000000000000000+2*PERCPU_PAGE_SIZE | 24 | * 0xa000000000000000+2*PERCPU_PAGE_SIZE |
| 25 | * - 0xa000000000000000+3*PERCPU_PAGE_SIZE remain unmapped (guard page) | 25 | * - 0xa000000000000000+3*PERCPU_PAGE_SIZE remain unmapped (guard page) |
| 26 | */ | 26 | */ |
| 27 | #define KERNEL_START (GATE_ADDR+0x100000000) | 27 | #define KERNEL_START (GATE_ADDR+__IA64_UL_CONST(0x100000000)) |
| 28 | #define PERCPU_ADDR (-PERCPU_PAGE_SIZE) | 28 | #define PERCPU_ADDR (-PERCPU_PAGE_SIZE) |
| 29 | 29 | ||
| 30 | #ifndef __ASSEMBLY__ | 30 | #ifndef __ASSEMBLY__ |
diff --git a/include/linux/kobject.h b/include/linux/kobject.h index 0503b2ed8bae..2d229327959e 100644 --- a/include/linux/kobject.h +++ b/include/linux/kobject.h | |||
| @@ -46,8 +46,6 @@ enum kobject_action { | |||
| 46 | KOBJ_UMOUNT = (__force kobject_action_t) 0x05, /* umount event for block devices (broken) */ | 46 | KOBJ_UMOUNT = (__force kobject_action_t) 0x05, /* umount event for block devices (broken) */ |
| 47 | KOBJ_OFFLINE = (__force kobject_action_t) 0x06, /* device offline */ | 47 | KOBJ_OFFLINE = (__force kobject_action_t) 0x06, /* device offline */ |
| 48 | KOBJ_ONLINE = (__force kobject_action_t) 0x07, /* device online */ | 48 | KOBJ_ONLINE = (__force kobject_action_t) 0x07, /* device online */ |
| 49 | KOBJ_UNDOCK = (__force kobject_action_t) 0x08, /* undocking */ | ||
| 50 | KOBJ_DOCK = (__force kobject_action_t) 0x09, /* dock */ | ||
| 51 | }; | 49 | }; |
| 52 | 50 | ||
| 53 | struct kobject { | 51 | struct kobject { |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index c09396d2c77b..4eae06b08cf2 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
| @@ -2142,6 +2142,7 @@ | |||
| 2142 | #define PCI_DEVICE_ID_INTEL_82820_UP_HB 0x2501 | 2142 | #define PCI_DEVICE_ID_INTEL_82820_UP_HB 0x2501 |
| 2143 | #define PCI_DEVICE_ID_INTEL_82850_HB 0x2530 | 2143 | #define PCI_DEVICE_ID_INTEL_82850_HB 0x2530 |
| 2144 | #define PCI_DEVICE_ID_INTEL_82860_HB 0x2531 | 2144 | #define PCI_DEVICE_ID_INTEL_82860_HB 0x2531 |
| 2145 | #define PCI_DEVICE_ID_INTEL_E7501_MCH 0x254c | ||
| 2145 | #define PCI_DEVICE_ID_INTEL_82845G_HB 0x2560 | 2146 | #define PCI_DEVICE_ID_INTEL_82845G_HB 0x2560 |
| 2146 | #define PCI_DEVICE_ID_INTEL_82845G_IG 0x2562 | 2147 | #define PCI_DEVICE_ID_INTEL_82845G_IG 0x2562 |
| 2147 | #define PCI_DEVICE_ID_INTEL_82865_HB 0x2570 | 2148 | #define PCI_DEVICE_ID_INTEL_82865_HB 0x2570 |
diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c index 2b1530fc573b..7f20e7b857cb 100644 --- a/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c | |||
| @@ -50,10 +50,6 @@ static char *action_to_string(enum kobject_action action) | |||
| 50 | return "offline"; | 50 | return "offline"; |
| 51 | case KOBJ_ONLINE: | 51 | case KOBJ_ONLINE: |
| 52 | return "online"; | 52 | return "online"; |
| 53 | case KOBJ_DOCK: | ||
| 54 | return "dock"; | ||
| 55 | case KOBJ_UNDOCK: | ||
| 56 | return "undock"; | ||
| 57 | default: | 53 | default: |
| 58 | return NULL; | 54 | return NULL; |
| 59 | } | 55 | } |
