diff options
| author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2009-09-21 05:09:22 -0400 |
|---|---|---|
| committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2009-09-21 05:09:22 -0400 |
| commit | 7cce2f4cb7f5f641f78c8e3eea4e7b1b96cb71c0 (patch) | |
| tree | b064d077928cf224660ab1e1841cdab2c9fd8b08 /include/asm-generic | |
| parent | e055f7e873d900925c222cf2d1ec955af4a9ca90 (diff) | |
| parent | ebc79c4f8da0f92efa968e0328f32334a2ce80cf (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into linux-next
Conflicts:
fs/ubifs/super.c
Merge the upstream tree in order to resolve a conflict with the
per-bdi writeback changes from the linux-2.6-block tree.
Diffstat (limited to 'include/asm-generic')
| -rw-r--r-- | include/asm-generic/4level-fixup.h | 4 | ||||
| -rw-r--r-- | include/asm-generic/Kbuild.asm | 5 | ||||
| -rw-r--r-- | include/asm-generic/device.h | 3 | ||||
| -rw-r--r-- | include/asm-generic/dma-mapping-common.h | 6 | ||||
| -rw-r--r-- | include/asm-generic/pci.h | 13 | ||||
| -rw-r--r-- | include/asm-generic/percpu.h | 3 | ||||
| -rw-r--r-- | include/asm-generic/pgtable-nopmd.h | 2 | ||||
| -rw-r--r-- | include/asm-generic/pgtable-nopud.h | 2 | ||||
| -rw-r--r-- | include/asm-generic/socket.h | 3 | ||||
| -rw-r--r-- | include/asm-generic/tlb.h | 12 | ||||
| -rw-r--r-- | include/asm-generic/vmlinux.lds.h | 29 |
11 files changed, 58 insertions, 24 deletions
diff --git a/include/asm-generic/4level-fixup.h b/include/asm-generic/4level-fixup.h index 9d40e879f99e..77ff547730af 100644 --- a/include/asm-generic/4level-fixup.h +++ b/include/asm-generic/4level-fixup.h | |||
| @@ -27,9 +27,9 @@ | |||
| 27 | #define pud_page_vaddr(pud) pgd_page_vaddr(pud) | 27 | #define pud_page_vaddr(pud) pgd_page_vaddr(pud) |
| 28 | 28 | ||
| 29 | #undef pud_free_tlb | 29 | #undef pud_free_tlb |
| 30 | #define pud_free_tlb(tlb, x) do { } while (0) | 30 | #define pud_free_tlb(tlb, x, addr) do { } while (0) |
| 31 | #define pud_free(mm, x) do { } while (0) | 31 | #define pud_free(mm, x) do { } while (0) |
| 32 | #define __pud_free_tlb(tlb, x) do { } while (0) | 32 | #define __pud_free_tlb(tlb, x, addr) do { } while (0) |
| 33 | 33 | ||
| 34 | #undef pud_addr_end | 34 | #undef pud_addr_end |
| 35 | #define pud_addr_end(addr, end) (end) | 35 | #define pud_addr_end(addr, end) (end) |
diff --git a/include/asm-generic/Kbuild.asm b/include/asm-generic/Kbuild.asm index 290910e4ede4..96d7c9804dc1 100644 --- a/include/asm-generic/Kbuild.asm +++ b/include/asm-generic/Kbuild.asm | |||
| @@ -3,6 +3,11 @@ ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm.h \ | |||
| 3 | header-y += kvm.h | 3 | header-y += kvm.h |
| 4 | endif | 4 | endif |
| 5 | 5 | ||
| 6 | ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm_para.h \ | ||
| 7 | $(srctree)/include/asm-$(SRCARCH)/kvm_para.h),) | ||
| 8 | header-y += kvm_para.h | ||
| 9 | endif | ||
| 10 | |||
| 6 | ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \ | 11 | ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/a.out.h \ |
| 7 | $(srctree)/include/asm-$(SRCARCH)/a.out.h),) | 12 | $(srctree)/include/asm-$(SRCARCH)/a.out.h),) |
| 8 | unifdef-y += a.out.h | 13 | unifdef-y += a.out.h |
diff --git a/include/asm-generic/device.h b/include/asm-generic/device.h index c17c9600f220..d7c76bba640d 100644 --- a/include/asm-generic/device.h +++ b/include/asm-generic/device.h | |||
| @@ -9,4 +9,7 @@ | |||
| 9 | struct dev_archdata { | 9 | struct dev_archdata { |
| 10 | }; | 10 | }; |
| 11 | 11 | ||
| 12 | struct pdev_archdata { | ||
| 13 | }; | ||
| 14 | |||
| 12 | #endif /* _ASM_GENERIC_DEVICE_H */ | 15 | #endif /* _ASM_GENERIC_DEVICE_H */ |
diff --git a/include/asm-generic/dma-mapping-common.h b/include/asm-generic/dma-mapping-common.h index 5406a601185c..e694263445f7 100644 --- a/include/asm-generic/dma-mapping-common.h +++ b/include/asm-generic/dma-mapping-common.h | |||
| @@ -103,7 +103,6 @@ static inline void dma_sync_single_for_cpu(struct device *dev, dma_addr_t addr, | |||
| 103 | if (ops->sync_single_for_cpu) | 103 | if (ops->sync_single_for_cpu) |
| 104 | ops->sync_single_for_cpu(dev, addr, size, dir); | 104 | ops->sync_single_for_cpu(dev, addr, size, dir); |
| 105 | debug_dma_sync_single_for_cpu(dev, addr, size, dir); | 105 | debug_dma_sync_single_for_cpu(dev, addr, size, dir); |
| 106 | flush_write_buffers(); | ||
| 107 | } | 106 | } |
| 108 | 107 | ||
| 109 | static inline void dma_sync_single_for_device(struct device *dev, | 108 | static inline void dma_sync_single_for_device(struct device *dev, |
| @@ -116,7 +115,6 @@ static inline void dma_sync_single_for_device(struct device *dev, | |||
| 116 | if (ops->sync_single_for_device) | 115 | if (ops->sync_single_for_device) |
| 117 | ops->sync_single_for_device(dev, addr, size, dir); | 116 | ops->sync_single_for_device(dev, addr, size, dir); |
| 118 | debug_dma_sync_single_for_device(dev, addr, size, dir); | 117 | debug_dma_sync_single_for_device(dev, addr, size, dir); |
| 119 | flush_write_buffers(); | ||
| 120 | } | 118 | } |
| 121 | 119 | ||
| 122 | static inline void dma_sync_single_range_for_cpu(struct device *dev, | 120 | static inline void dma_sync_single_range_for_cpu(struct device *dev, |
| @@ -132,7 +130,6 @@ static inline void dma_sync_single_range_for_cpu(struct device *dev, | |||
| 132 | ops->sync_single_range_for_cpu(dev, addr, offset, size, dir); | 130 | ops->sync_single_range_for_cpu(dev, addr, offset, size, dir); |
| 133 | debug_dma_sync_single_range_for_cpu(dev, addr, offset, size, dir); | 131 | debug_dma_sync_single_range_for_cpu(dev, addr, offset, size, dir); |
| 134 | 132 | ||
| 135 | flush_write_buffers(); | ||
| 136 | } else | 133 | } else |
| 137 | dma_sync_single_for_cpu(dev, addr, size, dir); | 134 | dma_sync_single_for_cpu(dev, addr, size, dir); |
| 138 | } | 135 | } |
| @@ -150,7 +147,6 @@ static inline void dma_sync_single_range_for_device(struct device *dev, | |||
| 150 | ops->sync_single_range_for_device(dev, addr, offset, size, dir); | 147 | ops->sync_single_range_for_device(dev, addr, offset, size, dir); |
| 151 | debug_dma_sync_single_range_for_device(dev, addr, offset, size, dir); | 148 | debug_dma_sync_single_range_for_device(dev, addr, offset, size, dir); |
| 152 | 149 | ||
| 153 | flush_write_buffers(); | ||
| 154 | } else | 150 | } else |
| 155 | dma_sync_single_for_device(dev, addr, size, dir); | 151 | dma_sync_single_for_device(dev, addr, size, dir); |
| 156 | } | 152 | } |
| @@ -165,7 +161,6 @@ dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, | |||
| 165 | if (ops->sync_sg_for_cpu) | 161 | if (ops->sync_sg_for_cpu) |
| 166 | ops->sync_sg_for_cpu(dev, sg, nelems, dir); | 162 | ops->sync_sg_for_cpu(dev, sg, nelems, dir); |
| 167 | debug_dma_sync_sg_for_cpu(dev, sg, nelems, dir); | 163 | debug_dma_sync_sg_for_cpu(dev, sg, nelems, dir); |
| 168 | flush_write_buffers(); | ||
| 169 | } | 164 | } |
| 170 | 165 | ||
| 171 | static inline void | 166 | static inline void |
| @@ -179,7 +174,6 @@ dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, | |||
| 179 | ops->sync_sg_for_device(dev, sg, nelems, dir); | 174 | ops->sync_sg_for_device(dev, sg, nelems, dir); |
| 180 | debug_dma_sync_sg_for_device(dev, sg, nelems, dir); | 175 | debug_dma_sync_sg_for_device(dev, sg, nelems, dir); |
| 181 | 176 | ||
| 182 | flush_write_buffers(); | ||
| 183 | } | 177 | } |
| 184 | 178 | ||
| 185 | #define dma_map_single(d, a, s, r) dma_map_single_attrs(d, a, s, r, NULL) | 179 | #define dma_map_single(d, a, s, r) dma_map_single_attrs(d, a, s, r, NULL) |
diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h index b4326b5466eb..26373cff4546 100644 --- a/include/asm-generic/pci.h +++ b/include/asm-generic/pci.h | |||
| @@ -30,7 +30,18 @@ pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, | |||
| 30 | res->end = region->end; | 30 | res->end = region->end; |
| 31 | } | 31 | } |
| 32 | 32 | ||
| 33 | #define pcibios_scan_all_fns(a, b) 0 | 33 | static inline struct resource * |
| 34 | pcibios_select_root(struct pci_dev *pdev, struct resource *res) | ||
| 35 | { | ||
| 36 | struct resource *root = NULL; | ||
| 37 | |||
| 38 | if (res->flags & IORESOURCE_IO) | ||
| 39 | root = &ioport_resource; | ||
| 40 | if (res->flags & IORESOURCE_MEM) | ||
| 41 | root = &iomem_resource; | ||
| 42 | |||
| 43 | return root; | ||
| 44 | } | ||
| 34 | 45 | ||
| 35 | #ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ | 46 | #ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ |
| 36 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) | 47 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) |
diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h index aa00800adacc..90079c373f1c 100644 --- a/include/asm-generic/percpu.h +++ b/include/asm-generic/percpu.h | |||
| @@ -81,14 +81,17 @@ extern void setup_per_cpu_areas(void); | |||
| 81 | 81 | ||
| 82 | #ifdef MODULE | 82 | #ifdef MODULE |
| 83 | #define PER_CPU_SHARED_ALIGNED_SECTION "" | 83 | #define PER_CPU_SHARED_ALIGNED_SECTION "" |
| 84 | #define PER_CPU_ALIGNED_SECTION "" | ||
| 84 | #else | 85 | #else |
| 85 | #define PER_CPU_SHARED_ALIGNED_SECTION ".shared_aligned" | 86 | #define PER_CPU_SHARED_ALIGNED_SECTION ".shared_aligned" |
| 87 | #define PER_CPU_ALIGNED_SECTION ".shared_aligned" | ||
| 86 | #endif | 88 | #endif |
| 87 | #define PER_CPU_FIRST_SECTION ".first" | 89 | #define PER_CPU_FIRST_SECTION ".first" |
| 88 | 90 | ||
| 89 | #else | 91 | #else |
| 90 | 92 | ||
| 91 | #define PER_CPU_SHARED_ALIGNED_SECTION "" | 93 | #define PER_CPU_SHARED_ALIGNED_SECTION "" |
| 94 | #define PER_CPU_ALIGNED_SECTION ".shared_aligned" | ||
| 92 | #define PER_CPU_FIRST_SECTION "" | 95 | #define PER_CPU_FIRST_SECTION "" |
| 93 | 96 | ||
| 94 | #endif | 97 | #endif |
diff --git a/include/asm-generic/pgtable-nopmd.h b/include/asm-generic/pgtable-nopmd.h index a7cdc48e8b78..725612b793ce 100644 --- a/include/asm-generic/pgtable-nopmd.h +++ b/include/asm-generic/pgtable-nopmd.h | |||
| @@ -59,7 +59,7 @@ static inline pmd_t * pmd_offset(pud_t * pud, unsigned long address) | |||
| 59 | static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) | 59 | static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) |
| 60 | { | 60 | { |
| 61 | } | 61 | } |
| 62 | #define __pmd_free_tlb(tlb, x) do { } while (0) | 62 | #define __pmd_free_tlb(tlb, x, a) do { } while (0) |
| 63 | 63 | ||
| 64 | #undef pmd_addr_end | 64 | #undef pmd_addr_end |
| 65 | #define pmd_addr_end(addr, end) (end) | 65 | #define pmd_addr_end(addr, end) (end) |
diff --git a/include/asm-generic/pgtable-nopud.h b/include/asm-generic/pgtable-nopud.h index 87cf449a6df3..810431d8351b 100644 --- a/include/asm-generic/pgtable-nopud.h +++ b/include/asm-generic/pgtable-nopud.h | |||
| @@ -52,7 +52,7 @@ static inline pud_t * pud_offset(pgd_t * pgd, unsigned long address) | |||
| 52 | */ | 52 | */ |
| 53 | #define pud_alloc_one(mm, address) NULL | 53 | #define pud_alloc_one(mm, address) NULL |
| 54 | #define pud_free(mm, x) do { } while (0) | 54 | #define pud_free(mm, x) do { } while (0) |
| 55 | #define __pud_free_tlb(tlb, x) do { } while (0) | 55 | #define __pud_free_tlb(tlb, x, a) do { } while (0) |
| 56 | 56 | ||
| 57 | #undef pud_addr_end | 57 | #undef pud_addr_end |
| 58 | #define pud_addr_end(addr, end) (end) | 58 | #define pud_addr_end(addr, end) (end) |
diff --git a/include/asm-generic/socket.h b/include/asm-generic/socket.h index 5d79e409241c..538991cef6f0 100644 --- a/include/asm-generic/socket.h +++ b/include/asm-generic/socket.h | |||
| @@ -60,4 +60,7 @@ | |||
| 60 | #define SO_TIMESTAMPING 37 | 60 | #define SO_TIMESTAMPING 37 |
| 61 | #define SCM_TIMESTAMPING SO_TIMESTAMPING | 61 | #define SCM_TIMESTAMPING SO_TIMESTAMPING |
| 62 | 62 | ||
| 63 | #define SO_PROTOCOL 38 | ||
| 64 | #define SO_DOMAIN 39 | ||
| 65 | |||
| 63 | #endif /* __ASM_GENERIC_SOCKET_H */ | 66 | #endif /* __ASM_GENERIC_SOCKET_H */ |
diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index f490e43a90b9..e43f9766259f 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h | |||
| @@ -123,24 +123,24 @@ static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page) | |||
| 123 | __tlb_remove_tlb_entry(tlb, ptep, address); \ | 123 | __tlb_remove_tlb_entry(tlb, ptep, address); \ |
| 124 | } while (0) | 124 | } while (0) |
| 125 | 125 | ||
| 126 | #define pte_free_tlb(tlb, ptep) \ | 126 | #define pte_free_tlb(tlb, ptep, address) \ |
| 127 | do { \ | 127 | do { \ |
| 128 | tlb->need_flush = 1; \ | 128 | tlb->need_flush = 1; \ |
| 129 | __pte_free_tlb(tlb, ptep); \ | 129 | __pte_free_tlb(tlb, ptep, address); \ |
| 130 | } while (0) | 130 | } while (0) |
| 131 | 131 | ||
| 132 | #ifndef __ARCH_HAS_4LEVEL_HACK | 132 | #ifndef __ARCH_HAS_4LEVEL_HACK |
| 133 | #define pud_free_tlb(tlb, pudp) \ | 133 | #define pud_free_tlb(tlb, pudp, address) \ |
| 134 | do { \ | 134 | do { \ |
| 135 | tlb->need_flush = 1; \ | 135 | tlb->need_flush = 1; \ |
| 136 | __pud_free_tlb(tlb, pudp); \ | 136 | __pud_free_tlb(tlb, pudp, address); \ |
| 137 | } while (0) | 137 | } while (0) |
| 138 | #endif | 138 | #endif |
| 139 | 139 | ||
| 140 | #define pmd_free_tlb(tlb, pmdp) \ | 140 | #define pmd_free_tlb(tlb, pmdp, address) \ |
| 141 | do { \ | 141 | do { \ |
| 142 | tlb->need_flush = 1; \ | 142 | tlb->need_flush = 1; \ |
| 143 | __pmd_free_tlb(tlb, pmdp); \ | 143 | __pmd_free_tlb(tlb, pmdp, address); \ |
| 144 | } while (0) | 144 | } while (0) |
| 145 | 145 | ||
| 146 | #define tlb_migrate_finish(mm) do {} while (0) | 146 | #define tlb_migrate_finish(mm) do {} while (0) |
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 6ad76bf5fb40..29ca8f53ffbe 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h | |||
| @@ -33,13 +33,10 @@ | |||
| 33 | * BSS_SECTION(0, 0, 0) | 33 | * BSS_SECTION(0, 0, 0) |
| 34 | * _end = .; | 34 | * _end = .; |
| 35 | * | 35 | * |
| 36 | * /DISCARD/ : { | ||
| 37 | * EXIT_TEXT | ||
| 38 | * EXIT_DATA | ||
| 39 | * EXIT_CALL | ||
| 40 | * } | ||
| 41 | * STABS_DEBUG | 36 | * STABS_DEBUG |
| 42 | * DWARF_DEBUG | 37 | * DWARF_DEBUG |
| 38 | * | ||
| 39 | * DISCARDS // must be the last | ||
| 43 | * } | 40 | * } |
| 44 | * | 41 | * |
| 45 | * [__init_begin, __init_end] is the init section that may be freed after init | 42 | * [__init_begin, __init_end] is the init section that may be freed after init |
| @@ -91,7 +88,8 @@ | |||
| 91 | #endif | 88 | #endif |
| 92 | 89 | ||
| 93 | #ifdef CONFIG_FTRACE_MCOUNT_RECORD | 90 | #ifdef CONFIG_FTRACE_MCOUNT_RECORD |
| 94 | #define MCOUNT_REC() VMLINUX_SYMBOL(__start_mcount_loc) = .; \ | 91 | #define MCOUNT_REC() . = ALIGN(8); \ |
| 92 | VMLINUX_SYMBOL(__start_mcount_loc) = .; \ | ||
| 95 | *(__mcount_loc) \ | 93 | *(__mcount_loc) \ |
| 96 | VMLINUX_SYMBOL(__stop_mcount_loc) = .; | 94 | VMLINUX_SYMBOL(__stop_mcount_loc) = .; |
| 97 | #else | 95 | #else |
| @@ -331,7 +329,6 @@ | |||
| 331 | /* __*init sections */ \ | 329 | /* __*init sections */ \ |
| 332 | __init_rodata : AT(ADDR(__init_rodata) - LOAD_OFFSET) { \ | 330 | __init_rodata : AT(ADDR(__init_rodata) - LOAD_OFFSET) { \ |
| 333 | *(.ref.rodata) \ | 331 | *(.ref.rodata) \ |
| 334 | MCOUNT_REC() \ | ||
| 335 | DEV_KEEP(init.rodata) \ | 332 | DEV_KEEP(init.rodata) \ |
| 336 | DEV_KEEP(exit.rodata) \ | 333 | DEV_KEEP(exit.rodata) \ |
| 337 | CPU_KEEP(init.rodata) \ | 334 | CPU_KEEP(init.rodata) \ |
| @@ -455,6 +452,7 @@ | |||
| 455 | MEM_DISCARD(init.data) \ | 452 | MEM_DISCARD(init.data) \ |
| 456 | KERNEL_CTORS() \ | 453 | KERNEL_CTORS() \ |
| 457 | *(.init.rodata) \ | 454 | *(.init.rodata) \ |
| 455 | MCOUNT_REC() \ | ||
| 458 | DEV_DISCARD(init.rodata) \ | 456 | DEV_DISCARD(init.rodata) \ |
| 459 | CPU_DISCARD(init.rodata) \ | 457 | CPU_DISCARD(init.rodata) \ |
| 460 | MEM_DISCARD(init.rodata) | 458 | MEM_DISCARD(init.rodata) |
| @@ -626,6 +624,23 @@ | |||
| 626 | #define INIT_RAM_FS | 624 | #define INIT_RAM_FS |
| 627 | #endif | 625 | #endif |
| 628 | 626 | ||
| 627 | /* | ||
| 628 | * Default discarded sections. | ||
| 629 | * | ||
| 630 | * Some archs want to discard exit text/data at runtime rather than | ||
| 631 | * link time due to cross-section references such as alt instructions, | ||
| 632 | * bug table, eh_frame, etc. DISCARDS must be the last of output | ||
| 633 | * section definitions so that such archs put those in earlier section | ||
| 634 | * definitions. | ||
| 635 | */ | ||
| 636 | #define DISCARDS \ | ||
| 637 | /DISCARD/ : { \ | ||
| 638 | EXIT_TEXT \ | ||
| 639 | EXIT_DATA \ | ||
| 640 | EXIT_CALL \ | ||
| 641 | *(.discard) \ | ||
| 642 | } | ||
| 643 | |||
| 629 | /** | 644 | /** |
| 630 | * PERCPU_VADDR - define output section for percpu area | 645 | * PERCPU_VADDR - define output section for percpu area |
| 631 | * @vaddr: explicit base address (optional) | 646 | * @vaddr: explicit base address (optional) |
