summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndy Grover <agrover@groveronline.com>2003-02-04 19:22:39 -0800
committerAndy Grover <agrover@groveronline.com>2003-02-04 19:22:39 -0800
commit263cc27fa141984aed0e6de7474fc813449d02a3 (patch)
treeb22302cd0039b993cfba9adf39e33280912a8d9f /include
parenta9b3ee51be65cde06e65cb2915adb89751511623 (diff)
parentcf5ba9c8989c8451afd1364e46168c180efee124 (diff)
Merge groveronline.com:/root/bk/linux-2.5
into groveronline.com:/root/bk/linux-acpi
Diffstat (limited to 'include')
-rw-r--r--include/asm-alpha/core_irongate.h11
-rw-r--r--include/asm-alpha/elf.h66
-rw-r--r--include/asm-alpha/kmap_types.h4
-rw-r--r--include/asm-alpha/topology.h13
-rw-r--r--include/asm-generic/topology.h24
-rw-r--r--include/asm-generic/vmlinux.lds.h22
-rw-r--r--include/asm-i386/apicdef.h2
-rw-r--r--include/asm-i386/cpu.h2
-rw-r--r--include/asm-i386/kmap_types.h4
-rw-r--r--include/asm-i386/memblk.h2
-rw-r--r--include/asm-i386/mmzone.h42
-rw-r--r--include/asm-i386/node.h2
-rw-r--r--include/asm-i386/pgalloc.h8
-rw-r--r--include/asm-i386/pgtable-3level.h2
-rw-r--r--include/asm-i386/pgtable.h13
-rw-r--r--include/asm-i386/topology.h14
-rw-r--r--include/asm-i386/unistd.h2
-rw-r--r--include/asm-ia64/kmap_types.h4
-rw-r--r--include/asm-ia64/topology.h18
-rw-r--r--include/asm-mips64/topology.h2
-rw-r--r--include/asm-parisc/bitops.h9
-rw-r--r--include/asm-parisc/compat.h20
-rw-r--r--include/asm-parisc/dma-mapping.h2
-rw-r--r--include/asm-parisc/module.h8
-rw-r--r--include/asm-parisc/smp.h3
-rw-r--r--include/asm-ppc/kmap_types.h4
-rw-r--r--include/asm-ppc64/kmap_types.h4
-rw-r--r--include/asm-ppc64/topology.h13
-rw-r--r--include/asm-s390/kmap_types.h4
-rw-r--r--include/asm-sparc/delay.h1
-rw-r--r--include/asm-sparc/kmap_types.h4
-rw-r--r--include/asm-sparc64/delay.h14
-rw-r--r--include/asm-sparc64/kmap_types.h4
-rw-r--r--include/asm-x86_64/kmap_types.h4
-rw-r--r--include/linux/blkdev.h2
-rw-r--r--include/linux/crypto.h22
-rw-r--r--include/linux/elf.h168
-rw-r--r--include/linux/fadvise.h11
-rw-r--r--include/linux/fs.h4
-rw-r--r--include/linux/gfp.h23
-rw-r--r--include/linux/hugetlb.h1
-rw-r--r--include/linux/jiffies.h22
-rw-r--r--include/linux/mm.h7
-rw-r--r--include/linux/mmzone.h2
-rw-r--r--include/linux/module.h51
-rw-r--r--include/linux/page-flags.h5
-rw-r--r--include/linux/pci_ids.h6
-rw-r--r--include/linux/sched.h2
-rw-r--r--include/linux/slab.h3
-rw-r--r--include/linux/times.h23
-rw-r--r--include/linux/usb.h1
-rw-r--r--include/linux/xfrm.h1
-rw-r--r--include/net/route.h2
-rw-r--r--include/net/xfrm.h1
54 files changed, 513 insertions, 195 deletions
diff --git a/include/asm-alpha/core_irongate.h b/include/asm-alpha/core_irongate.h
index 4a4e6fa4c0e8..9b9a49feb51b 100644
--- a/include/asm-alpha/core_irongate.h
+++ b/include/asm-alpha/core_irongate.h
@@ -50,13 +50,14 @@ typedef struct {
igcsr32 bacsr10; /* 0x40 - base address chip selects */
igcsr32 bacsr32; /* 0x44 - base address chip selects */
- igcsr32 bacsr54; /* 0x48 - base address chip selects */
+ igcsr32 bacsr54_eccms761; /* 0x48 - 751: base addr. chip selects
+ 761: ECC, mode/status */
igcsr32 rsrvd2[1]; /* 0x4C-0x4F reserved */
igcsr32 drammap; /* 0x50 - address mapping control */
igcsr32 dramtm; /* 0x54 - timing, driver strength */
- igcsr32 dramms; /* 0x58 - ECC, mode/status */
+ igcsr32 dramms; /* 0x58 - DRAM mode/status */
igcsr32 rsrvd3[1]; /* 0x5C-0x5F reserved */
@@ -73,7 +74,10 @@ typedef struct {
igcsr32 pciarb; /* 0x84 - PCI arbitration control */
igcsr32 pcicfg; /* 0x88 - PCI config status */
- igcsr32 rsrvd6[5]; /* 0x8C-0x9F reserved */
+ igcsr32 rsrvd6[4]; /* 0x8C-0x9B reserved */
+
+ igcsr32 pci_mem; /* 0x9C - PCI top of memory,
+ 761 only */
/* AGP (bus 1) control registers */
igcsr32 agpcap; /* 0xA0 - AGP Capability Identifier */
@@ -102,6 +106,7 @@ typedef struct {
} Irongate1;
+extern igcsr32 *IronECC;
/*
* Memory spaces:
diff --git a/include/asm-alpha/elf.h b/include/asm-alpha/elf.h
index 9513f35aa8a1..033597e3e0ab 100644
--- a/include/asm-alpha/elf.h
+++ b/include/asm-alpha/elf.h
@@ -52,53 +52,25 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
#define ELF_PLAT_INIT(_r) _r->r0 = 0
-/* Use the same format as the OSF/1 procfs interface. The register
- layout is sane. However, since dump_thread() creates the funky
- layout that ECOFF coredumps want, we need to undo that layout here.
- Eventually, it would be nice if the ECOFF core-dump had to do the
- translation, then ELF_CORE_COPY_REGS() would become trivial and
- faster. */
-
-#define ELF_CORE_COPY_REGS(_dest,_regs) \
-{ \
- extern void dump_thread(struct pt_regs *, struct user *); \
- struct user _dump; \
- \
- dump_thread(_regs, &_dump); \
- _dest[ 0] = _dump.regs[EF_V0]; \
- _dest[ 1] = _dump.regs[EF_T0]; \
- _dest[ 2] = _dump.regs[EF_T1]; \
- _dest[ 3] = _dump.regs[EF_T2]; \
- _dest[ 4] = _dump.regs[EF_T3]; \
- _dest[ 5] = _dump.regs[EF_T4]; \
- _dest[ 6] = _dump.regs[EF_T5]; \
- _dest[ 7] = _dump.regs[EF_T6]; \
- _dest[ 8] = _dump.regs[EF_T7]; \
- _dest[ 9] = _dump.regs[EF_S0]; \
- _dest[10] = _dump.regs[EF_S1]; \
- _dest[11] = _dump.regs[EF_S2]; \
- _dest[12] = _dump.regs[EF_S3]; \
- _dest[13] = _dump.regs[EF_S4]; \
- _dest[14] = _dump.regs[EF_S5]; \
- _dest[15] = _dump.regs[EF_S6]; \
- _dest[16] = _dump.regs[EF_A0]; \
- _dest[17] = _dump.regs[EF_A1]; \
- _dest[18] = _dump.regs[EF_A2]; \
- _dest[19] = _dump.regs[EF_A3]; \
- _dest[20] = _dump.regs[EF_A4]; \
- _dest[21] = _dump.regs[EF_A5]; \
- _dest[22] = _dump.regs[EF_T8]; \
- _dest[23] = _dump.regs[EF_T9]; \
- _dest[24] = _dump.regs[EF_T10]; \
- _dest[25] = _dump.regs[EF_T11]; \
- _dest[26] = _dump.regs[EF_RA]; \
- _dest[27] = _dump.regs[EF_T12]; \
- _dest[28] = _dump.regs[EF_AT]; \
- _dest[29] = _dump.regs[EF_GP]; \
- _dest[30] = _dump.regs[EF_SP]; \
- _dest[31] = _dump.regs[EF_PC]; /* store PC here */ \
- _dest[32] = _dump.regs[EF_PS]; \
-}
+/* The registers are layed out in pt_regs for PAL and syscall
+ convenience. Re-order them for the linear elf_gregset_t. */
+
+extern void dump_elf_thread(elf_greg_t *dest, struct pt_regs *pt,
+ struct thread_info *ti);
+#define ELF_CORE_COPY_REGS(DEST, REGS) \
+ dump_elf_thread(DEST, REGS, current_thread_info());
+
+/* Similar, but for a thread other than current. */
+
+extern int dump_elf_task(elf_greg_t *dest, struct task_struct *task);
+#define ELF_CORE_COPY_TASK_REGS(TASK, DEST) \
+ dump_elf_task(*(DEST), TASK)
+
+/* Similar, but for the FP registers. */
+
+extern int dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task);
+#define ELF_CORE_COPY_FPREGS(TASK, DEST) \
+ dump_elf_task_fp(*(DEST), TASK)
/* This yields a mask that user programs can use to figure out what
instruction set this CPU supports. This is trivial on Alpha,
diff --git a/include/asm-alpha/kmap_types.h b/include/asm-alpha/kmap_types.h
index 10061ab1c9ad..e7e1f7c8d148 100644
--- a/include/asm-alpha/kmap_types.h
+++ b/include/asm-alpha/kmap_types.h
@@ -23,8 +23,8 @@ D(7) KM_PTE0,
D(8) KM_PTE1,
D(9) KM_IRQ0,
D(10) KM_IRQ1,
-D(11) KM_CRYPTO_USER,
-D(12) KM_CRYPTO_SOFTIRQ,
+D(11) KM_SOFTIRQ0,
+D(12) KM_SOFTIRQ1,
D(13) KM_TYPE_NR
};
diff --git a/include/asm-alpha/topology.h b/include/asm-alpha/topology.h
index 074daa9353ae..742b68802fd0 100644
--- a/include/asm-alpha/topology.h
+++ b/include/asm-alpha/topology.h
@@ -6,7 +6,7 @@
#include <asm/machvec.h>
#ifdef CONFIG_NUMA
-static inline int __cpu_to_node(int cpu)
+static inline int cpu_to_node(int cpu)
{
int node;
@@ -23,13 +23,13 @@ static inline int __cpu_to_node(int cpu)
return node;
}
-static inline int __node_to_cpu_mask(int node)
+static inline int node_to_cpumask(int node)
{
unsigned long node_cpu_mask = 0;
int cpu;
for(cpu = 0; cpu < NR_CPUS; cpu++) {
- if (cpu_online(cpu) && (__cpu_to_node(cpu) == node))
+ if (cpu_online(cpu) && (cpu_to_node(cpu) == node))
node_cpu_mask |= 1UL << cpu;
}
@@ -40,8 +40,11 @@ static inline int __node_to_cpu_mask(int node)
return node_cpu_mask;
}
-# define __node_to_memblk(node) (node)
-# define __memblk_to_node(memblk) (memblk)
+# define node_to_memblk(node) (node)
+# define memblk_to_node(memblk) (memblk)
+
+/* Cross-node load balancing interval. */
+# define NODE_BALANCE_RATE 10
#else /* CONFIG_NUMA */
# include <asm-generic/topology.h>
diff --git a/include/asm-generic/topology.h b/include/asm-generic/topology.h
index 990654bc86ec..955763b04857 100644
--- a/include/asm-generic/topology.h
+++ b/include/asm-generic/topology.h
@@ -29,23 +29,23 @@
/* Other architectures wishing to use this simple topology API should fill
in the below functions as appropriate in their own <asm/topology.h> file. */
-#ifndef __cpu_to_node
-#define __cpu_to_node(cpu) (0)
+#ifndef cpu_to_node
+#define cpu_to_node(cpu) (0)
#endif
-#ifndef __memblk_to_node
-#define __memblk_to_node(memblk) (0)
+#ifndef memblk_to_node
+#define memblk_to_node(memblk) (0)
#endif
-#ifndef __parent_node
-#define __parent_node(node) (0)
+#ifndef parent_node
+#define parent_node(node) (0)
#endif
-#ifndef __node_to_first_cpu
-#define __node_to_first_cpu(node) (0)
+#ifndef node_to_cpumask
+#define node_to_cpumask(node) (cpu_online_map)
#endif
-#ifndef __node_to_cpu_mask
-#define __node_to_cpu_mask(node) (cpu_online_map)
+#ifndef node_to_first_cpu
+#define node_to_first_cpu(node) (0)
#endif
-#ifndef __node_to_memblk
-#define __node_to_memblk(node) (0)
+#ifndef node_to_memblk
+#define node_to_memblk(node) (0)
#endif
/* Cross-node load balancing interval. */
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 7563b5730aaa..0f09f5b73a69 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -20,10 +20,24 @@
} \
\
/* Kernel symbol table: GPL-only symbols */ \
- __gpl_ksymtab : AT(ADDR(__gpl_ksymtab) - LOAD_OFFSET) { \
- __start___gpl_ksymtab = .; \
- *(__gpl_ksymtab) \
- __stop___gpl_ksymtab = .; \
+ __ksymtab_gpl : AT(ADDR(__ksymtab_gpl) - LOAD_OFFSET) { \
+ __start___ksymtab_gpl = .; \
+ *(__ksymtab_gpl) \
+ __stop___ksymtab_gpl = .; \
+ } \
+ \
+ /* Kernel symbol table: Normal symbols */ \
+ __kcrctab : AT(ADDR(__kcrctab) - LOAD_OFFSET) { \
+ __start___kcrctab = .; \
+ *(__kcrctab) \
+ __stop___kcrctab = .; \
+ } \
+ \
+ /* Kernel symbol table: GPL-only symbols */ \
+ __kcrctab_gpl : AT(ADDR(__kcrctab_gpl) - LOAD_OFFSET) { \
+ __start___kcrctab_gpl = .; \
+ *(__kcrctab_gpl) \
+ __stop___kcrctab_gpl = .; \
} \
\
/* Kernel symbol table: strings */ \
diff --git a/include/asm-i386/apicdef.h b/include/asm-i386/apicdef.h
index 47aa0c17c49a..485c1d8a8db5 100644
--- a/include/asm-i386/apicdef.h
+++ b/include/asm-i386/apicdef.h
@@ -115,7 +115,7 @@
#define APIC_BASE (fix_to_virt(FIX_APIC_BASE))
-#ifdef CONFIG_X86_NUMA
+#ifdef CONFIG_NUMA
#define MAX_IO_APICS 32
#else
#define MAX_IO_APICS 8
diff --git a/include/asm-i386/cpu.h b/include/asm-i386/cpu.h
index 50b1d4439a44..b2b79ebda49b 100644
--- a/include/asm-i386/cpu.h
+++ b/include/asm-i386/cpu.h
@@ -17,7 +17,7 @@ static inline int arch_register_cpu(int num){
struct node *parent = NULL;
#ifdef CONFIG_NUMA
- parent = &node_devices[__cpu_to_node(num)].node;
+ parent = &node_devices[cpu_to_node(num)].node;
#endif /* CONFIG_NUMA */
return register_cpu(&cpu_devices[num].cpu, num, parent);
diff --git a/include/asm-i386/kmap_types.h b/include/asm-i386/kmap_types.h
index 9ee55b1dea1f..dda910c4f1ba 100644
--- a/include/asm-i386/kmap_types.h
+++ b/include/asm-i386/kmap_types.h
@@ -22,8 +22,8 @@ D(8) KM_PTE1,
D(9) KM_PTE2,
D(10) KM_IRQ0,
D(11) KM_IRQ1,
-D(12) KM_CRYPTO_USER,
-D(13) KM_CRYPTO_SOFTIRQ,
+D(12) KM_SOFTIRQ0,
+D(13) KM_SOFTIRQ1,
D(14) KM_TYPE_NR
};
diff --git a/include/asm-i386/memblk.h b/include/asm-i386/memblk.h
index a3a23052a93a..bd8187e358bb 100644
--- a/include/asm-i386/memblk.h
+++ b/include/asm-i386/memblk.h
@@ -14,7 +14,7 @@ struct i386_memblk {
extern struct i386_memblk memblk_devices[MAX_NR_MEMBLKS];
static inline int arch_register_memblk(int num){
- int p_node = __memblk_to_node(num);
+ int p_node = memblk_to_node(num);
return register_memblk(&memblk_devices[num].memblk, num,
&node_devices[p_node].node);
diff --git a/include/asm-i386/mmzone.h b/include/asm-i386/mmzone.h
index 6d9f3cf88d66..eae3564e686f 100644
--- a/include/asm-i386/mmzone.h
+++ b/include/asm-i386/mmzone.h
@@ -57,25 +57,47 @@ extern struct pglist_data *node_data[];
#define node_mem_map(nid) (NODE_DATA(nid)->node_mem_map)
#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
-#define node_end_pfn(nid) (NODE_DATA(nid)->node_start_pfn + \
- NODE_DATA(nid)->node_size)
+#define node_end_pfn(nid) \
+({ \
+ pg_data_t *__pgdat = NODE_DATA(nid); \
+ __pgdat->node_start_pfn + __pgdat->node_size; \
+})
-#define local_mapnr(kvaddr) \
- ( (__pa(kvaddr) >> PAGE_SHIFT) - node_start_pfn(kvaddr_to_nid(kvaddr)) )
+#define local_mapnr(kvaddr) \
+({ \
+ unsigned long __pfn = __pa(kvaddr) >> PAGE_SHIFT; \
+ (__pfn - node_start_pfn(pfn_to_nid(__pfn))); \
+})
-#define kern_addr_valid(kaddr) test_bit(local_mapnr(kaddr), \
- NODE_DATA(kvaddr_to_nid(kaddr))->valid_addr_bitmap)
+#define kern_addr_valid(kaddr) \
+({ \
+ unsigned long __kaddr = (unsigned long)(kaddr); \
+ pg_data_t *__pgdat = NODE_DATA(kvaddr_to_nid(__kaddr)); \
+ test_bit(local_mapnr(__kaddr), __pgdat->valid_addr_bitmap); \
+})
-#define pfn_to_page(pfn) (node_mem_map(pfn_to_nid(pfn)) + node_localnr(pfn, pfn_to_nid(pfn)))
-#define page_to_pfn(page) ((page - page_zone(page)->zone_mem_map) + page_zone(page)->zone_start_pfn)
+#define pfn_to_page(pfn) \
+({ \
+ unsigned long __pfn = pfn; \
+ int __node = pfn_to_nid(__pfn); \
+ &node_mem_map(__node)[node_localnr(__pfn,__node)]; \
+})
+
+#define page_to_pfn(pg) \
+({ \
+ struct page *__page = pg; \
+ struct zone *__zone = page_zone(__page); \
+ (unsigned long)(__page - __zone->zone_mem_map) \
+ + __zone->zone_start_pfn; \
+})
#define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT))
/*
* pfn_valid should be made as fast as possible, and the current definition
* is valid for machines that are NUMA, but still contiguous, which is what
* is currently supported. A more generalised, but slower definition would
* be something like this - mbligh:
- * ( pfn_to_pgdat(pfn) && (pfn < node_end_pfn(pfn_to_nid(pfn))) )
+ * ( pfn_to_pgdat(pfn) && ((pfn) < node_end_pfn(pfn_to_nid(pfn))) )
*/
-#define pfn_valid(pfn) (pfn < num_physpages)
+#define pfn_valid(pfn) ((pfn) < num_physpages)
#endif /* CONFIG_DISCONTIGMEM */
#endif /* _ASM_MMZONE_H_ */
diff --git a/include/asm-i386/node.h b/include/asm-i386/node.h
index 26836eb7be10..104f10b2bbf7 100644
--- a/include/asm-i386/node.h
+++ b/include/asm-i386/node.h
@@ -13,7 +13,7 @@ struct i386_node {
extern struct i386_node node_devices[MAX_NUMNODES];
static inline int arch_register_node(int num){
- int p_node = __parent_node(num);
+ int p_node = parent_node(num);
struct node *parent = NULL;
if (p_node != num)
diff --git a/include/asm-i386/pgalloc.h b/include/asm-i386/pgalloc.h
index a44e266934f6..640ca76d0ad2 100644
--- a/include/asm-i386/pgalloc.h
+++ b/include/asm-i386/pgalloc.h
@@ -20,11 +20,11 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, struct page *p
* Allocate and free page tables.
*/
-extern pgd_t *pgd_alloc(struct mm_struct *);
-extern void pgd_free(pgd_t *pgd);
+pgd_t *pgd_alloc(struct mm_struct *);
+void pgd_free(pgd_t *pgd);
-extern pte_t *pte_alloc_one_kernel(struct mm_struct *, unsigned long);
-extern struct page *pte_alloc_one(struct mm_struct *, unsigned long);
+pte_t *pte_alloc_one_kernel(struct mm_struct *, unsigned long);
+struct page *pte_alloc_one(struct mm_struct *, unsigned long);
static inline void pte_free_kernel(pte_t *pte)
{
diff --git a/include/asm-i386/pgtable-3level.h b/include/asm-i386/pgtable-3level.h
index 0751ebf5d340..f06b393c7071 100644
--- a/include/asm-i386/pgtable-3level.h
+++ b/include/asm-i386/pgtable-3level.h
@@ -115,6 +115,4 @@ static inline pmd_t pfn_pmd(unsigned long page_nr, pgprot_t pgprot)
return __pmd(((unsigned long long)page_nr << PAGE_SHIFT) | pgprot_val(pgprot));
}
-extern struct kmem_cache_s *pae_pgd_cachep;
-
#endif /* _I386_PGTABLE_3LEVEL_H */
diff --git a/include/asm-i386/pgtable.h b/include/asm-i386/pgtable.h
index 0213fa88c792..c1c55b2d9682 100644
--- a/include/asm-i386/pgtable.h
+++ b/include/asm-i386/pgtable.h
@@ -41,22 +41,13 @@ extern unsigned long empty_zero_page[1024];
#ifndef __ASSEMBLY__
#if CONFIG_X86_PAE
# include <asm/pgtable-3level.h>
-
-/*
- * Need to initialise the X86 PAE caches
- */
-extern void pgtable_cache_init(void);
-
#else
# include <asm/pgtable-2level.h>
+#endif
-/*
- * No page table caches to initialise
- */
-#define pgtable_cache_init() do { } while (0)
+void pgtable_cache_init(void);
#endif
-#endif
#define __beep() asm("movb $0x3,%al; outb %al,$0x61")
diff --git a/include/asm-i386/topology.h b/include/asm-i386/topology.h
index 53d8a01ef8a7..be697216b1e3 100644
--- a/include/asm-i386/topology.h
+++ b/include/asm-i386/topology.h
@@ -34,32 +34,32 @@ extern volatile unsigned long node_2_cpu_mask[];
extern volatile int cpu_2_node[];
/* Returns the number of the node containing CPU 'cpu' */
-static inline int __cpu_to_node(int cpu)
+static inline int cpu_to_node(int cpu)
{
return cpu_2_node[cpu];
}
/* Returns the number of the node containing MemBlk 'memblk' */
-#define __memblk_to_node(memblk) (memblk)
+#define memblk_to_node(memblk) (memblk)
/* Returns the number of the node containing Node 'node'. This architecture is flat,
so it is a pretty simple function! */
-#define __parent_node(node) (node)
+#define parent_node(node) (node)
/* Returns a bitmask of CPUs on Node 'node'. */
-static inline unsigned long __node_to_cpu_mask(int node)
+static inline unsigned long node_to_cpumask(int node)
{
return node_2_cpu_mask[node];
}
/* Returns the number of the first CPU on Node 'node'. */
-static inline int __node_to_first_cpu(int node)
+static inline int node_to_first_cpu(int node)
{
- return __ffs(__node_to_cpu_mask(node));
+ return __ffs(node_to_cpumask(node));
}
/* Returns the number of the first MemBlk on Node 'node' */
-#define __node_to_memblk(node) (node)
+#define node_to_memblk(node) (node)
/* Cross-node load balancing interval. */
#define NODE_BALANCE_RATE 100
diff --git a/include/asm-i386/unistd.h b/include/asm-i386/unistd.h
index fb5a97ec22f5..d21b3a8a4f4e 100644
--- a/include/asm-i386/unistd.h
+++ b/include/asm-i386/unistd.h
@@ -255,6 +255,8 @@
#define __NR_io_getevents 247
#define __NR_io_submit 248
#define __NR_io_cancel 249
+#define __NR_fadvise64 250
+
#define __NR_exit_group 252
#define __NR_lookup_dcookie 253
#define __NR_epoll_create 254
diff --git a/include/asm-ia64/kmap_types.h b/include/asm-ia64/kmap_types.h
index 77187f614170..d54e19055e6c 100644
--- a/include/asm-ia64/kmap_types.h
+++ b/include/asm-ia64/kmap_types.h
@@ -21,8 +21,8 @@ D(7) KM_PTE0,
D(8) KM_PTE1,
D(9) KM_IRQ0,
D(10) KM_IRQ1,
-D(11) KM_CRYPTO_USER,
-D(12) KM_CRYPTO_SOFTIRQ,
+D(11) KM_SOFTIRQ0,
+D(12) KM_SOFTIRQ1,
D(13) KM_TYPE_NR
};
diff --git a/include/asm-ia64/topology.h b/include/asm-ia64/topology.h
index 22a5aaca8d21..b154e116980e 100644
--- a/include/asm-ia64/topology.h
+++ b/include/asm-ia64/topology.h
@@ -21,25 +21,25 @@
/*
* Returns the number of the node containing CPU 'cpu'
*/
-#define __cpu_to_node(cpu) (int)(cpu_to_node_map[cpu])
+#define cpu_to_node(cpu) (int)(cpu_to_node_map[cpu])
/*
* Returns a bitmask of CPUs on Node 'node'.
*/
-#define __node_to_cpu_mask(node) (node_to_cpu_mask[node])
+#define node_to_cpumask(node) (node_to_cpumask[node])
#else
-#define __cpu_to_node(cpu) (0)
-#define __node_to_cpu_mask(node) (phys_cpu_present_map)
+#define cpu_to_node(cpu) (0)
+#define node_to_cpumask(node) (phys_cpu_present_map)
#endif
/*
* Returns the number of the node containing MemBlk 'memblk'
*/
#ifdef CONFIG_ACPI_NUMA
-#define __memblk_to_node(memblk) (node_memblk[memblk].nid)
+#define memblk_to_node(memblk) (node_memblk[memblk].nid)
#else
-#define __memblk_to_node(memblk) (memblk)
+#define memblk_to_node(memblk) (memblk)
#endif
/*
@@ -47,18 +47,18 @@
* Not implemented here. Multi-level hierarchies detected with
* the help of node_distance().
*/
-#define __parent_node(nid) (nid)
+#define parent_node(nid) (nid)
/*
* Returns the number of the first CPU on Node 'node'.
*/
-#define __node_to_first_cpu(node) (__ffs(__node_to_cpu_mask(node)))
+#define node_to_first_cpu(node) (__ffs(node_to_cpumask(node)))
/*
* Returns the number of the first MemBlk on Node 'node'
* Should be fixed when IA64 discontigmem goes in.
*/
-#define __node_to_memblk(node) (node)
+#define node_to_memblk(node) (node)
/* Cross-node load balancing interval. */
#define NODE_BALANCE_RATE 10
diff --git a/include/asm-mips64/topology.h b/include/asm-mips64/topology.h
index fe5988686b1d..04b0168e8736 100644
--- a/include/asm-mips64/topology.h
+++ b/include/asm-mips64/topology.h
@@ -3,6 +3,6 @@
#include <asm/mmzone.h>
-#define __cpu_to_node(cpu) (cputocnode(cpu))
+#define cpu_to_node(cpu) (cputocnode(cpu))
#endif /* _ASM_MIPS64_TOPOLOGY_H */
diff --git a/include/asm-parisc/bitops.h b/include/asm-parisc/bitops.h
index 99e163032f14..c2eed7aa218b 100644
--- a/include/asm-parisc/bitops.h
+++ b/include/asm-parisc/bitops.h
@@ -257,7 +257,14 @@ static __inline__ int ffs(int x)
* hweightN: returns the hamming weight (i.e. the number
* of bits set) of a N-bit word
*/
-
+#define hweight64(x) \
+({ \
+ unsigned long __x = (x); \
+ unsigned int __w; \
+ __w = generic_hweight32((unsigned int) __x); \
+ __w += generic_hweight32((unsigned int) (__x>>32)); \
+ __w; \
+})
#define hweight32(x) generic_hweight32(x)
#define hweight16(x) generic_hweight16(x)
#define hweight8(x) generic_hweight8(x)
diff --git a/include/asm-parisc/compat.h b/include/asm-parisc/compat.h
index 6b146922ea10..4cbe08f1b22e 100644
--- a/include/asm-parisc/compat.h
+++ b/include/asm-parisc/compat.h
@@ -72,4 +72,24 @@ struct compat_flock {
compat_pid_t l_pid;
};
+struct compat_statfs {
+ s32 f_type;
+ s32 f_bsize;
+ s32 f_blocks;
+ s32 f_bfree;
+ s32 f_bavail;
+ s32 f_files;
+ s32 f_ffree;
+ __kernel_fsid_t f_fsid;
+ s32 f_namelen;
+ s32 f_spare[6];
+};
+
+typedef u32 compat_old_sigset_t; /* at least 32 bits */
+
+#define _COMPAT_NSIG 64
+#define _COMPAT_NSIG_BPW BITS_PER_LONG
+
+typedef u32 compat_sigset_word;
+
#endif /* _ASM_PARISC_COMPAT_H */
diff --git a/include/asm-parisc/dma-mapping.h b/include/asm-parisc/dma-mapping.h
index 2428762027b3..a4c2bf437b61 100644
--- a/include/asm-parisc/dma-mapping.h
+++ b/include/asm-parisc/dma-mapping.h
@@ -203,7 +203,6 @@ parisc_walk_tree(struct device *dev)
struct parisc_device;
struct ioc;
void * ccio_get_iommu(const struct parisc_device *dev);
-struct pci_dev * ccio_get_fake(const struct parisc_device *dev);
int ccio_request_resource(const struct parisc_device *dev,
struct resource *res);
int ccio_allocate_resource(const struct parisc_device *dev,
@@ -213,7 +212,6 @@ int ccio_allocate_resource(const struct parisc_device *dev,
void *alignf_data);
#else /* !CONFIG_IOMMU_CCIO */
#define ccio_get_iommu(dev) NULL
-#define ccio_get_fake(dev) NULL
#define ccio_request_resource(dev, res) request_resource(&iomem_resource, res)
#define ccio_allocate_resource(dev, res, size, min, max, align, alignf, data) \
allocate_resource(&iomem_resource, res, size, min, max, \
diff --git a/include/asm-parisc/module.h b/include/asm-parisc/module.h
index f6c2466621f4..acf6770cd5d3 100644
--- a/include/asm-parisc/module.h
+++ b/include/asm-parisc/module.h
@@ -7,10 +7,14 @@
#define Elf_Shdr Elf64_Shdr
#define Elf_Sym Elf64_Sym
#define Elf_Ehdr Elf64_Ehdr
+#define Elf_Addr Elf64_Addr
+#define Elf_Rela Elf64_Rela
#else
#define Elf_Shdr Elf32_Shdr
#define Elf_Sym Elf32_Sym
#define Elf_Ehdr Elf32_Ehdr
+#define Elf_Addr Elf32_Addr
+#define Elf_Rela Elf32_Rela
#endif
#define module_map(x) vmalloc(x)
@@ -20,6 +24,10 @@
struct mod_arch_specific
{
+ unsigned long got_offset;
+ unsigned long fdesc_offset, fdesc_count;
+ unsigned long stub_offset;
+ unsigned long stub_count;
};
#endif /* _ASM_PARISC_MODULE_H */
diff --git a/include/asm-parisc/smp.h b/include/asm-parisc/smp.h
index b43525324dc1..cda89e45e05f 100644
--- a/include/asm-parisc/smp.h
+++ b/include/asm-parisc/smp.h
@@ -12,6 +12,7 @@
#define PDC_OS_BOOT_RENDEZVOUS_HI 0x28
#ifndef ASSEMBLY
+#include <linux/bitops.h>
#include <linux/threads.h> /* for NR_CPUS */
typedef unsigned long address_t;
@@ -53,7 +54,7 @@ extern unsigned long cpu_present_mask;
#define cpu_online(cpu) (cpu_online_map & (1<<(cpu)))
#define cpu_possible(cpu) (cpu_present_mask & (1<<(cpu)))
-
+
extern inline unsigned int num_online_cpus(void)
{
return hweight32(cpu_online_map);
diff --git a/include/asm-ppc/kmap_types.h b/include/asm-ppc/kmap_types.h
index 1a4813527e74..5ffc886ddabb 100644
--- a/include/asm-ppc/kmap_types.h
+++ b/include/asm-ppc/kmap_types.h
@@ -14,8 +14,8 @@ enum km_type {
KM_PTE1,
KM_IRQ0,
KM_IRQ1,
- KM_CRYPTO_USER,
- KM_CRYPTO_SOFTIRQ,
+ KM_SOFTIRQ0,
+ KM_SOFTIRQ1,
KM_TYPE_NR
};
diff --git a/include/asm-ppc64/kmap_types.h b/include/asm-ppc64/kmap_types.h
index f8422429758a..fd1574648223 100644
--- a/include/asm-ppc64/kmap_types.h
+++ b/include/asm-ppc64/kmap_types.h
@@ -14,8 +14,8 @@ enum km_type {
KM_PTE1,
KM_IRQ0,
KM_IRQ1,
- KM_CRYPTO_USER,
- KM_CRYPTO_SOFTIRQ,
+ KM_SOFTIRQ0,
+ KM_SOFTIRQ1,
KM_TYPE_NR
};
diff --git a/include/asm-ppc64/topology.h b/include/asm-ppc64/topology.h
index c3b4266c2ebf..ecc6cab2895e 100644
--- a/include/asm-ppc64/topology.h
+++ b/include/asm-ppc64/topology.h
@@ -5,7 +5,7 @@
#ifdef CONFIG_NUMA
-static inline int __cpu_to_node(int cpu)
+static inline int cpu_to_node(int cpu)
{
int node;
@@ -19,7 +19,7 @@ static inline int __cpu_to_node(int cpu)
return node;
}
-static inline int __node_to_first_cpu(int node)
+static inline int node_to_first_cpu(int node)
{
int cpu;
@@ -31,7 +31,7 @@ static inline int __node_to_first_cpu(int node)
return -1;
}
-static inline unsigned long __node_to_cpu_mask(int node)
+static inline unsigned long node_to_cpumask(int node)
{
int cpu;
unsigned long mask = 0UL;
@@ -51,12 +51,7 @@ static inline unsigned long __node_to_cpu_mask(int node)
#else /* !CONFIG_NUMA */
-#define __cpu_to_node(cpu) (0)
-#define __memblk_to_node(memblk) (0)
-#define __parent_node(nid) (0)
-#define __node_to_first_cpu(node) (0)
-#define __node_to_cpu_mask(node) (cpu_online_map)
-#define __node_to_memblk(node) (0)
+#include <asm-generic/topology.h>
#endif /* CONFIG_NUMA */
diff --git a/include/asm-s390/kmap_types.h b/include/asm-s390/kmap_types.h
index f8422429758a..fd1574648223 100644
--- a/include/asm-s390/kmap_types.h
+++ b/include/asm-s390/kmap_types.h
@@ -14,8 +14,8 @@ enum km_type {
KM_PTE1,
KM_IRQ0,
KM_IRQ1,
- KM_CRYPTO_USER,
- KM_CRYPTO_SOFTIRQ,
+ KM_SOFTIRQ0,
+ KM_SOFTIRQ1,
KM_TYPE_NR
};
diff --git a/include/asm-sparc/delay.h b/include/asm-sparc/delay.h
index e3994705a3eb..04dd4468abaa 100644
--- a/include/asm-sparc/delay.h
+++ b/include/asm-sparc/delay.h
@@ -21,5 +21,6 @@ extern __inline__ void __delay(unsigned long loops)
/* This is too messy with inline asm on the Sparc. */
extern void udelay(unsigned long usecs);
+extern void ndelay(unsigned long usecs);
#endif /* defined(__SPARC_DELAY_H) */
diff --git a/include/asm-sparc/kmap_types.h b/include/asm-sparc/kmap_types.h
index 05eeec6d17f3..e215f7104974 100644
--- a/include/asm-sparc/kmap_types.h
+++ b/include/asm-sparc/kmap_types.h
@@ -13,8 +13,8 @@ enum km_type {
KM_PTE1,
KM_IRQ0,
KM_IRQ1,
- KM_CRYPTO_USER,
- KM_CRYPTO_SOFTIRQ,
+ KM_SOFTIRQ0,
+ KM_SOFTIRQ1,
KM_TYPE_NR
};
diff --git a/include/asm-sparc64/delay.h b/include/asm-sparc64/delay.h
index 90bf4b469138..4157717dd736 100644
--- a/include/asm-sparc64/delay.h
+++ b/include/asm-sparc64/delay.h
@@ -45,6 +45,19 @@ static __inline__ void __udelay(unsigned long usecs, unsigned long lps)
__delay(usecs * HZ);
}
+extern __inline__ void __ndelay(unsigned long usecs, unsigned long lps)
+{
+ usecs *= 0x0000000000000005UL; /* 2**32 / 10000 */
+
+ __asm__ __volatile__(
+" mulx %1, %2, %0\n"
+" srlx %0, 32, %0\n"
+ : "=r" (usecs)
+ : "r" (usecs), "r" (lps));
+
+ __delay(usecs * HZ);
+}
+
#ifdef CONFIG_SMP
#define __udelay_val cpu_data[smp_processor_id()].udelay_val
#else
@@ -52,6 +65,7 @@ static __inline__ void __udelay(unsigned long usecs, unsigned long lps)
#endif
#define udelay(usecs) __udelay((usecs),__udelay_val)
+#define ndelay(usecs) __ndelay((usecs),__udelay_val)
#endif /* !__ASSEMBLY__ */
diff --git a/include/asm-sparc64/kmap_types.h b/include/asm-sparc64/kmap_types.h
index 26c28fb7c8b7..34c1d3d9a3b0 100644
--- a/include/asm-sparc64/kmap_types.h
+++ b/include/asm-sparc64/kmap_types.h
@@ -17,8 +17,8 @@ enum km_type {
KM_PTE1,
KM_IRQ0,
KM_IRQ1,
- KM_CRYPTO_USER,
- KM_CRYPTO_SOFTIRQ,
+ KM_SOFTIRQ0,
+ KM_SOFTIRQ1,
KM_TYPE_NR
};
diff --git a/include/asm-x86_64/kmap_types.h b/include/asm-x86_64/kmap_types.h
index e87ef2e0f74d..7486338c6cea 100644
--- a/include/asm-x86_64/kmap_types.h
+++ b/include/asm-x86_64/kmap_types.h
@@ -11,8 +11,8 @@ enum km_type {
KM_BIO_DST_IRQ,
KM_IRQ0,
KM_IRQ1,
- KM_CRYPTO_USER,
- KM_CRYPTO_SOFTIRQ,
+ KM_SOFTIRQ0,
+ KM_SOFTIRQ1,
KM_TYPE_NR
};
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 90171e65e989..c599ea36233b 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -292,7 +292,7 @@ extern unsigned long blk_max_low_pfn, blk_max_pfn;
#define BLK_BOUNCE_ISA (ISA_DMA_THRESHOLD)
extern int init_emergency_isa_pool(void);
-inline void blk_queue_bounce(request_queue_t *q, struct bio **bio);
+extern void blk_queue_bounce(request_queue_t *q, struct bio **bio);
#define rq_for_each_bio(bio, rq) \
if ((rq->bio)) \
diff --git a/include/linux/crypto.h b/include/linux/crypto.h
index 5c29e2b58011..5178882ec4d1 100644
--- a/include/linux/crypto.h
+++ b/include/linux/crypto.h
@@ -131,9 +131,13 @@ struct cipher_tfm {
int (*cit_setkey)(struct crypto_tfm *tfm,
const u8 *key, unsigned int keylen);
int (*cit_encrypt)(struct crypto_tfm *tfm,
- struct scatterlist *sg, unsigned int nsg);
+ struct scatterlist *dst,
+ struct scatterlist *src,
+ unsigned int nbytes);
int (*cit_decrypt)(struct crypto_tfm *tfm,
- struct scatterlist *sg, unsigned int nsg);
+ struct scatterlist *dst,
+ struct scatterlist *src,
+ unsigned int nbytes);
void (*cit_xor_block)(u8 *dst, const u8 *src);
};
@@ -274,19 +278,21 @@ static inline int crypto_cipher_setkey(struct crypto_tfm *tfm,
}
static inline int crypto_cipher_encrypt(struct crypto_tfm *tfm,
- struct scatterlist *sg,
- unsigned int nsg)
+ struct scatterlist *dst,
+ struct scatterlist *src,
+ unsigned int nbytes)
{
BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
- return tfm->crt_cipher.cit_encrypt(tfm, sg, nsg);
+ return tfm->crt_cipher.cit_encrypt(tfm, dst, src, nbytes);
}
static inline int crypto_cipher_decrypt(struct crypto_tfm *tfm,
- struct scatterlist *sg,
- unsigned int nsg)
+ struct scatterlist *dst,
+ struct scatterlist *src,
+ unsigned int nbytes)
{
BUG_ON(crypto_tfm_alg_type(tfm) != CRYPTO_ALG_TYPE_CIPHER);
- return tfm->crt_cipher.cit_decrypt(tfm, sg, nsg);
+ return tfm->crt_cipher.cit_decrypt(tfm, dst, src, nbytes);
}
static inline void crypto_cipher_set_iv(struct crypto_tfm *tfm,
diff --git a/include/linux/elf.h b/include/linux/elf.h
index bef237b527bd..1330ef61c75c 100644
--- a/include/linux/elf.h
+++ b/include/linux/elf.h
@@ -519,6 +519,174 @@ typedef struct {
#define EF_ALPHA_32BIT 1 /* All addresses are below 2GB */
+/* HPPA specific definitions. */
+
+/* Legal values for e_flags field of Elf32_Ehdr. */
+
+#define EF_PARISC_TRAPNIL 0x00010000 /* Trap nil pointer dereference. */
+#define EF_PARISC_EXT 0x00020000 /* Program uses arch. extensions. */
+#define EF_PARISC_LSB 0x00040000 /* Program expects little endian. */
+#define EF_PARISC_WIDE 0x00080000 /* Program expects wide mode. */
+#define EF_PARISC_NO_KABP 0x00100000 /* No kernel assisted branch
+ prediction. */
+#define EF_PARISC_LAZYSWAP 0x00400000 /* Allow lazy swapping. */
+#define EF_PARISC_ARCH 0x0000ffff /* Architecture version. */
+
+/* Defined values for `e_flags & EF_PARISC_ARCH' are: */
+
+#define EFA_PARISC_1_0 0x020b /* PA-RISC 1.0 big-endian. */
+#define EFA_PARISC_1_1 0x0210 /* PA-RISC 1.1 big-endian. */
+#define EFA_PARISC_2_0 0x0214 /* PA-RISC 2.0 big-endian. */
+
+/* Additional section indeces. */
+
+#define SHN_PARISC_ANSI_COMMON 0xff00 /* Section for tenatively declared
+ symbols in ANSI C. */
+#define SHN_PARISC_HUGE_COMMON 0xff01 /* Common blocks in huge model. */
+
+/* Legal values for sh_type field of Elf32_Shdr. */
+
+#define SHT_PARISC_EXT 0x70000000 /* Contains product specific ext. */
+#define SHT_PARISC_UNWIND 0x70000001 /* Unwind information. */
+#define SHT_PARISC_DOC 0x70000002 /* Debug info for optimized code. */
+
+/* Legal values for sh_flags field of Elf32_Shdr. */
+
+#define SHF_PARISC_SHORT 0x20000000 /* Section with short addressing. */
+#define SHF_PARISC_HUGE 0x40000000 /* Section far from gp. */
+#define SHF_PARISC_SBP 0x80000000 /* Static branch prediction code. */
+
+/* Legal values for ST_TYPE subfield of st_info (symbol type). */
+
+#define STT_PARISC_MILLICODE 13 /* Millicode function entry point. */
+
+#define STT_HP_OPAQUE (STT_LOOS + 0x1)
+#define STT_HP_STUB (STT_LOOS + 0x2)
+
+/* HPPA relocs. */
+
+#define R_PARISC_NONE 0 /* No reloc. */
+#define R_PARISC_DIR32 1 /* Direct 32-bit reference. */
+#define R_PARISC_DIR21L 2 /* Left 21 bits of eff. address. */
+#define R_PARISC_DIR17R 3 /* Right 17 bits of eff. address. */
+#define R_PARISC_DIR17F 4 /* 17 bits of eff. address. */
+#define R_PARISC_DIR14R 6 /* Right 14 bits of eff. address. */
+#define R_PARISC_PCREL32 9 /* 32-bit rel. address. */
+#define R_PARISC_PCREL21L 10 /* Left 21 bits of rel. address. */
+#define R_PARISC_PCREL17R 11 /* Right 17 bits of rel. address. */
+#define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */
+#define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */
+#define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */
+#define R_PARISC_DPREL14R 22 /* Right 14 bits of rel. address. */
+#define R_PARISC_GPREL21L 26 /* GP-relative, left 21 bits. */
+#define R_PARISC_GPREL14R 30 /* GP-relative, right 14 bits. */
+#define R_PARISC_LTOFF21L 34 /* LT-relative, left 21 bits. */
+#define R_PARISC_LTOFF14R 38 /* LT-relative, right 14 bits. */
+#define R_PARISC_SECREL32 41 /* 32 bits section rel. address. */
+#define R_PARISC_SEGBASE 48 /* No relocation, set segment base. */
+#define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */
+#define R_PARISC_PLTOFF21L 50 /* PLT rel. address, left 21 bits. */
+#define R_PARISC_PLTOFF14R 54 /* PLT rel. address, right 14 bits. */
+#define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */
+#define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */
+#define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */
+#define R_PARISC_FPTR64 64 /* 64 bits function address. */
+#define R_PARISC_PLABEL32 65 /* 32 bits function address. */
+#define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */
+#define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */
+#define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */
+#define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */
+#define R_PARISC_PCREL16F 77 /* 16 bits PC-rel. address. */
+#define R_PARISC_PCREL16WF 78 /* 16 bits PC-rel. address. */
+#define R_PARISC_PCREL16DF 79 /* 16 bits PC-rel. address. */
+#define R_PARISC_DIR64 80 /* 64 bits of eff. address. */
+#define R_PARISC_DIR14WR 83 /* 14 bits of eff. address. */
+#define R_PARISC_DIR14DR 84 /* 14 bits of eff. address. */
+#define R_PARISC_DIR16F 85 /* 16 bits of eff. address. */
+#define R_PARISC_DIR16WF 86 /* 16 bits of eff. address. */
+#define R_PARISC_DIR16DF 87 /* 16 bits of eff. address. */
+#define R_PARISC_GPREL64 88 /* 64 bits of GP-rel. address. */
+#define R_PARISC_GPREL14WR 91 /* GP-rel. address, right 14 bits. */
+#define R_PARISC_GPREL14DR 92 /* GP-rel. address, right 14 bits. */
+#define R_PARISC_GPREL16F 93 /* 16 bits GP-rel. address. */
+#define R_PARISC_GPREL16WF 94 /* 16 bits GP-rel. address. */
+#define R_PARISC_GPREL16DF 95 /* 16 bits GP-rel. address. */
+#define R_PARISC_LTOFF64 96 /* 64 bits LT-rel. address. */
+#define R_PARISC_LTOFF14WR 99 /* LT-rel. address, right 14 bits. */
+#define R_PARISC_LTOFF14DR 100 /* LT-rel. address, right 14 bits. */
+#define R_PARISC_LTOFF16F 101 /* 16 bits LT-rel. address. */
+#define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */
+#define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */
+#define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */
+#define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */
+#define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */
+#define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */
+#define R_PARISC_PLTOFF16F 117 /* 16 bits LT-rel. address. */
+#define R_PARISC_PLTOFF16WF 118 /* 16 bits PLT-rel. address. */
+#define R_PARISC_PLTOFF16DF 119 /* 16 bits PLT-rel. address. */
+#define R_PARISC_LTOFF_FPTR64 120 /* 64 bits LT-rel. function ptr. */
+#define R_PARISC_LTOFF_FPTR14WR 123 /* LT-rel. fct. ptr., right 14 bits. */
+#define R_PARISC_LTOFF_FPTR14DR 124 /* LT-rel. fct. ptr., right 14 bits. */
+#define R_PARISC_LTOFF_FPTR16F 125 /* 16 bits LT-rel. function ptr. */
+#define R_PARISC_LTOFF_FPTR16WF 126 /* 16 bits LT-rel. function ptr. */
+#define R_PARISC_LTOFF_FPTR16DF 127 /* 16 bits LT-rel. function ptr. */
+#define R_PARISC_LORESERVE 128
+#define R_PARISC_COPY 128 /* Copy relocation. */
+#define R_PARISC_IPLT 129 /* Dynamic reloc, imported PLT */
+#define R_PARISC_EPLT 130 /* Dynamic reloc, exported PLT */
+#define R_PARISC_TPREL32 153 /* 32 bits TP-rel. address. */
+#define R_PARISC_TPREL21L 154 /* TP-rel. address, left 21 bits. */
+#define R_PARISC_TPREL14R 158 /* TP-rel. address, right 14 bits. */
+#define R_PARISC_LTOFF_TP21L 162 /* LT-TP-rel. address, left 21 bits. */
+#define R_PARISC_LTOFF_TP14R 166 /* LT-TP-rel. address, right 14 bits.*/
+#define R_PARISC_LTOFF_TP14F 167 /* 14 bits LT-TP-rel. address. */
+#define R_PARISC_TPREL64 216 /* 64 bits TP-rel. address. */
+#define R_PARISC_TPREL14WR 219 /* TP-rel. address, right 14 bits. */
+#define R_PARISC_TPREL14DR 220 /* TP-rel. address, right 14 bits. */
+#define R_PARISC_TPREL16F 221 /* 16 bits TP-rel. address. */
+#define R_PARISC_TPREL16WF 222 /* 16 bits TP-rel. address. */
+#define R_PARISC_TPREL16DF 223 /* 16 bits TP-rel. address. */
+#define R_PARISC_LTOFF_TP64 224 /* 64 bits LT-TP-rel. address. */
+#define R_PARISC_LTOFF_TP14WR 227 /* LT-TP-rel. address, right 14 bits.*/
+#define R_PARISC_LTOFF_TP14DR 228 /* LT-TP-rel. address, right 14 bits.*/
+#define R_PARISC_LTOFF_TP16F 229 /* 16 bits LT-TP-rel. address. */
+#define R_PARISC_LTOFF_TP16WF 230 /* 16 bits LT-TP-rel. address. */
+#define R_PARISC_LTOFF_TP16DF 231 /* 16 bits LT-TP-rel. address. */
+#define R_PARISC_HIRESERVE 255
+
+/* Legal values for p_type field of Elf32_Phdr/Elf64_Phdr. */
+
+#define PT_HP_TLS (PT_LOOS + 0x0)
+#define PT_HP_CORE_NONE (PT_LOOS + 0x1)
+#define PT_HP_CORE_VERSION (PT_LOOS + 0x2)
+#define PT_HP_CORE_KERNEL (PT_LOOS + 0x3)
+#define PT_HP_CORE_COMM (PT_LOOS + 0x4)
+#define PT_HP_CORE_PROC (PT_LOOS + 0x5)
+#define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6)
+#define PT_HP_CORE_STACK (PT_LOOS + 0x7)
+#define PT_HP_CORE_SHM (PT_LOOS + 0x8)
+#define PT_HP_CORE_MMF (PT_LOOS + 0x9)
+#define PT_HP_PARALLEL (PT_LOOS + 0x10)
+#define PT_HP_FASTBIND (PT_LOOS + 0x11)
+#define PT_HP_OPT_ANNOT (PT_LOOS + 0x12)
+#define PT_HP_HSL_ANNOT (PT_LOOS + 0x13)
+#define PT_HP_STACK (PT_LOOS + 0x14)
+
+#define PT_PARISC_ARCHEXT 0x70000000
+#define PT_PARISC_UNWIND 0x70000001
+
+/* Legal values for p_flags field of Elf32_Phdr/Elf64_Phdr. */
+
+#define PF_PARISC_SBP 0x08000000
+
+#define PF_HP_PAGE_SIZE 0x00100000
+#define PF_HP_FAR_SHARED 0x00200000
+#define PF_HP_NEAR_SHARED 0x00400000
+#define PF_HP_CODE 0x01000000
+#define PF_HP_MODIFY 0x02000000
+#define PF_HP_LAZYSWAP 0x04000000
+#define PF_HP_SBP 0x08000000
+
typedef struct elf32_rel {
Elf32_Addr r_offset;
diff --git a/include/linux/fadvise.h b/include/linux/fadvise.h
new file mode 100644
index 000000000000..6fc656dfb93d
--- /dev/null
+++ b/include/linux/fadvise.h
@@ -0,0 +1,11 @@
+#ifndef FADVISE_H_INCLUDED
+#define FADVISE_H_INCLUDED
+
+#define POSIX_FADV_NORMAL 0 /* No further special treatment. */
+#define POSIX_FADV_RANDOM 1 /* Expect random page references. */
+#define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */
+#define POSIX_FADV_WILLNEED 3 /* Will need these pages. */
+#define POSIX_FADV_DONTNEED 4 /* Don't need these pages. */
+#define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */
+
+#endif /* FADVISE_H_INCLUDED */
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 76b32526394f..9a17c9819ae9 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1102,7 +1102,9 @@ extern int full_check_disk_change(struct block_device *);
extern int __check_disk_change(dev_t);
extern int invalidate_inodes(struct super_block *);
extern int invalidate_device(kdev_t, int);
-extern void invalidate_inode_pages(struct address_space *mapping);
+unsigned long invalidate_mapping_pages(struct address_space *mapping,
+ pgoff_t start, pgoff_t end);
+unsigned long invalidate_inode_pages(struct address_space *mapping);
extern void invalidate_inode_pages2(struct address_space *mapping);
extern void write_inode_now(struct inode *, int);
extern int filemap_fdatawrite(struct address_space *);
diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index 54bf03eaf3e7..c9fb5039e753 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -14,20 +14,17 @@
/* Action modifiers - doesn't change the zoning */
#define __GFP_WAIT 0x10 /* Can wait and reschedule? */
#define __GFP_HIGH 0x20 /* Should access emergency pools? */
-#define __GFP_IO 0x40 /* Can start low memory physical IO? */
-#define __GFP_HIGHIO 0x80 /* Can start high mem physical IO? */
-#define __GFP_FS 0x100 /* Can call down to low-level FS? */
-#define __GFP_COLD 0x200 /* Cache-cold page required */
-#define __GFP_NOWARN 0x400 /* Suppress page allocation failure warning */
-
-#define GFP_NOHIGHIO ( __GFP_WAIT | __GFP_IO)
-#define GFP_NOIO ( __GFP_WAIT)
-#define GFP_NOFS ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO)
+#define __GFP_IO 0x40 /* Can start physical IO? */
+#define __GFP_FS 0x80 /* Can call down to low-level FS? */
+#define __GFP_COLD 0x100 /* Cache-cold page required */
+#define __GFP_NOWARN 0x200 /* Suppress page allocation failure warning */
+
#define GFP_ATOMIC (__GFP_HIGH)
-#define GFP_USER ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS)
-#define GFP_HIGHUSER ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS | __GFP_HIGHMEM)
-#define GFP_KERNEL ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS)
-#define GFP_KSWAPD ( __GFP_WAIT | __GFP_IO | __GFP_HIGHIO | __GFP_FS)
+#define GFP_NOIO (__GFP_WAIT)
+#define GFP_NOFS (__GFP_WAIT | __GFP_IO)
+#define GFP_KERNEL (__GFP_WAIT | __GFP_IO | __GFP_FS)
+#define GFP_USER (__GFP_WAIT | __GFP_IO | __GFP_FS)
+#define GFP_HIGHUSER (__GFP_WAIT | __GFP_IO | __GFP_FS | __GFP_HIGHMEM)
/* Flag - indicates that the buffer will be suitable for DMA. Ignored on some
platforms, used as appropriate on others */
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index 3bf94e2205bd..325d91ba012a 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -18,7 +18,6 @@ void zap_hugepage_range(struct vm_area_struct *, unsigned long, unsigned long);
void unmap_hugepage_range(struct vm_area_struct *, unsigned long, unsigned long);
int hugetlb_prefault(struct address_space *, struct vm_area_struct *);
void huge_page_release(struct page *);
-void hugetlb_release_key(struct hugetlb_key *);
int hugetlb_report_meminfo(char *);
int is_hugepage_mem_enough(size_t);
diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
index 7367127511b3..c81b51bab1e3 100644
--- a/include/linux/jiffies.h
+++ b/include/linux/jiffies.h
@@ -2,15 +2,35 @@
#define _LINUX_JIFFIES_H
#include <linux/types.h>
+#include <linux/spinlock.h>
+#include <asm/system.h>
#include <asm/param.h> /* for HZ */
/*
* The 64-bit value is not volatile - you MUST NOT read it
- * without holding read_lock_irq(&xtime_lock)
+ * without holding read_lock_irq(&xtime_lock).
+ * get_jiffies_64() will do this for you as appropriate.
*/
extern u64 jiffies_64;
extern unsigned long volatile jiffies;
+static inline u64 get_jiffies_64(void)
+{
+#if BITS_PER_LONG < 64
+ extern rwlock_t xtime_lock;
+ unsigned long flags;
+ u64 tmp;
+
+ read_lock_irqsave(&xtime_lock, flags);
+ tmp = jiffies_64;
+ read_unlock_irqrestore(&xtime_lock, flags);
+ return tmp;
+#else
+ return (u64)jiffies;
+#endif
+}
+
+
/*
* These inlines deal with timer wrapping correctly. You are
* strongly encouraged to use them
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 50eb18eb0488..d2b99c852301 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -491,7 +491,9 @@ extern int do_munmap(struct mm_struct *, unsigned long, size_t);
extern unsigned long do_brk(unsigned long, unsigned long);
-static inline void __vma_unlink(struct mm_struct * mm, struct vm_area_struct * vma, struct vm_area_struct * prev)
+static inline void
+__vma_unlink(struct mm_struct *mm, struct vm_area_struct *vma,
+ struct vm_area_struct *prev)
{
prev->vm_next = vma->vm_next;
rb_erase(&vma->vm_rb, &mm->mm_rb);
@@ -499,7 +501,8 @@ static inline void __vma_unlink(struct mm_struct * mm, struct vm_area_struct * v
mm->mmap_cache = prev;
}
-static inline int can_vma_merge(struct vm_area_struct * vma, unsigned long vm_flags)
+static inline int
+can_vma_merge(struct vm_area_struct *vma, unsigned long vm_flags)
{
if (!vma->vm_file && vma->vm_flags == vm_flags)
return 1;
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index bcb57ed21a8d..8db7ca4df8f2 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -257,7 +257,7 @@ static inline struct zone *next_zone(struct zone *zone)
#include <asm/topology.h>
/* Returns the number of the current Node. */
-#define numa_node_id() (__cpu_to_node(smp_processor_id()))
+#define numa_node_id() (cpu_to_node(smp_processor_id()))
#ifndef CONFIG_DISCONTIGMEM
extern struct pglist_data contig_page_data;
diff --git a/include/linux/module.h b/include/linux/module.h
index 5b2fb9d19be3..53b4d2ea5987 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -33,12 +33,19 @@
#endif
#define MODULE_NAME_LEN (64 - sizeof(unsigned long))
+
struct kernel_symbol
{
unsigned long value;
const char *name;
};
+struct modversion_info
+{
+ unsigned long crc;
+ char name[MODULE_NAME_LEN];
+};
+
/* These are either module local, or the kernel's dummy ones. */
extern int init_module(void);
extern void cleanup_module(void);
@@ -92,7 +99,7 @@ extern const struct gtype##_id __mod_##gtype##_table \
*/
#define MODULE_LICENSE(license) \
static const char __module_license[] \
- __attribute__((section(".init.license"))) = license
+ __attribute__((section(".init.license"), unused)) = license
#else /* !MODULE */
@@ -119,6 +126,7 @@ struct kernel_symbol_group
unsigned int num_syms;
const struct kernel_symbol *syms;
+ const unsigned long *crcs;
};
/* Given an address, look for it in the exception tables */
@@ -134,29 +142,52 @@ struct exception_table
#ifdef CONFIG_MODULES
+
/* Get/put a kernel symbol (calls must be symmetric) */
void *__symbol_get(const char *symbol);
void *__symbol_get_gpl(const char *symbol);
#define symbol_get(x) ((typeof(&x))(__symbol_get(MODULE_SYMBOL_PREFIX #x)))
+#ifdef __GENKSYMS__
+
+/* genksyms doesn't handle GPL-only symbols yet */
+#define EXPORT_SYMBOL_GPL EXPORT_SYMBOL
+
+#else
+
+#ifdef CONFIG_MODVERSIONS
+/* Mark the CRC weak since genksyms apparently decides not to
+ * generate a checksums for some symbols */
+#define __CRC_SYMBOL(sym, sec) \
+ extern void *__crc_##sym __attribute__((weak)); \
+ static const unsigned long __kcrctab_##sym \
+ __attribute__((section("__kcrctab" sec), unused)) \
+ = (unsigned long) &__crc_##sym;
+#else
+#define __CRC_SYMBOL(sym, sec)
+#endif
+
/* For every exported symbol, place a struct in the __ksymtab section */
-#define EXPORT_SYMBOL(sym) \
+#define __EXPORT_SYMBOL(sym, sec) \
+ __CRC_SYMBOL(sym, sec) \
static const char __kstrtab_##sym[] \
__attribute__((section("__ksymtab_strings"))) \
= MODULE_SYMBOL_PREFIX #sym; \
static const struct kernel_symbol __ksymtab_##sym \
- __attribute__((section("__ksymtab"))) \
+ __attribute__((section("__ksymtab" sec), unused)) \
= { (unsigned long)&sym, __kstrtab_##sym }
-#define EXPORT_SYMBOL_NOVERS(sym) EXPORT_SYMBOL(sym)
+#define EXPORT_SYMBOL(sym) \
+ __EXPORT_SYMBOL(sym, "")
#define EXPORT_SYMBOL_GPL(sym) \
- static const char __kstrtab_##sym[] \
- __attribute__((section("__ksymtab_strings"))) \
- = MODULE_SYMBOL_PREFIX #sym; \
- static const struct kernel_symbol __ksymtab_##sym \
- __attribute__((section("__gpl_ksymtab"))) \
- = { (unsigned long)&sym, __kstrtab_##sym }
+ __EXPORT_SYMBOL(sym, "_gpl")
+
+#endif
+
+/* We don't mangle the actual symbol anymore, so no need for
+ * special casing EXPORT_SYMBOL_NOVERS */
+#define EXPORT_SYMBOL_NOVERS(sym) EXPORT_SYMBOL(sym)
struct module_ref
{
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index a50e09ff79ea..0327a8421c9d 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -97,15 +97,20 @@ struct page_state {
unsigned long pswpin; /* swap reads */
unsigned long pswpout; /* swap writes */
unsigned long pgalloc; /* page allocations */
+
unsigned long pgfree; /* page freeings */
unsigned long pgactivate; /* pages moved inactive->active */
unsigned long pgdeactivate; /* pages moved active->inactive */
unsigned long pgfault; /* faults (major+minor) */
unsigned long pgmajfault; /* faults (major only) */
+
unsigned long pgscan; /* pages scanned by page reclaim */
unsigned long pgrefill; /* inspected in refill_inactive_zone */
unsigned long pgsteal; /* total pages reclaimed */
+ unsigned long pginodesteal; /* pages reclaimed via inode freeing */
unsigned long kswapd_steal; /* pages reclaimed by kswapd */
+
+ unsigned long kswapd_inodesteal;/* reclaimed via kswapd inode freeing */
unsigned long pageoutrun; /* kswapd's calls to page reclaim */
unsigned long allocstall; /* direct reclaim calls */
unsigned long pgrotated; /* pages rotated to tail of the LRU */
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 94f9d488c2f7..86016d76a3a1 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -582,7 +582,10 @@
#define PCI_DEVICE_ID_SI_7016 0x7016
#define PCI_VENDOR_ID_HP 0x103c
-#define PCI_DEVICE_ID_HP_DONNER_GFX 0x1008
+#define PCI_DEVICE_ID_HP_VISUALIZE_EG 0x1005
+#define PCI_DEVICE_ID_HP_VISUALIZE_FX6 0x1006
+#define PCI_DEVICE_ID_HP_VISUALIZE_FX4 0x1008
+#define PCI_DEVICE_ID_HP_VISUALIZE_FX2 0x100a
#define PCI_DEVICE_ID_HP_TACHYON 0x1028
#define PCI_DEVICE_ID_HP_TACHLITE 0x1029
#define PCI_DEVICE_ID_HP_J2585A 0x1030
@@ -591,6 +594,7 @@
#define PCI_DEVICE_ID_HP_DIVA_TOSCA1 0x1049
#define PCI_DEVICE_ID_HP_DIVA_TOSCA2 0x104A
#define PCI_DEVICE_ID_HP_DIVA_MAESTRO 0x104B
+#define PCI_DEVICE_ID_HP_VISUALIZE_FXE 0x108b
#define PCI_DEVICE_ID_HP_DIVA_HALFDOME 0x1223
#define PCI_DEVICE_ID_HP_DIVA_KEYSTONE 0x1226
#define PCI_DEVICE_ID_HP_DIVA_POWERBAR 0x1227
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 15a951d2d27e..3a1367bacd1c 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -343,7 +343,7 @@ struct task_struct {
unsigned long it_real_incr, it_prof_incr, it_virt_incr;
struct timer_list real_timer;
unsigned long utime, stime, cutime, cstime;
- unsigned long start_time;
+ u64 start_time;
/* mm fault and swap info: this can arguably be seen as either mm-specific or thread-specific */
unsigned long min_flt, maj_flt, nswap, cmin_flt, cmaj_flt, cnswap;
/* process credentials */
diff --git a/include/linux/slab.h b/include/linux/slab.h
index 997bc710bfb0..220a672af798 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -17,13 +17,12 @@ typedef struct kmem_cache_s kmem_cache_t;
/* flags for kmem_cache_alloc() */
#define SLAB_NOFS GFP_NOFS
#define SLAB_NOIO GFP_NOIO
-#define SLAB_NOHIGHIO GFP_NOHIGHIO
#define SLAB_ATOMIC GFP_ATOMIC
#define SLAB_USER GFP_USER
#define SLAB_KERNEL GFP_KERNEL
#define SLAB_DMA GFP_DMA
-#define SLAB_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_HIGHIO|__GFP_FS|__GFP_COLD|__GFP_NOWARN)
+#define SLAB_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS|__GFP_COLD|__GFP_NOWARN)
#define SLAB_NO_GROW 0x00001000UL /* don't grow a cache */
/* flags to pass to kmem_cache_create().
diff --git a/include/linux/times.h b/include/linux/times.h
index 1174e9f88ea2..9895fd31bd5f 100644
--- a/include/linux/times.h
+++ b/include/linux/times.h
@@ -2,7 +2,30 @@
#define _LINUX_TIMES_H
#ifdef __KERNEL__
+#include <asm/div64.h>
+#include <asm/types.h>
+
+#if (HZ % USER_HZ)==0
# define jiffies_to_clock_t(x) ((x) / (HZ / USER_HZ))
+#else
+# define jiffies_to_clock_t(x) ((clock_t) jiffies_64_to_clock_t((u64) x))
+#endif
+
+static inline u64 jiffies_64_to_clock_t(u64 x)
+{
+#if (HZ % USER_HZ)==0
+ do_div(x, HZ / USER_HZ);
+#else
+ /*
+ * There are better ways that don't overflow early,
+ * but even this doesn't overflow in hundreds of years
+ * in 64 bits, so..
+ */
+ x *= USER_HZ;
+ do_div(x, HZ);
+#endif
+ return x;
+}
#endif
struct tms {
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 9f465bfd8179..cb5c0db14aa1 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -554,7 +554,6 @@ extern int usb_disabled(void);
#define URB_NO_FSBR 0x0020 /* UHCI-specific */
#define URB_ZERO_PACKET 0x0040 /* Finish bulk OUTs with short packet */
#define URB_NO_INTERRUPT 0x0080 /* HINT: no non-error interrupt needed */
-#define URB_TIMEOUT_KILLED 0x1000 /* only set by HCD! */
struct usb_iso_packet_descriptor {
unsigned int offset;
diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h
index bac8b2e3e666..7458d1f49472 100644
--- a/include/linux/xfrm.h
+++ b/include/linux/xfrm.h
@@ -163,6 +163,7 @@ struct xfrm_usersa_info {
struct xfrm_usersa_id {
xfrm_address_t saddr;
__u32 spi;
+ __u16 family;
__u8 proto;
};
diff --git a/include/net/route.h b/include/net/route.h
index ae62dc4e5683..ba15b5140798 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -167,7 +167,7 @@ static inline int ip_route_connect(struct rtable **rp, u32 dst,
ip_rt_put(*rp);
*rp = NULL;
}
- return ip_route_output_flow(rp, &fl, sk, 1);
+ return ip_route_output_flow(rp, &fl, sk, 0);
}
static inline int ip_route_newports(struct rtable **rp, u16 sport, u16 dport,
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index 82d2187eeb2a..0f331126faa4 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -105,7 +105,6 @@ struct xfrm_state
u16 family;
xfrm_address_t saddr;
int header_len;
- int trailer_len;
} props;
struct xfrm_lifetime_cfg lft;