diff options
Diffstat (limited to 'include')
68 files changed, 434 insertions, 368 deletions
diff --git a/include/asm-alpha/dma-mapping.h b/include/asm-alpha/dma-mapping.h index 9dc7256cf979..62d0d6681aa9 100644 --- a/include/asm-alpha/dma-mapping.h +++ b/include/asm-alpha/dma-mapping.h | |||
@@ -30,6 +30,7 @@ | |||
30 | 30 | ||
31 | #else /* no PCI - no IOMMU. */ | 31 | #else /* no PCI - no IOMMU. */ |
32 | 32 | ||
33 | struct scatterlist; | ||
33 | void *dma_alloc_coherent(struct device *dev, size_t size, | 34 | void *dma_alloc_coherent(struct device *dev, size_t size, |
34 | dma_addr_t *dma_handle, gfp_t gfp); | 35 | dma_addr_t *dma_handle, gfp_t gfp); |
35 | int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, | 36 | int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, |
diff --git a/include/asm-arm/arch-s3c2410/debug-macro.S b/include/asm-arm/arch-s3c2410/debug-macro.S index abfbe45cd17c..5f8223e700d3 100644 --- a/include/asm-arm/arch-s3c2410/debug-macro.S +++ b/include/asm-arm/arch-s3c2410/debug-macro.S | |||
@@ -25,7 +25,7 @@ | |||
25 | .macro addruart, rx | 25 | .macro addruart, rx |
26 | mrc p15, 0, \rx, c1, c0 | 26 | mrc p15, 0, \rx, c1, c0 |
27 | tst \rx, #1 | 27 | tst \rx, #1 |
28 | ldreq \rx, = S3C2410_PA_UART | 28 | ldreq \rx, = S3C24XX_PA_UART |
29 | ldrne \rx, = S3C24XX_VA_UART | 29 | ldrne \rx, = S3C24XX_VA_UART |
30 | #if CONFIG_DEBUG_S3C2410_UART != 0 | 30 | #if CONFIG_DEBUG_S3C2410_UART != 0 |
31 | add \rx, \rx, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C2410_UART) | 31 | add \rx, \rx, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C2410_UART) |
@@ -44,7 +44,7 @@ | |||
44 | 1003: | 44 | 1003: |
45 | mrc p15, 0, \rd, c1, c0 | 45 | mrc p15, 0, \rd, c1, c0 |
46 | tst \rd, #1 | 46 | tst \rd, #1 |
47 | addeq \rd, \rx, #(S3C2410_PA_GPIO - S3C2410_PA_UART) | 47 | addeq \rd, \rx, #(S3C24XX_PA_GPIO - S3C24XX_PA_UART) |
48 | addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) | 48 | addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) |
49 | bic \rd, \rd, #0xff000 | 49 | bic \rd, \rd, #0xff000 |
50 | ldr \rd, [ \rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0) ] | 50 | ldr \rd, [ \rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0) ] |
@@ -75,7 +75,7 @@ | |||
75 | 1003: | 75 | 1003: |
76 | mrc p15, 0, \rd, c1, c0 | 76 | mrc p15, 0, \rd, c1, c0 |
77 | tst \rd, #1 | 77 | tst \rd, #1 |
78 | addeq \rd, \rx, #(S3C2410_PA_GPIO - S3C2410_PA_UART) | 78 | addeq \rd, \rx, #(S3C24XX_PA_GPIO - S3C24XX_PA_UART) |
79 | addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) | 79 | addne \rd, \rx, #(S3C24XX_VA_GPIO - S3C24XX_VA_UART) |
80 | bic \rd, \rd, #0xff000 | 80 | bic \rd, \rd, #0xff000 |
81 | ldr \rd, [ \rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0) ] | 81 | ldr \rd, [ \rd, # S3C2410_GSTATUS1 - S3C2410_GPIOREG(0) ] |
diff --git a/include/asm-arm/arch-s3c2410/map.h b/include/asm-arm/arch-s3c2410/map.h index 1833ea5c4220..c380d264a847 100644 --- a/include/asm-arm/arch-s3c2410/map.h +++ b/include/asm-arm/arch-s3c2410/map.h | |||
@@ -14,6 +14,7 @@ | |||
14 | * 06-Jan-2003 BJD Linux 2.6.0 version, moved bast specifics out | 14 | * 06-Jan-2003 BJD Linux 2.6.0 version, moved bast specifics out |
15 | * 10-Feb-2005 BJD Added CAMIF definition from guillaume.gourat@nexvision.tv | 15 | * 10-Feb-2005 BJD Added CAMIF definition from guillaume.gourat@nexvision.tv |
16 | * 10-Mar-2005 LCVR Added support to S3C2400, changed {VA,SZ} names | 16 | * 10-Mar-2005 LCVR Added support to S3C2400, changed {VA,SZ} names |
17 | * 15-Jan-2006 LCVR Added S3C24XX_PA macros for common S3C24XX resources | ||
17 | */ | 18 | */ |
18 | 19 | ||
19 | #ifndef __ASM_ARCH_MAP_H | 20 | #ifndef __ASM_ARCH_MAP_H |
@@ -188,5 +189,42 @@ | |||
188 | 189 | ||
189 | #define S3C2400_SDRAM_PA (S3C2400_CS6) | 190 | #define S3C2400_SDRAM_PA (S3C2400_CS6) |
190 | 191 | ||
192 | /* Use a single interface for common resources between S3C24XX cpus */ | ||
193 | |||
194 | #ifdef CONFIG_CPU_S3C2400 | ||
195 | #define S3C24XX_PA_IRQ S3C2400_PA_IRQ | ||
196 | #define S3C24XX_PA_MEMCTRL S3C2400_PA_MEMCTRL | ||
197 | #define S3C24XX_PA_USBHOST S3C2400_PA_USBHOST | ||
198 | #define S3C24XX_PA_DMA S3C2400_PA_DMA | ||
199 | #define S3C24XX_PA_CLKPWR S3C2400_PA_CLKPWR | ||
200 | #define S3C24XX_PA_LCD S3C2400_PA_LCD | ||
201 | #define S3C24XX_PA_UART S3C2400_PA_UART | ||
202 | #define S3C24XX_PA_TIMER S3C2400_PA_TIMER | ||
203 | #define S3C24XX_PA_USBDEV S3C2400_PA_USBDEV | ||
204 | #define S3C24XX_PA_WATCHDOG S3C2400_PA_WATCHDOG | ||
205 | #define S3C24XX_PA_IIC S3C2400_PA_IIC | ||
206 | #define S3C24XX_PA_IIS S3C2400_PA_IIS | ||
207 | #define S3C24XX_PA_GPIO S3C2400_PA_GPIO | ||
208 | #define S3C24XX_PA_RTC S3C2400_PA_RTC | ||
209 | #define S3C24XX_PA_ADC S3C2400_PA_ADC | ||
210 | #define S3C24XX_PA_SPI S3C2400_PA_SPI | ||
211 | #else | ||
212 | #define S3C24XX_PA_IRQ S3C2410_PA_IRQ | ||
213 | #define S3C24XX_PA_MEMCTRL S3C2410_PA_MEMCTRL | ||
214 | #define S3C24XX_PA_USBHOST S3C2410_PA_USBHOST | ||
215 | #define S3C24XX_PA_DMA S3C2410_PA_DMA | ||
216 | #define S3C24XX_PA_CLKPWR S3C2410_PA_CLKPWR | ||
217 | #define S3C24XX_PA_LCD S3C2410_PA_LCD | ||
218 | #define S3C24XX_PA_UART S3C2410_PA_UART | ||
219 | #define S3C24XX_PA_TIMER S3C2410_PA_TIMER | ||
220 | #define S3C24XX_PA_USBDEV S3C2410_PA_USBDEV | ||
221 | #define S3C24XX_PA_WATCHDOG S3C2410_PA_WATCHDOG | ||
222 | #define S3C24XX_PA_IIC S3C2410_PA_IIC | ||
223 | #define S3C24XX_PA_IIS S3C2410_PA_IIS | ||
224 | #define S3C24XX_PA_GPIO S3C2410_PA_GPIO | ||
225 | #define S3C24XX_PA_RTC S3C2410_PA_RTC | ||
226 | #define S3C24XX_PA_ADC S3C2410_PA_ADC | ||
227 | #define S3C24XX_PA_SPI S3C2410_PA_SPI | ||
228 | #endif | ||
191 | 229 | ||
192 | #endif /* __ASM_ARCH_MAP_H */ | 230 | #endif /* __ASM_ARCH_MAP_H */ |
diff --git a/include/asm-arm/arch-s3c2410/regs-serial.h b/include/asm-arm/arch-s3c2410/regs-serial.h index ce1bbbaad6d3..83b01254c4ac 100644 --- a/include/asm-arm/arch-s3c2410/regs-serial.h +++ b/include/asm-arm/arch-s3c2410/regs-serial.h | |||
@@ -39,9 +39,9 @@ | |||
39 | #define S3C24XX_VA_UART1 (S3C24XX_VA_UART + 0x4000 ) | 39 | #define S3C24XX_VA_UART1 (S3C24XX_VA_UART + 0x4000 ) |
40 | #define S3C24XX_VA_UART2 (S3C24XX_VA_UART + 0x8000 ) | 40 | #define S3C24XX_VA_UART2 (S3C24XX_VA_UART + 0x8000 ) |
41 | 41 | ||
42 | #define S3C2410_PA_UART0 (S3C2410_PA_UART) | 42 | #define S3C2410_PA_UART0 (S3C24XX_PA_UART) |
43 | #define S3C2410_PA_UART1 (S3C2410_PA_UART + 0x4000 ) | 43 | #define S3C2410_PA_UART1 (S3C24XX_PA_UART + 0x4000 ) |
44 | #define S3C2410_PA_UART2 (S3C2410_PA_UART + 0x8000 ) | 44 | #define S3C2410_PA_UART2 (S3C24XX_PA_UART + 0x8000 ) |
45 | 45 | ||
46 | #define S3C2410_URXH (0x24) | 46 | #define S3C2410_URXH (0x24) |
47 | #define S3C2410_UTXH (0x20) | 47 | #define S3C2410_UTXH (0x20) |
diff --git a/include/asm-arm/arch-s3c2410/uncompress.h b/include/asm-arm/arch-s3c2410/uncompress.h index ddd1578a7ee0..4367ec054b51 100644 --- a/include/asm-arm/arch-s3c2410/uncompress.h +++ b/include/asm-arm/arch-s3c2410/uncompress.h | |||
@@ -35,13 +35,13 @@ | |||
35 | #undef S3C2410_GPIOREG | 35 | #undef S3C2410_GPIOREG |
36 | #undef S3C2410_WDOGREG | 36 | #undef S3C2410_WDOGREG |
37 | 37 | ||
38 | #define S3C2410_GPIOREG(x) ((S3C2410_PA_GPIO + (x))) | 38 | #define S3C2410_GPIOREG(x) ((S3C24XX_PA_GPIO + (x))) |
39 | #define S3C2410_WDOGREG(x) ((S3C2410_PA_WATCHDOG + (x))) | 39 | #define S3C2410_WDOGREG(x) ((S3C24XX_PA_WATCHDOG + (x))) |
40 | 40 | ||
41 | /* how many bytes we allow into the FIFO at a time in FIFO mode */ | 41 | /* how many bytes we allow into the FIFO at a time in FIFO mode */ |
42 | #define FIFO_MAX (14) | 42 | #define FIFO_MAX (14) |
43 | 43 | ||
44 | #define uart_base S3C2410_PA_UART + (0x4000*CONFIG_S3C2410_LOWLEVEL_UART_PORT) | 44 | #define uart_base S3C24XX_PA_UART + (0x4000*CONFIG_S3C2410_LOWLEVEL_UART_PORT) |
45 | 45 | ||
46 | static __inline__ void | 46 | static __inline__ void |
47 | uart_wr(unsigned int reg, unsigned int val) | 47 | uart_wr(unsigned int reg, unsigned int val) |
diff --git a/include/asm-arm/mach/map.h b/include/asm-arm/mach/map.h index 3351b77fab36..e8ea67c97c73 100644 --- a/include/asm-arm/mach/map.h +++ b/include/asm-arm/mach/map.h | |||
@@ -26,6 +26,7 @@ struct meminfo; | |||
26 | #define MT_MEMORY 5 | 26 | #define MT_MEMORY 5 |
27 | #define MT_ROM 6 | 27 | #define MT_ROM 6 |
28 | #define MT_IXP2000_DEVICE 7 | 28 | #define MT_IXP2000_DEVICE 7 |
29 | #define MT_NONSHARED_DEVICE 8 | ||
29 | 30 | ||
30 | extern void create_memmap_holes(struct meminfo *); | 31 | extern void create_memmap_holes(struct meminfo *); |
31 | extern void memtable_init(struct meminfo *); | 32 | extern void memtable_init(struct meminfo *); |
diff --git a/include/asm-arm/pgtable.h b/include/asm-arm/pgtable.h index 5a0d19b466b0..70e00d08345e 100644 --- a/include/asm-arm/pgtable.h +++ b/include/asm-arm/pgtable.h | |||
@@ -168,6 +168,7 @@ extern void __pgd_error(const char *file, int line, unsigned long val); | |||
168 | #define PMD_SECT_WB (PMD_SECT_CACHEABLE | PMD_SECT_BUFFERABLE) | 168 | #define PMD_SECT_WB (PMD_SECT_CACHEABLE | PMD_SECT_BUFFERABLE) |
169 | #define PMD_SECT_MINICACHE (PMD_SECT_TEX(1) | PMD_SECT_CACHEABLE) | 169 | #define PMD_SECT_MINICACHE (PMD_SECT_TEX(1) | PMD_SECT_CACHEABLE) |
170 | #define PMD_SECT_WBWA (PMD_SECT_TEX(1) | PMD_SECT_CACHEABLE | PMD_SECT_BUFFERABLE) | 170 | #define PMD_SECT_WBWA (PMD_SECT_TEX(1) | PMD_SECT_CACHEABLE | PMD_SECT_BUFFERABLE) |
171 | #define PMD_SECT_NONSHARED_DEV (PMD_SECT_TEX(2)) | ||
171 | 172 | ||
172 | /* | 173 | /* |
173 | * - coarse table (not used) | 174 | * - coarse table (not used) |
diff --git a/include/asm-arm26/bitops.h b/include/asm-arm26/bitops.h index 15cc6f2da792..d87f8634e625 100644 --- a/include/asm-arm26/bitops.h +++ b/include/asm-arm26/bitops.h | |||
@@ -186,7 +186,7 @@ extern void _change_bit_le(int nr, volatile unsigned long * p); | |||
186 | extern int _test_and_set_bit_le(int nr, volatile unsigned long * p); | 186 | extern int _test_and_set_bit_le(int nr, volatile unsigned long * p); |
187 | extern int _test_and_clear_bit_le(int nr, volatile unsigned long * p); | 187 | extern int _test_and_clear_bit_le(int nr, volatile unsigned long * p); |
188 | extern int _test_and_change_bit_le(int nr, volatile unsigned long * p); | 188 | extern int _test_and_change_bit_le(int nr, volatile unsigned long * p); |
189 | extern int _find_first_zero_bit_le(void * p, unsigned size); | 189 | extern int _find_first_zero_bit_le(const unsigned long * p, unsigned size); |
190 | extern int _find_next_zero_bit_le(void * p, int size, int offset); | 190 | extern int _find_next_zero_bit_le(void * p, int size, int offset); |
191 | extern int _find_first_bit_le(const unsigned long *p, unsigned size); | 191 | extern int _find_first_bit_le(const unsigned long *p, unsigned size); |
192 | extern int _find_next_bit_le(const unsigned long *p, int size, int offset); | 192 | extern int _find_next_bit_le(const unsigned long *p, int size, int offset); |
@@ -326,7 +326,7 @@ static inline int sched_find_first_bit(unsigned long *b) | |||
326 | #define minix_test_and_clear_bit(nr,p) \ | 326 | #define minix_test_and_clear_bit(nr,p) \ |
327 | __test_and_clear_bit(WORD_BITOFF_TO_LE(nr), (unsigned long *)(p)) | 327 | __test_and_clear_bit(WORD_BITOFF_TO_LE(nr), (unsigned long *)(p)) |
328 | #define minix_find_first_zero_bit(p,sz) \ | 328 | #define minix_find_first_zero_bit(p,sz) \ |
329 | _find_first_zero_bit_le(p,sz) | 329 | _find_first_zero_bit_le((unsigned long *)(p),sz) |
330 | 330 | ||
331 | #endif /* __KERNEL__ */ | 331 | #endif /* __KERNEL__ */ |
332 | 332 | ||
diff --git a/include/asm-arm26/hardirq.h b/include/asm-arm26/hardirq.h index dc28daab8aa8..87c19d2bb6a8 100644 --- a/include/asm-arm26/hardirq.h +++ b/include/asm-arm26/hardirq.h | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/config.h> | 4 | #include <linux/config.h> |
5 | #include <linux/cache.h> | 5 | #include <linux/cache.h> |
6 | #include <linux/threads.h> | 6 | #include <linux/threads.h> |
7 | #include <asm/irq.h> | ||
7 | 8 | ||
8 | typedef struct { | 9 | typedef struct { |
9 | unsigned int __softirq_pending; | 10 | unsigned int __softirq_pending; |
@@ -26,13 +27,6 @@ typedef struct { | |||
26 | 27 | ||
27 | extern asmlinkage void __do_softirq(void); | 28 | extern asmlinkage void __do_softirq(void); |
28 | 29 | ||
29 | #define irq_exit() \ | ||
30 | do { \ | ||
31 | preempt_count() -= IRQ_EXIT_OFFSET; \ | ||
32 | if (!in_interrupt() && local_softirq_pending()) \ | ||
33 | __do_softirq(); \ | ||
34 | preempt_enable_no_resched(); \ | ||
35 | } while (0) | ||
36 | #endif | 30 | #endif |
37 | 31 | ||
38 | 32 | ||
diff --git a/include/asm-arm26/posix_types.h b/include/asm-arm26/posix_types.h index b88344ad390c..f8d1eb4f4cb1 100644 --- a/include/asm-arm26/posix_types.h +++ b/include/asm-arm26/posix_types.h | |||
@@ -44,6 +44,7 @@ typedef unsigned int __kernel_gid32_t; | |||
44 | 44 | ||
45 | typedef unsigned short __kernel_old_uid_t; | 45 | typedef unsigned short __kernel_old_uid_t; |
46 | typedef unsigned short __kernel_old_gid_t; | 46 | typedef unsigned short __kernel_old_gid_t; |
47 | typedef unsigned short __kernel_old_dev_t; | ||
47 | 48 | ||
48 | #ifdef __GNUC__ | 49 | #ifdef __GNUC__ |
49 | typedef long long __kernel_loff_t; | 50 | typedef long long __kernel_loff_t; |
diff --git a/include/asm-arm26/system.h b/include/asm-arm26/system.h index ca4ccfc4b578..702884926a55 100644 --- a/include/asm-arm26/system.h +++ b/include/asm-arm26/system.h | |||
@@ -98,9 +98,8 @@ extern unsigned int user_debug; | |||
98 | * spin_unlock_irq() and friends are implemented. This avoids | 98 | * spin_unlock_irq() and friends are implemented. This avoids |
99 | * us needlessly decrementing and incrementing the preempt count. | 99 | * us needlessly decrementing and incrementing the preempt count. |
100 | */ | 100 | */ |
101 | #define prepare_arch_switch(rq,next) local_irq_enable() | 101 | #define prepare_arch_switch(next) local_irq_enable() |
102 | #define finish_arch_switch(rq,prev) spin_unlock(&(rq)->lock) | 102 | #define finish_arch_switch(prev) spin_unlock(&(rq)->lock) |
103 | #define task_running(rq,p) ((rq)->curr == (p)) | ||
104 | 103 | ||
105 | /* | 104 | /* |
106 | * switch_to(prev, next) should switch from task `prev' to `next' | 105 | * switch_to(prev, next) should switch from task `prev' to `next' |
diff --git a/include/asm-i386/page.h b/include/asm-i386/page.h index 73296d9924fb..997ca5d17876 100644 --- a/include/asm-i386/page.h +++ b/include/asm-i386/page.h | |||
@@ -110,10 +110,10 @@ extern int page_is_ram(unsigned long pagenr); | |||
110 | #endif /* __ASSEMBLY__ */ | 110 | #endif /* __ASSEMBLY__ */ |
111 | 111 | ||
112 | #ifdef __ASSEMBLY__ | 112 | #ifdef __ASSEMBLY__ |
113 | #define __PAGE_OFFSET (0xC0000000) | 113 | #define __PAGE_OFFSET CONFIG_PAGE_OFFSET |
114 | #define __PHYSICAL_START CONFIG_PHYSICAL_START | 114 | #define __PHYSICAL_START CONFIG_PHYSICAL_START |
115 | #else | 115 | #else |
116 | #define __PAGE_OFFSET (0xC0000000UL) | 116 | #define __PAGE_OFFSET ((unsigned long)CONFIG_PAGE_OFFSET) |
117 | #define __PHYSICAL_START ((unsigned long)CONFIG_PHYSICAL_START) | 117 | #define __PHYSICAL_START ((unsigned long)CONFIG_PHYSICAL_START) |
118 | #endif | 118 | #endif |
119 | #define __KERNEL_START (__PAGE_OFFSET + __PHYSICAL_START) | 119 | #define __KERNEL_START (__PAGE_OFFSET + __PHYSICAL_START) |
diff --git a/include/asm-ia64/sn/sn_feature_sets.h b/include/asm-ia64/sn/sn_feature_sets.h index e68a80853d5d..9ca642cad338 100644 --- a/include/asm-ia64/sn/sn_feature_sets.h +++ b/include/asm-ia64/sn/sn_feature_sets.h | |||
@@ -8,7 +8,7 @@ | |||
8 | * License. See the file "COPYING" in the main directory of this archive | 8 | * License. See the file "COPYING" in the main directory of this archive |
9 | * for more details. | 9 | * for more details. |
10 | * | 10 | * |
11 | * Copyright (c) 2005 Silicon Graphics, Inc. All rights reserved. | 11 | * Copyright (c) 2005-2006 Silicon Graphics, Inc. All rights reserved. |
12 | */ | 12 | */ |
13 | 13 | ||
14 | 14 | ||
@@ -27,14 +27,12 @@ extern int sn_prom_feature_available(int id); | |||
27 | * "false" for new features. | 27 | * "false" for new features. |
28 | * | 28 | * |
29 | * Use: | 29 | * Use: |
30 | * if (sn_prom_feature_available(PRF_FEATURE_XXX)) | 30 | * if (sn_prom_feature_available(PRF_XXX)) |
31 | * ... | 31 | * ... |
32 | */ | 32 | */ |
33 | 33 | ||
34 | /* | 34 | #define PRF_PAL_CACHE_FLUSH_SAFE 0 |
35 | * Example: feature XXX | 35 | #define PRF_DEVICE_FLUSH_LIST 1 |
36 | */ | ||
37 | #define PRF_FEATURE_XXX 0 | ||
38 | 36 | ||
39 | 37 | ||
40 | 38 | ||
@@ -51,7 +49,7 @@ extern int sn_prom_feature_available(int id); | |||
51 | * | 49 | * |
52 | * By default, features are disabled unless explicitly enabled. | 50 | * By default, features are disabled unless explicitly enabled. |
53 | */ | 51 | */ |
54 | #define OSF_MCA_SLV_TO_OS_INIT_SLV 0 | 52 | #define OSF_MCA_SLV_TO_OS_INIT_SLV 0 |
55 | #define OSF_FEAT_LOG_SBES 1 | 53 | #define OSF_FEAT_LOG_SBES 1 |
56 | 54 | ||
57 | #endif /* _ASM_IA64_SN_FEATURE_SETS_H */ | 55 | #endif /* _ASM_IA64_SN_FEATURE_SETS_H */ |
diff --git a/include/asm-powerpc/kexec.h b/include/asm-powerpc/kexec.h index 640a6459f2f4..bda2f217e6fe 100644 --- a/include/asm-powerpc/kexec.h +++ b/include/asm-powerpc/kexec.h | |||
@@ -33,6 +33,7 @@ | |||
33 | 33 | ||
34 | #ifdef CONFIG_KEXEC | 34 | #ifdef CONFIG_KEXEC |
35 | 35 | ||
36 | #ifndef __ASSEMBLY__ | ||
36 | #ifdef __powerpc64__ | 37 | #ifdef __powerpc64__ |
37 | /* | 38 | /* |
38 | * This function is responsible for capturing register states if coming | 39 | * This function is responsible for capturing register states if coming |
@@ -104,7 +105,6 @@ static inline void crash_setup_regs(struct pt_regs *newregs, | |||
104 | struct pt_regs *oldregs) { } | 105 | struct pt_regs *oldregs) { } |
105 | #endif /* !__powerpc64 __ */ | 106 | #endif /* !__powerpc64 __ */ |
106 | 107 | ||
107 | #ifndef __ASSEMBLY__ | ||
108 | #define MAX_NOTE_BYTES 1024 | 108 | #define MAX_NOTE_BYTES 1024 |
109 | 109 | ||
110 | #ifdef __powerpc64__ | 110 | #ifdef __powerpc64__ |
@@ -121,6 +121,8 @@ extern void default_machine_kexec(struct kimage *image); | |||
121 | extern int default_machine_kexec_prepare(struct kimage *image); | 121 | extern int default_machine_kexec_prepare(struct kimage *image); |
122 | extern void default_machine_crash_shutdown(struct pt_regs *regs); | 122 | extern void default_machine_crash_shutdown(struct pt_regs *regs); |
123 | 123 | ||
124 | extern void machine_kexec_simple(struct kimage *image); | ||
125 | |||
124 | #endif /* ! __ASSEMBLY__ */ | 126 | #endif /* ! __ASSEMBLY__ */ |
125 | #endif /* CONFIG_KEXEC */ | 127 | #endif /* CONFIG_KEXEC */ |
126 | #endif /* __KERNEL__ */ | 128 | #endif /* __KERNEL__ */ |
diff --git a/include/asm-powerpc/pmac_pfunc.h b/include/asm-powerpc/pmac_pfunc.h index d9728c80f86d..cef61304ffc2 100644 --- a/include/asm-powerpc/pmac_pfunc.h +++ b/include/asm-powerpc/pmac_pfunc.h | |||
@@ -167,6 +167,7 @@ struct pmf_irq_client { | |||
167 | void *data; | 167 | void *data; |
168 | struct module *owner; | 168 | struct module *owner; |
169 | struct list_head link; | 169 | struct list_head link; |
170 | struct pmf_function *func; | ||
170 | }; | 171 | }; |
171 | 172 | ||
172 | 173 | ||
@@ -187,9 +188,7 @@ extern int pmf_register_irq_client(struct device_node *np, | |||
187 | const char *name, | 188 | const char *name, |
188 | struct pmf_irq_client *client); | 189 | struct pmf_irq_client *client); |
189 | 190 | ||
190 | extern void pmf_unregister_irq_client(struct device_node *np, | 191 | extern void pmf_unregister_irq_client(struct pmf_irq_client *client); |
191 | const char *name, | ||
192 | struct pmf_irq_client *client); | ||
193 | 192 | ||
194 | /* | 193 | /* |
195 | * Called by the handlers when an irq happens | 194 | * Called by the handlers when an irq happens |
diff --git a/include/asm-s390/dasd.h b/include/asm-s390/dasd.h index 77b10d6adabd..1630c26e8f45 100644 --- a/include/asm-s390/dasd.h +++ b/include/asm-s390/dasd.h | |||
@@ -8,8 +8,6 @@ | |||
8 | * any future changes wrt the API will result in a change of the APIVERSION reported | 8 | * any future changes wrt the API will result in a change of the APIVERSION reported |
9 | * to userspace by the DASDAPIVER-ioctl | 9 | * to userspace by the DASDAPIVER-ioctl |
10 | * | 10 | * |
11 | * $Revision: 1.6 $ | ||
12 | * | ||
13 | */ | 11 | */ |
14 | 12 | ||
15 | #ifndef DASD_H | 13 | #ifndef DASD_H |
diff --git a/include/asm-s390/qdio.h b/include/asm-s390/qdio.h index 7bc15f0231db..a2f37a9353d3 100644 --- a/include/asm-s390/qdio.h +++ b/include/asm-s390/qdio.h | |||
@@ -11,8 +11,6 @@ | |||
11 | #ifndef __QDIO_H__ | 11 | #ifndef __QDIO_H__ |
12 | #define __QDIO_H__ | 12 | #define __QDIO_H__ |
13 | 13 | ||
14 | #define VERSION_QDIO_H "$Revision: 1.57 $" | ||
15 | |||
16 | /* note, that most of the typedef's are from ingo. */ | 14 | /* note, that most of the typedef's are from ingo. */ |
17 | 15 | ||
18 | #include <linux/interrupt.h> | 16 | #include <linux/interrupt.h> |
diff --git a/include/asm-s390/thread_info.h b/include/asm-s390/thread_info.h index f3797a52c4ea..8e0c7ed73d03 100644 --- a/include/asm-s390/thread_info.h +++ b/include/asm-s390/thread_info.h | |||
@@ -2,7 +2,7 @@ | |||
2 | * include/asm-s390/thread_info.h | 2 | * include/asm-s390/thread_info.h |
3 | * | 3 | * |
4 | * S390 version | 4 | * S390 version |
5 | * Copyright (C) 2002 IBM Deutschland Entwicklung GmbH, IBM Corporation | 5 | * Copyright (C) IBM Corp. 2002,2006 |
6 | * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com) | 6 | * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com) |
7 | */ | 7 | */ |
8 | 8 | ||
@@ -88,7 +88,7 @@ static inline struct thread_info *current_thread_info(void) | |||
88 | * thread information flags bit numbers | 88 | * thread information flags bit numbers |
89 | */ | 89 | */ |
90 | #define TIF_SYSCALL_TRACE 0 /* syscall trace active */ | 90 | #define TIF_SYSCALL_TRACE 0 /* syscall trace active */ |
91 | #define TIF_NOTIFY_RESUME 1 /* resumption notification requested */ | 91 | #define TIF_RESTORE_SIGMASK 1 /* restore signal mask in do_signal() */ |
92 | #define TIF_SIGPENDING 2 /* signal pending */ | 92 | #define TIF_SIGPENDING 2 /* signal pending */ |
93 | #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ | 93 | #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ |
94 | #define TIF_RESTART_SVC 4 /* restart svc with new svc number */ | 94 | #define TIF_RESTART_SVC 4 /* restart svc with new svc number */ |
@@ -102,7 +102,7 @@ static inline struct thread_info *current_thread_info(void) | |||
102 | #define TIF_MEMDIE 19 | 102 | #define TIF_MEMDIE 19 |
103 | 103 | ||
104 | #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) | 104 | #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE) |
105 | #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME) | 105 | #define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK) |
106 | #define _TIF_SIGPENDING (1<<TIF_SIGPENDING) | 106 | #define _TIF_SIGPENDING (1<<TIF_SIGPENDING) |
107 | #define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) | 107 | #define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED) |
108 | #define _TIF_RESTART_SVC (1<<TIF_RESTART_SVC) | 108 | #define _TIF_RESTART_SVC (1<<TIF_RESTART_SVC) |
diff --git a/include/asm-s390/unistd.h b/include/asm-s390/unistd.h index 2861cdc243ad..29a9f357eb9e 100644 --- a/include/asm-s390/unistd.h +++ b/include/asm-s390/unistd.h | |||
@@ -279,8 +279,24 @@ | |||
279 | #define __NR_inotify_init 284 | 279 | #define __NR_inotify_init 284 |
280 | #define __NR_inotify_add_watch 285 | 280 | #define __NR_inotify_add_watch 285 |
281 | #define __NR_inotify_rm_watch 286 | 281 | #define __NR_inotify_rm_watch 286 |
282 | /* Number 287 is reserved for new sys_migrate_pages */ | ||
283 | #define __NR_openat 288 | ||
284 | #define __NR_mkdirat 289 | ||
285 | #define __NR_mknodat 290 | ||
286 | #define __NR_fchownat 291 | ||
287 | #define __NR_futimesat 292 | ||
288 | #define __NR_newfstatat 293 | ||
289 | #define __NR_unlinkat 294 | ||
290 | #define __NR_renameat 295 | ||
291 | #define __NR_linkat 296 | ||
292 | #define __NR_symlinkat 297 | ||
293 | #define __NR_readlinkat 298 | ||
294 | #define __NR_fchmodat 299 | ||
295 | #define __NR_faccessat 300 | ||
296 | #define __NR_pselect6 301 | ||
297 | #define __NR_ppoll 302 | ||
282 | 298 | ||
283 | #define NR_syscalls 287 | 299 | #define NR_syscalls 303 |
284 | 300 | ||
285 | /* | 301 | /* |
286 | * There are some system calls that are not present on 64 bit, some | 302 | * There are some system calls that are not present on 64 bit, some |
@@ -539,11 +555,15 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, \ | |||
539 | #define __ARCH_WANT_SYS_SIGPENDING | 555 | #define __ARCH_WANT_SYS_SIGPENDING |
540 | #define __ARCH_WANT_SYS_SIGPROCMASK | 556 | #define __ARCH_WANT_SYS_SIGPROCMASK |
541 | #define __ARCH_WANT_SYS_RT_SIGACTION | 557 | #define __ARCH_WANT_SYS_RT_SIGACTION |
558 | #define __ARCH_WANT_SYS_RT_SIGSUSPEND | ||
542 | # ifndef CONFIG_64BIT | 559 | # ifndef CONFIG_64BIT |
543 | # define __ARCH_WANT_STAT64 | 560 | # define __ARCH_WANT_STAT64 |
544 | # define __ARCH_WANT_SYS_TIME | 561 | # define __ARCH_WANT_SYS_TIME |
545 | # endif | 562 | # endif |
546 | # define __ARCH_WANT_COMPAT_SYS_TIME | 563 | # ifdef CONFIG_COMPAT |
564 | # define __ARCH_WANT_COMPAT_SYS_TIME | ||
565 | # define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND | ||
566 | # endif | ||
547 | #endif | 567 | #endif |
548 | 568 | ||
549 | #ifdef __KERNEL_SYSCALLS__ | 569 | #ifdef __KERNEL_SYSCALLS__ |
diff --git a/include/asm-sh/bus-sh.h b/include/asm-sh/bus-sh.h deleted file mode 100644 index e42d63b65cb5..000000000000 --- a/include/asm-sh/bus-sh.h +++ /dev/null | |||
@@ -1,66 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm-sh/bus-sh.h | ||
3 | * | ||
4 | * Copyright (C) 2004 Paul Mundt | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file "COPYING" in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | #ifndef __ASM_SH_BUS_SH_H | ||
11 | #define __ASM_SH_BUS_SH_H | ||
12 | |||
13 | extern struct bus_type sh_bus_types[]; | ||
14 | |||
15 | struct sh_dev { | ||
16 | struct device dev; | ||
17 | char *name; | ||
18 | unsigned int dev_id; | ||
19 | unsigned int bus_id; | ||
20 | struct resource res; | ||
21 | void *mapbase; | ||
22 | unsigned int irq[6]; | ||
23 | u64 *dma_mask; | ||
24 | u64 coherent_dma_mask; | ||
25 | }; | ||
26 | |||
27 | #define to_sh_dev(d) container_of((d), struct sh_dev, dev) | ||
28 | |||
29 | #define sh_get_drvdata(d) dev_get_drvdata(&(d)->dev) | ||
30 | #define sh_set_drvdata(d,p) dev_set_drvdata(&(d)->dev, (p)) | ||
31 | |||
32 | struct sh_driver { | ||
33 | struct device_driver drv; | ||
34 | unsigned int dev_id; | ||
35 | unsigned int bus_id; | ||
36 | int (*probe)(struct sh_dev *); | ||
37 | int (*remove)(struct sh_dev *); | ||
38 | int (*suspend)(struct sh_dev *, pm_message_t); | ||
39 | int (*resume)(struct sh_dev *); | ||
40 | }; | ||
41 | |||
42 | #define to_sh_driver(d) container_of((d), struct sh_driver, drv) | ||
43 | #define sh_name(d) ((d)->dev.driver->name) | ||
44 | |||
45 | /* | ||
46 | * Device ID numbers for bus types | ||
47 | */ | ||
48 | enum { | ||
49 | SH_DEV_ID_USB_OHCI, | ||
50 | }; | ||
51 | |||
52 | #define SH_NR_BUSES 1 | ||
53 | #define SH_BUS_NAME_VIRT "shbus" | ||
54 | |||
55 | enum { | ||
56 | SH_BUS_VIRT, | ||
57 | }; | ||
58 | |||
59 | /* arch/sh/kernel/cpu/bus.c */ | ||
60 | extern int sh_device_register(struct sh_dev *dev); | ||
61 | extern void sh_device_unregister(struct sh_dev *dev); | ||
62 | extern int sh_driver_register(struct sh_driver *drv); | ||
63 | extern void sh_driver_unregister(struct sh_driver *drv); | ||
64 | |||
65 | #endif /* __ASM_SH_BUS_SH_H */ | ||
66 | |||
diff --git a/include/asm-sh/cpu-sh3/mmu_context.h b/include/asm-sh/cpu-sh3/mmu_context.h index 5cfaa6bcf1ed..a844ea0965b6 100644 --- a/include/asm-sh/cpu-sh3/mmu_context.h +++ b/include/asm-sh/cpu-sh3/mmu_context.h | |||
@@ -24,5 +24,15 @@ | |||
24 | #define MMU_NTLB_WAYS 4 | 24 | #define MMU_NTLB_WAYS 4 |
25 | #define MMU_CONTROL_INIT 0x007 /* SV=0, TF=1, IX=1, AT=1 */ | 25 | #define MMU_CONTROL_INIT 0x007 /* SV=0, TF=1, IX=1, AT=1 */ |
26 | 26 | ||
27 | #define TRA 0xffffffd0 | ||
28 | #define EXPEVT 0xffffffd4 | ||
29 | |||
30 | #if defined(CONFIG_CPU_SUBTYPE_SH7707) || defined(CONFIG_CPU_SUBTYPE_SH7709) || \ | ||
31 | defined(CONFIG_CPU_SUBTYPE_SH7300) || defined(CONFIG_CPU_SUBTYPE_SH7705) | ||
32 | #define INTEVT 0xa4000000 /* INTEVTE2(0xa4000000) */ | ||
33 | #else | ||
34 | #define INTEVT 0xffffffd8 | ||
35 | #endif | ||
36 | |||
27 | #endif /* __ASM_CPU_SH3_MMU_CONTEXT_H */ | 37 | #endif /* __ASM_CPU_SH3_MMU_CONTEXT_H */ |
28 | 38 | ||
diff --git a/include/asm-sh/cpu-sh4/mmu_context.h b/include/asm-sh/cpu-sh4/mmu_context.h index 5b64d041f0b9..ff4c5fbbfaf0 100644 --- a/include/asm-sh/cpu-sh4/mmu_context.h +++ b/include/asm-sh/cpu-sh4/mmu_context.h | |||
@@ -23,7 +23,11 @@ | |||
23 | #define MMU_PAGE_ASSOC_BIT 0x80 | 23 | #define MMU_PAGE_ASSOC_BIT 0x80 |
24 | 24 | ||
25 | #define MMU_NTLB_ENTRIES 64 /* for 7750 */ | 25 | #define MMU_NTLB_ENTRIES 64 /* for 7750 */ |
26 | #ifdef CONFIG_SH_STORE_QUEUES | ||
27 | #define MMU_CONTROL_INIT 0x05 /* SQMD=0, SV=0, TI=1, AT=1 */ | ||
28 | #else | ||
26 | #define MMU_CONTROL_INIT 0x205 /* SQMD=1, SV=0, TI=1, AT=1 */ | 29 | #define MMU_CONTROL_INIT 0x205 /* SQMD=1, SV=0, TI=1, AT=1 */ |
30 | #endif | ||
27 | 31 | ||
28 | #define MMU_ITLB_DATA_ARRAY 0xF3000000 | 32 | #define MMU_ITLB_DATA_ARRAY 0xF3000000 |
29 | #define MMU_UTLB_DATA_ARRAY 0xF7000000 | 33 | #define MMU_UTLB_DATA_ARRAY 0xF7000000 |
@@ -35,5 +39,9 @@ | |||
35 | #define MMU_I_ENTRY_SHIFT 8 | 39 | #define MMU_I_ENTRY_SHIFT 8 |
36 | #define MMU_ITLB_VALID 0x100 | 40 | #define MMU_ITLB_VALID 0x100 |
37 | 41 | ||
42 | #define TRA 0xff000020 | ||
43 | #define EXPEVT 0xff000024 | ||
44 | #define INTEVT 0xff000028 | ||
45 | |||
38 | #endif /* __ASM_CPU_SH4_MMU_CONTEXT_H */ | 46 | #endif /* __ASM_CPU_SH4_MMU_CONTEXT_H */ |
39 | 47 | ||
diff --git a/include/asm-sh/ioctls.h b/include/asm-sh/ioctls.h index 1866f3f90028..9d84a2d445a2 100644 --- a/include/asm-sh/ioctls.h +++ b/include/asm-sh/ioctls.h | |||
@@ -94,6 +94,6 @@ | |||
94 | #define TIOCSERSETMULTI _IOW('T', 91, struct serial_multiport_struct) /* 0x545B */ /* Set multiport config */ | 94 | #define TIOCSERSETMULTI _IOW('T', 91, struct serial_multiport_struct) /* 0x545B */ /* Set multiport config */ |
95 | 95 | ||
96 | #define TIOCMIWAIT _IO('T', 92) /* 0x545C */ /* wait for a change on serial input line(s) */ | 96 | #define TIOCMIWAIT _IO('T', 92) /* 0x545C */ /* wait for a change on serial input line(s) */ |
97 | #define TIOCGICOUNT _IOR('T', 93, struct async_icount) /* 0x545D */ /* read serial port inline interrupt counts */ | 97 | #define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ |
98 | 98 | ||
99 | #endif /* __ASM_SH_IOCTLS_H */ | 99 | #endif /* __ASM_SH_IOCTLS_H */ |
diff --git a/include/asm-sh/irq-sh73180.h b/include/asm-sh/irq-sh73180.h index bf2e4310ffac..d705252be260 100644 --- a/include/asm-sh/irq-sh73180.h +++ b/include/asm-sh/irq-sh73180.h | |||
@@ -25,11 +25,6 @@ | |||
25 | #undef DMA_IPR_POS | 25 | #undef DMA_IPR_POS |
26 | #undef DMA_PRIORITY | 26 | #undef DMA_PRIORITY |
27 | 27 | ||
28 | #undef NR_IRQS | ||
29 | |||
30 | #undef __irq_demux | ||
31 | #undef irq_demux | ||
32 | |||
33 | #undef INTC_IMCR0 | 28 | #undef INTC_IMCR0 |
34 | #undef INTC_IMCR1 | 29 | #undef INTC_IMCR1 |
35 | #undef INTC_IMCR2 | 30 | #undef INTC_IMCR2 |
@@ -229,33 +224,6 @@ | |||
229 | #define SIU_IPR_POS 1 | 224 | #define SIU_IPR_POS 1 |
230 | #define SIU_PRIORITY 3 | 225 | #define SIU_PRIORITY 3 |
231 | 226 | ||
232 | |||
233 | /* ONCHIP_NR_IRQS */ | ||
234 | #define NR_IRQS 109 | ||
235 | |||
236 | /* In a generic kernel, NR_IRQS is an upper bound, and we should use | ||
237 | * ACTUAL_NR_IRQS (which uses the machine vector) to get the correct value. | ||
238 | */ | ||
239 | #define ACTUAL_NR_IRQS NR_IRQS | ||
240 | |||
241 | |||
242 | extern void disable_irq(unsigned int); | ||
243 | extern void disable_irq_nosync(unsigned int); | ||
244 | extern void enable_irq(unsigned int); | ||
245 | |||
246 | /* | ||
247 | * Simple Mask Register Support | ||
248 | */ | ||
249 | extern void make_maskreg_irq(unsigned int irq); | ||
250 | extern unsigned short *irq_mask_register; | ||
251 | |||
252 | /* | ||
253 | * Function for "on chip support modules". | ||
254 | */ | ||
255 | extern void make_ipr_irq(unsigned int irq, unsigned int addr, | ||
256 | int pos, int priority); | ||
257 | extern void make_imask_irq(unsigned int irq); | ||
258 | |||
259 | #define PORT_PACR 0xA4050100UL | 227 | #define PORT_PACR 0xA4050100UL |
260 | #define PORT_PBCR 0xA4050102UL | 228 | #define PORT_PBCR 0xA4050102UL |
261 | #define PORT_PCCR 0xA4050104UL | 229 | #define PORT_PCCR 0xA4050104UL |
@@ -343,8 +311,6 @@ extern void make_imask_irq(unsigned int irq); | |||
343 | #define IRQ6_PRIORITY 1 | 311 | #define IRQ6_PRIORITY 1 |
344 | #define IRQ7_PRIORITY 1 | 312 | #define IRQ7_PRIORITY 1 |
345 | 313 | ||
346 | extern int shmse_irq_demux(int irq); | 314 | int shmse_irq_demux(int irq); |
347 | #define __irq_demux(irq) shmse_irq_demux(irq) | ||
348 | #define irq_demux(irq) __irq_demux(irq) | ||
349 | 315 | ||
350 | #endif /* __ASM_SH_IRQ_SH73180_H */ | 316 | #endif /* __ASM_SH_IRQ_SH73180_H */ |
diff --git a/include/asm-sh/irq-sh7780.h b/include/asm-sh/irq-sh7780.h index 8c8ca1281084..7f90315cd830 100644 --- a/include/asm-sh/irq-sh7780.h +++ b/include/asm-sh/irq-sh7780.h | |||
@@ -299,29 +299,6 @@ | |||
299 | #define GPIO_IPR_POS 2 | 299 | #define GPIO_IPR_POS 2 |
300 | #define GPIO_PRIORITY 3 | 300 | #define GPIO_PRIORITY 3 |
301 | 301 | ||
302 | /* ONCHIP_NR_IRQS */ | ||
303 | #define NR_IRQS 150 /* 111 + 16 */ | ||
304 | |||
305 | /* In a generic kernel, NR_IRQS is an upper bound, and we should use | ||
306 | * ACTUAL_NR_IRQS (which uses the machine vector) to get the correct value. | ||
307 | */ | ||
308 | #define ACTUAL_NR_IRQS NR_IRQS | ||
309 | |||
310 | extern void disable_irq(unsigned int); | ||
311 | extern void disable_irq_nosync(unsigned int); | ||
312 | extern void enable_irq(unsigned int); | ||
313 | |||
314 | /* | ||
315 | * Simple Mask Register Support | ||
316 | */ | ||
317 | extern void make_maskreg_irq(unsigned int irq); | ||
318 | extern unsigned short *irq_mask_register; | ||
319 | |||
320 | /* | ||
321 | * Function for "on chip support modules". | ||
322 | */ | ||
323 | extern void make_imask_irq(unsigned int irq); | ||
324 | |||
325 | #define INTC_TMU0_MSK 0 | 302 | #define INTC_TMU0_MSK 0 |
326 | #define INTC_TMU3_MSK 1 | 303 | #define INTC_TMU3_MSK 1 |
327 | #define INTC_RTC_MSK 2 | 304 | #define INTC_RTC_MSK 2 |
diff --git a/include/asm-sh/irq.h b/include/asm-sh/irq.h index 060ec3c27207..42b8394c04ed 100644 --- a/include/asm-sh/irq.h +++ b/include/asm-sh/irq.h | |||
@@ -245,6 +245,7 @@ | |||
245 | #endif /* ST40STB1 */ | 245 | #endif /* ST40STB1 */ |
246 | 246 | ||
247 | #endif /* 775x / SH4-202 / ST40STB1 */ | 247 | #endif /* 775x / SH4-202 / ST40STB1 */ |
248 | #endif /* 7780 */ | ||
248 | 249 | ||
249 | /* NR_IRQS is made from three components: | 250 | /* NR_IRQS is made from three components: |
250 | * 1. ONCHIP_NR_IRQS - number of IRLS + on-chip peripherial modules | 251 | * 1. ONCHIP_NR_IRQS - number of IRLS + on-chip peripherial modules |
@@ -274,8 +275,11 @@ | |||
274 | # define ONCHIP_NR_IRQS 72 | 275 | # define ONCHIP_NR_IRQS 72 |
275 | #elif defined(CONFIG_CPU_SUBTYPE_ST40STB1) | 276 | #elif defined(CONFIG_CPU_SUBTYPE_ST40STB1) |
276 | # define ONCHIP_NR_IRQS 144 | 277 | # define ONCHIP_NR_IRQS 144 |
277 | #elif defined(CONFIG_CPU_SUBTYPE_SH7300) | 278 | #elif defined(CONFIG_CPU_SUBTYPE_SH7300) || \ |
279 | defined(CONFIG_CPU_SUBTYPE_SH73180) | ||
278 | # define ONCHIP_NR_IRQS 109 | 280 | # define ONCHIP_NR_IRQS 109 |
281 | #elif defined(CONFIG_CPU_SUBTYPE_SH7780) | ||
282 | # define ONCHIP_NR_IRQS 111 | ||
279 | #elif defined(CONFIG_SH_UNKNOWN) /* Most be last */ | 283 | #elif defined(CONFIG_SH_UNKNOWN) /* Most be last */ |
280 | # define ONCHIP_NR_IRQS 144 | 284 | # define ONCHIP_NR_IRQS 144 |
281 | #endif | 285 | #endif |
@@ -306,6 +310,8 @@ | |||
306 | # define OFFCHIP_NR_IRQS 96 | 310 | # define OFFCHIP_NR_IRQS 96 |
307 | #elif defined (CONFIG_SH_TITAN) | 311 | #elif defined (CONFIG_SH_TITAN) |
308 | # define OFFCHIP_NR_IRQS 4 | 312 | # define OFFCHIP_NR_IRQS 4 |
313 | #elif defined(CONFIG_SH_R7780RP) | ||
314 | # define OFFCHIP_NR_IRQS 16 | ||
309 | #elif defined(CONFIG_SH_UNKNOWN) | 315 | #elif defined(CONFIG_SH_UNKNOWN) |
310 | # define OFFCHIP_NR_IRQS 16 /* Must also be last */ | 316 | # define OFFCHIP_NR_IRQS 16 /* Must also be last */ |
311 | #else | 317 | #else |
@@ -550,7 +556,7 @@ extern int ipr_irq_demux(int irq); | |||
550 | #define INTC_ICR_IRLM (1<<7) | 556 | #define INTC_ICR_IRLM (1<<7) |
551 | #endif | 557 | #endif |
552 | 558 | ||
553 | #else | 559 | #ifdef CONFIG_CPU_SUBTYPE_SH7780 |
554 | #include <asm/irq-sh7780.h> | 560 | #include <asm/irq-sh7780.h> |
555 | #endif | 561 | #endif |
556 | 562 | ||
diff --git a/include/asm-sh/microdev/irq.h b/include/asm-sh/microdev.h index 47f6f77a65f0..018332a9e590 100644 --- a/include/asm-sh/microdev/irq.h +++ b/include/asm-sh/microdev.h | |||
@@ -1,32 +1,27 @@ | |||
1 | /* | 1 | /* |
2 | * linux/include/asm-sh/irq_microdev.h | 2 | * linux/include/asm-sh/microdev.h |
3 | * | 3 | * |
4 | * Copyright (C) 2003 Sean McGoogan (Sean.McGoogan@superh.com) | 4 | * Copyright (C) 2003 Sean McGoogan (Sean.McGoogan@superh.com) |
5 | * | 5 | * |
6 | * IRQ functions for the SuperH SH4-202 MicroDev board. | 6 | * Definitions for the SuperH SH4-202 MicroDev board. |
7 | * | 7 | * |
8 | * May be copied or modified under the terms of the GNU General Public | 8 | * May be copied or modified under the terms of the GNU General Public |
9 | * License. See linux/COPYING for more information. | 9 | * License. See linux/COPYING for more information. |
10 | * | ||
11 | */ | 10 | */ |
12 | 11 | #ifndef __ASM_SH_MICRODEV_H | |
13 | 12 | #define __ASM_SH_MICRODEV_H | |
14 | #ifndef _ASM_SH_IRQ_MICRODEV_H | ||
15 | #define _ASM_SH_IRQ_MICRODEV_H | ||
16 | 13 | ||
17 | extern void init_microdev_irq(void); | 14 | extern void init_microdev_irq(void); |
18 | extern void microdev_print_fpga_intc_status(void); | 15 | extern void microdev_print_fpga_intc_status(void); |
19 | 16 | ||
20 | 17 | /* | |
21 | /* | 18 | * The following are useful macros for manipulating the interrupt |
22 | * The following are useful macros for manipulating the | 19 | * controller (INTC) on the CPU-board FPGA. should be noted that there |
23 | * interrupt controller (INTC) on the CPU-board FPGA. | 20 | * is an INTC on the FPGA, and a seperate INTC on the SH4-202 core - |
24 | * It should be noted that there is an INTC on the FPGA, | 21 | * these are two different things, both of which need to be prorammed to |
25 | * and a seperate INTC on the SH4-202 core - these are | 22 | * correctly route - unfortunately, they have the same name and |
26 | * two different things, both of which need to be prorammed | 23 | * abbreviations! |
27 | * to correctly route - unfortunately, they have the | 24 | */ |
28 | * same name and abbreviations! | ||
29 | */ | ||
30 | #define MICRODEV_FPGA_INTC_BASE 0xa6110000ul /* INTC base address on CPU-board FPGA */ | 25 | #define MICRODEV_FPGA_INTC_BASE 0xa6110000ul /* INTC base address on CPU-board FPGA */ |
31 | #define MICRODEV_FPGA_INTENB_REG (MICRODEV_FPGA_INTC_BASE+0ul) /* Interrupt Enable Register on INTC on CPU-board FPGA */ | 26 | #define MICRODEV_FPGA_INTENB_REG (MICRODEV_FPGA_INTC_BASE+0ul) /* Interrupt Enable Register on INTC on CPU-board FPGA */ |
32 | #define MICRODEV_FPGA_INTDSB_REG (MICRODEV_FPGA_INTC_BASE+8ul) /* Interrupt Disable Register on INTC on CPU-board FPGA */ | 27 | #define MICRODEV_FPGA_INTDSB_REG (MICRODEV_FPGA_INTC_BASE+8ul) /* Interrupt Disable Register on INTC on CPU-board FPGA */ |
@@ -38,10 +33,10 @@ extern void microdev_print_fpga_intc_status(void); | |||
38 | #define MICRODEV_FPGA_INTREQ_REG (MICRODEV_FPGA_INTC_BASE+0x38ul) /* Interrupt Request Register on INTC on CPU-board FPGA */ | 33 | #define MICRODEV_FPGA_INTREQ_REG (MICRODEV_FPGA_INTC_BASE+0x38ul) /* Interrupt Request Register on INTC on CPU-board FPGA */ |
39 | 34 | ||
40 | 35 | ||
41 | /* | 36 | /* |
42 | * The following are the IRQ numbers for the Linux Kernel for external interrupts. | 37 | * The following are the IRQ numbers for the Linux Kernel for external |
43 | * i.e. the numbers seen by 'cat /proc/interrupt'. | 38 | * interrupts. i.e. the numbers seen by 'cat /proc/interrupt'. |
44 | */ | 39 | */ |
45 | #define MICRODEV_LINUX_IRQ_KEYBOARD 1 /* SuperIO Keyboard */ | 40 | #define MICRODEV_LINUX_IRQ_KEYBOARD 1 /* SuperIO Keyboard */ |
46 | #define MICRODEV_LINUX_IRQ_SERIAL1 2 /* SuperIO Serial #1 */ | 41 | #define MICRODEV_LINUX_IRQ_SERIAL1 2 /* SuperIO Serial #1 */ |
47 | #define MICRODEV_LINUX_IRQ_ETHERNET 3 /* on-board Ethnernet */ | 42 | #define MICRODEV_LINUX_IRQ_ETHERNET 3 /* on-board Ethnernet */ |
@@ -51,10 +46,11 @@ extern void microdev_print_fpga_intc_status(void); | |||
51 | #define MICRODEV_LINUX_IRQ_IDE2 13 /* SuperIO IDE #2 */ | 46 | #define MICRODEV_LINUX_IRQ_IDE2 13 /* SuperIO IDE #2 */ |
52 | #define MICRODEV_LINUX_IRQ_IDE1 14 /* SuperIO IDE #1 */ | 47 | #define MICRODEV_LINUX_IRQ_IDE1 14 /* SuperIO IDE #1 */ |
53 | 48 | ||
54 | /* | 49 | /* |
55 | * The following are the IRQ numbers for the INTC on the FPGA for external interrupts. | 50 | * The following are the IRQ numbers for the INTC on the FPGA for |
56 | * i.e. the bits in the INTC registers in the FPGA. | 51 | * external interrupts. i.e. the bits in the INTC registers in the |
57 | */ | 52 | * FPGA. |
53 | */ | ||
58 | #define MICRODEV_FPGA_IRQ_KEYBOARD 1 /* SuperIO Keyboard */ | 54 | #define MICRODEV_FPGA_IRQ_KEYBOARD 1 /* SuperIO Keyboard */ |
59 | #define MICRODEV_FPGA_IRQ_SERIAL1 3 /* SuperIO Serial #1 */ | 55 | #define MICRODEV_FPGA_IRQ_SERIAL1 3 /* SuperIO Serial #1 */ |
60 | #define MICRODEV_FPGA_IRQ_SERIAL2 4 /* SuperIO Serial #2 */ | 56 | #define MICRODEV_FPGA_IRQ_SERIAL2 4 /* SuperIO Serial #2 */ |
@@ -69,4 +65,16 @@ extern void microdev_print_fpga_intc_status(void); | |||
69 | #define MICRODEV_IRQ_PCI_INTC 10 | 65 | #define MICRODEV_IRQ_PCI_INTC 10 |
70 | #define MICRODEV_IRQ_PCI_INTD 11 | 66 | #define MICRODEV_IRQ_PCI_INTD 11 |
71 | 67 | ||
72 | #endif /* _ASM_SH_IRQ_MICRODEV_H */ | 68 | #define __IO_PREFIX microdev |
69 | #include <asm/io_generic.h> | ||
70 | |||
71 | #if defined(CONFIG_PCI) | ||
72 | unsigned char microdev_pci_inb(unsigned long port); | ||
73 | unsigned short microdev_pci_inw(unsigned long port); | ||
74 | unsigned long microdev_pci_inl(unsigned long port); | ||
75 | void microdev_pci_outb(unsigned char data, unsigned long port); | ||
76 | void microdev_pci_outw(unsigned short data, unsigned long port); | ||
77 | void microdev_pci_outl(unsigned long data, unsigned long port); | ||
78 | #endif | ||
79 | |||
80 | #endif /* __ASM_SH_MICRODEV_H */ | ||
diff --git a/include/asm-sh/microdev/io.h b/include/asm-sh/microdev/io.h deleted file mode 100644 index f2ca4ac8c88a..000000000000 --- a/include/asm-sh/microdev/io.h +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | /* | ||
2 | * linux/include/asm-sh/io_microdev.h | ||
3 | * | ||
4 | * Copyright (C) 2003 Sean McGoogan (Sean.McGoogan@superh.com) | ||
5 | * | ||
6 | * IO functions for the SuperH SH4-202 MicroDev board. | ||
7 | * | ||
8 | * May be copied or modified under the terms of the GNU General Public | ||
9 | * License. See linux/COPYING for more information. | ||
10 | * | ||
11 | */ | ||
12 | |||
13 | |||
14 | #ifndef _ASM_SH_IO_MICRODEV_H | ||
15 | #define _ASM_SH_IO_MICRODEV_H | ||
16 | |||
17 | extern unsigned long microdev_isa_port2addr(unsigned long offset); | ||
18 | |||
19 | extern unsigned char microdev_inb(unsigned long port); | ||
20 | extern unsigned short microdev_inw(unsigned long port); | ||
21 | extern unsigned int microdev_inl(unsigned long port); | ||
22 | |||
23 | extern void microdev_outb(unsigned char value, unsigned long port); | ||
24 | extern void microdev_outw(unsigned short value, unsigned long port); | ||
25 | extern void microdev_outl(unsigned int value, unsigned long port); | ||
26 | |||
27 | extern unsigned char microdev_inb_p(unsigned long port); | ||
28 | extern unsigned short microdev_inw_p(unsigned long port); | ||
29 | extern unsigned int microdev_inl_p(unsigned long port); | ||
30 | |||
31 | extern void microdev_outb_p(unsigned char value, unsigned long port); | ||
32 | extern void microdev_outw_p(unsigned short value, unsigned long port); | ||
33 | extern void microdev_outl_p(unsigned int value, unsigned long port); | ||
34 | |||
35 | extern void microdev_insb(unsigned long port, void *addr, unsigned long count); | ||
36 | extern void microdev_insw(unsigned long port, void *addr, unsigned long count); | ||
37 | extern void microdev_insl(unsigned long port, void *addr, unsigned long count); | ||
38 | |||
39 | extern void microdev_outsb(unsigned long port, const void *addr, unsigned long count); | ||
40 | extern void microdev_outsw(unsigned long port, const void *addr, unsigned long count); | ||
41 | extern void microdev_outsl(unsigned long port, const void *addr, unsigned long count); | ||
42 | |||
43 | #if defined(CONFIG_PCI) | ||
44 | extern unsigned char microdev_pci_inb(unsigned long port); | ||
45 | extern unsigned short microdev_pci_inw(unsigned long port); | ||
46 | extern unsigned long microdev_pci_inl(unsigned long port); | ||
47 | extern void microdev_pci_outb(unsigned char data, unsigned long port); | ||
48 | extern void microdev_pci_outw(unsigned short data, unsigned long port); | ||
49 | extern void microdev_pci_outl(unsigned long data, unsigned long port); | ||
50 | #endif | ||
51 | |||
52 | #endif /* _ASM_SH_IO_MICRODEV_H */ | ||
53 | |||
diff --git a/include/asm-sh/processor.h b/include/asm-sh/processor.h index c4904797d6df..fa5bd2d8803e 100644 --- a/include/asm-sh/processor.h +++ b/include/asm-sh/processor.h | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <asm/page.h> | 12 | #include <asm/page.h> |
13 | #include <asm/types.h> | 13 | #include <asm/types.h> |
14 | #include <asm/cache.h> | 14 | #include <asm/cache.h> |
15 | #include <linux/threads.h> | ||
16 | #include <asm/ptrace.h> | 15 | #include <asm/ptrace.h> |
17 | 16 | ||
18 | /* | 17 | /* |
@@ -30,7 +29,7 @@ | |||
30 | * CPU type and hardware bug flags. Kept separately for each CPU. | 29 | * CPU type and hardware bug flags. Kept separately for each CPU. |
31 | * | 30 | * |
32 | * Each one of these also needs a CONFIG_CPU_SUBTYPE_xxx entry | 31 | * Each one of these also needs a CONFIG_CPU_SUBTYPE_xxx entry |
33 | * in arch/sh/Kconfig, as well as an entry in arch/sh/kernel/setup.c | 32 | * in arch/sh/mm/Kconfig, as well as an entry in arch/sh/kernel/setup.c |
34 | * for parsing the subtype in get_cpu_subtype(). | 33 | * for parsing the subtype in get_cpu_subtype(). |
35 | */ | 34 | */ |
36 | enum cpu_type { | 35 | enum cpu_type { |
@@ -44,7 +43,7 @@ enum cpu_type { | |||
44 | /* SH-4 types */ | 43 | /* SH-4 types */ |
45 | CPU_SH7750, CPU_SH7750S, CPU_SH7750R, CPU_SH7751, CPU_SH7751R, | 44 | CPU_SH7750, CPU_SH7750S, CPU_SH7750R, CPU_SH7751, CPU_SH7751R, |
46 | CPU_SH7760, CPU_ST40RA, CPU_ST40GX1, CPU_SH4_202, CPU_SH4_501, | 45 | CPU_SH7760, CPU_ST40RA, CPU_ST40GX1, CPU_SH4_202, CPU_SH4_501, |
47 | CPU_SH73180, | 46 | CPU_SH73180, CPU_SH7770, CPU_SH7780, CPU_SH7781, |
48 | 47 | ||
49 | /* Unknown subtype */ | 48 | /* Unknown subtype */ |
50 | CPU_SH_NONE | 49 | CPU_SH_NONE |
@@ -52,14 +51,8 @@ enum cpu_type { | |||
52 | 51 | ||
53 | struct sh_cpuinfo { | 52 | struct sh_cpuinfo { |
54 | enum cpu_type type; | 53 | enum cpu_type type; |
55 | char hard_math; | ||
56 | unsigned long loops_per_jiffy; | 54 | unsigned long loops_per_jiffy; |
57 | 55 | ||
58 | unsigned int cpu_clock, master_clock, bus_clock, module_clock; | ||
59 | #ifdef CONFIG_CPU_SUBTYPE_ST40STB1 | ||
60 | unsigned int memory_clock; | ||
61 | #endif | ||
62 | |||
63 | struct cache_info icache; | 56 | struct cache_info icache; |
64 | struct cache_info dcache; | 57 | struct cache_info dcache; |
65 | 58 | ||
@@ -131,7 +124,7 @@ union sh_fpu_union { | |||
131 | struct sh_fpu_soft_struct soft; | 124 | struct sh_fpu_soft_struct soft; |
132 | }; | 125 | }; |
133 | 126 | ||
134 | /* | 127 | /* |
135 | * Processor flags | 128 | * Processor flags |
136 | */ | 129 | */ |
137 | 130 | ||
@@ -140,6 +133,7 @@ union sh_fpu_union { | |||
140 | #define CPU_HAS_MMU_PAGE_ASSOC 0x0004 /* SH3: TLB way selection bit support */ | 133 | #define CPU_HAS_MMU_PAGE_ASSOC 0x0004 /* SH3: TLB way selection bit support */ |
141 | #define CPU_HAS_DSP 0x0008 /* SH-DSP: DSP support */ | 134 | #define CPU_HAS_DSP 0x0008 /* SH-DSP: DSP support */ |
142 | #define CPU_HAS_PERF_COUNTER 0x0010 /* Hardware performance counters */ | 135 | #define CPU_HAS_PERF_COUNTER 0x0010 /* Hardware performance counters */ |
136 | #define CPU_HAS_PTEA 0x0020 /* PTEA register */ | ||
143 | 137 | ||
144 | struct thread_struct { | 138 | struct thread_struct { |
145 | unsigned long sp; | 139 | unsigned long sp; |
@@ -160,10 +154,10 @@ extern int ubc_usercnt; | |||
160 | #define INIT_THREAD { \ | 154 | #define INIT_THREAD { \ |
161 | sizeof(init_stack) + (long) &init_stack, /* sp */ \ | 155 | sizeof(init_stack) + (long) &init_stack, /* sp */ \ |
162 | 0, /* pc */ \ | 156 | 0, /* pc */ \ |
163 | 0, 0, \ | 157 | 0, 0, \ |
164 | 0, \ | 158 | 0, \ |
165 | 0, \ | 159 | 0, \ |
166 | {{{0,}},} /* fpu state */ \ | 160 | {{{0,}},} /* fpu state */ \ |
167 | } | 161 | } |
168 | 162 | ||
169 | /* | 163 | /* |
@@ -171,7 +165,7 @@ extern int ubc_usercnt; | |||
171 | */ | 165 | */ |
172 | #define start_thread(regs, new_pc, new_sp) \ | 166 | #define start_thread(regs, new_pc, new_sp) \ |
173 | set_fs(USER_DS); \ | 167 | set_fs(USER_DS); \ |
174 | regs->pr = 0; \ | 168 | regs->pr = 0; \ |
175 | regs->sr = SR_FD; /* User mode. */ \ | 169 | regs->sr = SR_FD; /* User mode. */ \ |
176 | regs->pc = new_pc; \ | 170 | regs->pc = new_pc; \ |
177 | regs->regs[15] = new_sp | 171 | regs->regs[15] = new_sp |
@@ -239,16 +233,16 @@ extern void save_fpu(struct task_struct *__tsk, struct pt_regs *regs); | |||
239 | #define save_fpu(tsk) do { } while (0) | 233 | #define save_fpu(tsk) do { } while (0) |
240 | #endif | 234 | #endif |
241 | 235 | ||
242 | #define unlazy_fpu(tsk, regs) do { \ | 236 | #define unlazy_fpu(tsk, regs) do { \ |
243 | if (test_tsk_thread_flag(tsk, TIF_USEDFPU)) { \ | 237 | if (test_tsk_thread_flag(tsk, TIF_USEDFPU)) { \ |
244 | save_fpu(tsk, regs); \ | 238 | save_fpu(tsk, regs); \ |
245 | } \ | 239 | } \ |
246 | } while (0) | 240 | } while (0) |
247 | 241 | ||
248 | #define clear_fpu(tsk, regs) do { \ | 242 | #define clear_fpu(tsk, regs) do { \ |
249 | if (test_tsk_thread_flag(tsk, TIF_USEDFPU)) { \ | 243 | if (test_tsk_thread_flag(tsk, TIF_USEDFPU)) { \ |
250 | clear_tsk_thread_flag(tsk, TIF_USEDFPU); \ | 244 | clear_tsk_thread_flag(tsk, TIF_USEDFPU); \ |
251 | release_fpu(regs); \ | 245 | release_fpu(regs); \ |
252 | } \ | 246 | } \ |
253 | } while (0) | 247 | } while (0) |
254 | 248 | ||
diff --git a/include/asm-sh64/ioctls.h b/include/asm-sh64/ioctls.h index 08f3c1f2e419..6b0c04f63c57 100644 --- a/include/asm-sh64/ioctls.h +++ b/include/asm-sh64/ioctls.h | |||
@@ -111,6 +111,6 @@ | |||
111 | #define TIOCSERSETMULTI 0x40a8545b /* _IOW('T', 91, struct serial_multiport_struct) 0x545B */ /* Set multiport config */ | 111 | #define TIOCSERSETMULTI 0x40a8545b /* _IOW('T', 91, struct serial_multiport_struct) 0x545B */ /* Set multiport config */ |
112 | 112 | ||
113 | #define TIOCMIWAIT 0x545c /* _IO('T', 92) wait for a change on serial input line(s) */ | 113 | #define TIOCMIWAIT 0x545c /* _IO('T', 92) wait for a change on serial input line(s) */ |
114 | #define TIOCGICOUNT 0x802c545d /* _IOR('T', 93, struct async_icount) 0x545D */ /* read serial port inline interrupt counts */ | 114 | #define TIOCGICOUNT 0x545d /* read serial port inline interrupt counts */ |
115 | 115 | ||
116 | #endif /* __ASM_SH64_IOCTLS_H */ | 116 | #endif /* __ASM_SH64_IOCTLS_H */ |
diff --git a/include/asm-sparc64/spinlock.h b/include/asm-sparc64/spinlock.h index ec85d12d73b9..508c416e9d6a 100644 --- a/include/asm-sparc64/spinlock.h +++ b/include/asm-sparc64/spinlock.h | |||
@@ -131,6 +131,28 @@ static void inline __read_lock(raw_rwlock_t *lock) | |||
131 | : "memory"); | 131 | : "memory"); |
132 | } | 132 | } |
133 | 133 | ||
134 | static int inline __read_trylock(raw_rwlock_t *lock) | ||
135 | { | ||
136 | int tmp1, tmp2; | ||
137 | |||
138 | __asm__ __volatile__ ( | ||
139 | "1: ldsw [%2], %0\n" | ||
140 | " brlz,a,pn %0, 2f\n" | ||
141 | " mov 0, %0\n" | ||
142 | " add %0, 1, %1\n" | ||
143 | " cas [%2], %0, %1\n" | ||
144 | " cmp %0, %1\n" | ||
145 | " membar #StoreLoad | #StoreStore\n" | ||
146 | " bne,pn %%icc, 1b\n" | ||
147 | " mov 1, %0\n" | ||
148 | "2:" | ||
149 | : "=&r" (tmp1), "=&r" (tmp2) | ||
150 | : "r" (lock) | ||
151 | : "memory"); | ||
152 | |||
153 | return tmp1; | ||
154 | } | ||
155 | |||
134 | static void inline __read_unlock(raw_rwlock_t *lock) | 156 | static void inline __read_unlock(raw_rwlock_t *lock) |
135 | { | 157 | { |
136 | unsigned long tmp1, tmp2; | 158 | unsigned long tmp1, tmp2; |
@@ -211,12 +233,12 @@ static int inline __write_trylock(raw_rwlock_t *lock) | |||
211 | } | 233 | } |
212 | 234 | ||
213 | #define __raw_read_lock(p) __read_lock(p) | 235 | #define __raw_read_lock(p) __read_lock(p) |
236 | #define __raw_read_trylock(p) __read_trylock(p) | ||
214 | #define __raw_read_unlock(p) __read_unlock(p) | 237 | #define __raw_read_unlock(p) __read_unlock(p) |
215 | #define __raw_write_lock(p) __write_lock(p) | 238 | #define __raw_write_lock(p) __write_lock(p) |
216 | #define __raw_write_unlock(p) __write_unlock(p) | 239 | #define __raw_write_unlock(p) __write_unlock(p) |
217 | #define __raw_write_trylock(p) __write_trylock(p) | 240 | #define __raw_write_trylock(p) __write_trylock(p) |
218 | 241 | ||
219 | #define __raw_read_trylock(lock) generic__raw_read_trylock(lock) | ||
220 | #define __raw_read_can_lock(rw) (!((rw)->lock & 0x80000000UL)) | 242 | #define __raw_read_can_lock(rw) (!((rw)->lock & 0x80000000UL)) |
221 | #define __raw_write_can_lock(rw) (!(rw)->lock) | 243 | #define __raw_write_can_lock(rw) (!(rw)->lock) |
222 | 244 | ||
diff --git a/include/asm-um/ldt-x86_64.h b/include/asm-um/ldt-x86_64.h index 175722a91164..96b35aada79a 100644 --- a/include/asm-um/ldt-x86_64.h +++ b/include/asm-um/ldt-x86_64.h | |||
@@ -5,8 +5,8 @@ | |||
5 | * Author: Bodo Stroesser <bstroesser@fujitsu-siemens.com> | 5 | * Author: Bodo Stroesser <bstroesser@fujitsu-siemens.com> |
6 | */ | 6 | */ |
7 | 7 | ||
8 | #ifndef __ASM_LDT_I386_H | 8 | #ifndef __ASM_LDT_X86_64_H |
9 | #define __ASM_LDT_I386_H | 9 | #define __ASM_LDT_X86_64_H |
10 | 10 | ||
11 | #include "asm/semaphore.h" | 11 | #include "asm/semaphore.h" |
12 | #include "asm/arch/ldt.h" | 12 | #include "asm/arch/ldt.h" |
@@ -39,11 +39,13 @@ typedef struct uml_ldt { | |||
39 | } uml_ldt_t; | 39 | } uml_ldt_t; |
40 | 40 | ||
41 | /* | 41 | /* |
42 | * macros stolen from include/asm-i386/desc.h | 42 | * macros stolen from include/asm-x86_64/desc.h |
43 | */ | 43 | */ |
44 | #define LDT_entry_a(info) \ | 44 | #define LDT_entry_a(info) \ |
45 | ((((info)->base_addr & 0x0000ffff) << 16) | ((info)->limit & 0x0ffff)) | 45 | ((((info)->base_addr & 0x0000ffff) << 16) | ((info)->limit & 0x0ffff)) |
46 | 46 | ||
47 | /* Don't allow setting of the lm bit. It is useless anyways because | ||
48 | * 64bit system calls require __USER_CS. */ | ||
47 | #define LDT_entry_b(info) \ | 49 | #define LDT_entry_b(info) \ |
48 | (((info)->base_addr & 0xff000000) | \ | 50 | (((info)->base_addr & 0xff000000) | \ |
49 | (((info)->base_addr & 0x00ff0000) >> 16) | \ | 51 | (((info)->base_addr & 0x00ff0000) >> 16) | \ |
@@ -54,6 +56,7 @@ typedef struct uml_ldt { | |||
54 | ((info)->seg_32bit << 22) | \ | 56 | ((info)->seg_32bit << 22) | \ |
55 | ((info)->limit_in_pages << 23) | \ | 57 | ((info)->limit_in_pages << 23) | \ |
56 | ((info)->useable << 20) | \ | 58 | ((info)->useable << 20) | \ |
59 | /* ((info)->lm << 21) | */ \ | ||
57 | 0x7000) | 60 | 0x7000) |
58 | 61 | ||
59 | #define LDT_empty(info) (\ | 62 | #define LDT_empty(info) (\ |
@@ -64,6 +67,7 @@ typedef struct uml_ldt { | |||
64 | (info)->seg_32bit == 0 && \ | 67 | (info)->seg_32bit == 0 && \ |
65 | (info)->limit_in_pages == 0 && \ | 68 | (info)->limit_in_pages == 0 && \ |
66 | (info)->seg_not_present == 1 && \ | 69 | (info)->seg_not_present == 1 && \ |
67 | (info)->useable == 0 ) | 70 | (info)->useable == 0 && \ |
71 | (info)->lm == 0) | ||
68 | 72 | ||
69 | #endif | 73 | #endif |
diff --git a/include/asm-um/smp.h b/include/asm-um/smp.h index d879eba2b52c..aeda6657f366 100644 --- a/include/asm-um/smp.h +++ b/include/asm-um/smp.h | |||
@@ -23,6 +23,8 @@ extern inline void smp_cpus_done(unsigned int maxcpus) | |||
23 | { | 23 | { |
24 | } | 24 | } |
25 | 25 | ||
26 | extern struct task_struct *idle_threads[NR_CPUS]; | ||
27 | |||
26 | #endif | 28 | #endif |
27 | 29 | ||
28 | #endif | 30 | #endif |
diff --git a/include/asm-x86_64/ia32_unistd.h b/include/asm-x86_64/ia32_unistd.h index e87cd83a0e86..9afc0c7d3661 100644 --- a/include/asm-x86_64/ia32_unistd.h +++ b/include/asm-x86_64/ia32_unistd.h | |||
@@ -300,7 +300,7 @@ | |||
300 | #define __NR_ia32_inotify_add_watch 292 | 300 | #define __NR_ia32_inotify_add_watch 292 |
301 | #define __NR_ia32_inotify_rm_watch 293 | 301 | #define __NR_ia32_inotify_rm_watch 293 |
302 | #define __NR_ia32_migrate_pages 294 | 302 | #define __NR_ia32_migrate_pages 294 |
303 | #define __NR_ia32_opanat 295 | 303 | #define __NR_ia32_openat 295 |
304 | #define __NR_ia32_mkdirat 296 | 304 | #define __NR_ia32_mkdirat 296 |
305 | #define __NR_ia32_mknodat 297 | 305 | #define __NR_ia32_mknodat 297 |
306 | #define __NR_ia32_fchownat 298 | 306 | #define __NR_ia32_fchownat 298 |
diff --git a/include/asm-xtensa/futex.h b/include/asm-xtensa/futex.h new file mode 100644 index 000000000000..0b745828f42b --- /dev/null +++ b/include/asm-xtensa/futex.h | |||
@@ -0,0 +1 @@ | |||
#include <asm-generic/futex.h> | |||
diff --git a/include/linux/agpgart.h b/include/linux/agpgart.h index 17a17c55a17f..6d59c8efe3be 100644 --- a/include/linux/agpgart.h +++ b/include/linux/agpgart.h | |||
@@ -111,6 +111,7 @@ typedef struct _agp_unbind { | |||
111 | } agp_unbind; | 111 | } agp_unbind; |
112 | 112 | ||
113 | #else /* __KERNEL__ */ | 113 | #else /* __KERNEL__ */ |
114 | #include <linux/mutex.h> | ||
114 | 115 | ||
115 | #define AGPGART_MINOR 175 | 116 | #define AGPGART_MINOR 175 |
116 | 117 | ||
@@ -201,7 +202,7 @@ struct agp_file_private { | |||
201 | }; | 202 | }; |
202 | 203 | ||
203 | struct agp_front_data { | 204 | struct agp_front_data { |
204 | struct semaphore agp_mutex; | 205 | struct mutex agp_mutex; |
205 | struct agp_controller *current_controller; | 206 | struct agp_controller *current_controller; |
206 | struct agp_controller *controllers; | 207 | struct agp_controller *controllers; |
207 | struct agp_file_private *file_priv_list; | 208 | struct agp_file_private *file_priv_list; |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 02a585faa62c..860e7a485a5f 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -392,8 +392,8 @@ struct request_queue | |||
392 | unsigned int nr_congestion_off; | 392 | unsigned int nr_congestion_off; |
393 | unsigned int nr_batching; | 393 | unsigned int nr_batching; |
394 | 394 | ||
395 | unsigned short max_sectors; | 395 | unsigned int max_sectors; |
396 | unsigned short max_hw_sectors; | 396 | unsigned int max_hw_sectors; |
397 | unsigned short max_phys_segments; | 397 | unsigned short max_phys_segments; |
398 | unsigned short max_hw_segments; | 398 | unsigned short max_hw_segments; |
399 | unsigned short hardsect_size; | 399 | unsigned short hardsect_size; |
@@ -697,7 +697,7 @@ extern request_queue_t *blk_init_queue(request_fn_proc *, spinlock_t *); | |||
697 | extern void blk_cleanup_queue(request_queue_t *); | 697 | extern void blk_cleanup_queue(request_queue_t *); |
698 | extern void blk_queue_make_request(request_queue_t *, make_request_fn *); | 698 | extern void blk_queue_make_request(request_queue_t *, make_request_fn *); |
699 | extern void blk_queue_bounce_limit(request_queue_t *, u64); | 699 | extern void blk_queue_bounce_limit(request_queue_t *, u64); |
700 | extern void blk_queue_max_sectors(request_queue_t *, unsigned short); | 700 | extern void blk_queue_max_sectors(request_queue_t *, unsigned int); |
701 | extern void blk_queue_max_phys_segments(request_queue_t *, unsigned short); | 701 | extern void blk_queue_max_phys_segments(request_queue_t *, unsigned short); |
702 | extern void blk_queue_max_hw_segments(request_queue_t *, unsigned short); | 702 | extern void blk_queue_max_hw_segments(request_queue_t *, unsigned short); |
703 | extern void blk_queue_max_segment_size(request_queue_t *, unsigned int); | 703 | extern void blk_queue_max_segment_size(request_queue_t *, unsigned int); |
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index c31650df9241..17866d7e2b71 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h | |||
@@ -14,6 +14,7 @@ | |||
14 | #ifndef _LINUX_CPUFREQ_H | 14 | #ifndef _LINUX_CPUFREQ_H |
15 | #define _LINUX_CPUFREQ_H | 15 | #define _LINUX_CPUFREQ_H |
16 | 16 | ||
17 | #include <linux/mutex.h> | ||
17 | #include <linux/config.h> | 18 | #include <linux/config.h> |
18 | #include <linux/notifier.h> | 19 | #include <linux/notifier.h> |
19 | #include <linux/threads.h> | 20 | #include <linux/threads.h> |
@@ -82,7 +83,7 @@ struct cpufreq_policy { | |||
82 | unsigned int policy; /* see above */ | 83 | unsigned int policy; /* see above */ |
83 | struct cpufreq_governor *governor; /* see below */ | 84 | struct cpufreq_governor *governor; /* see below */ |
84 | 85 | ||
85 | struct semaphore lock; /* CPU ->setpolicy or ->target may | 86 | struct mutex lock; /* CPU ->setpolicy or ->target may |
86 | only be called once a time */ | 87 | only be called once a time */ |
87 | 88 | ||
88 | struct work_struct update; /* if update_policy() needs to be | 89 | struct work_struct update; /* if update_policy() needs to be |
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index 83c7d207b80e..51e0e95a421a 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h | |||
@@ -91,7 +91,7 @@ struct target_type { | |||
91 | }; | 91 | }; |
92 | 92 | ||
93 | struct io_restrictions { | 93 | struct io_restrictions { |
94 | unsigned short max_sectors; | 94 | unsigned int max_sectors; |
95 | unsigned short max_phys_segments; | 95 | unsigned short max_phys_segments; |
96 | unsigned short max_hw_segments; | 96 | unsigned short max_hw_segments; |
97 | unsigned short hardsect_size; | 97 | unsigned short hardsect_size; |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 84bb449b9b01..e059da947007 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -363,6 +363,8 @@ struct address_space_operations { | |||
363 | loff_t offset, unsigned long nr_segs); | 363 | loff_t offset, unsigned long nr_segs); |
364 | struct page* (*get_xip_page)(struct address_space *, sector_t, | 364 | struct page* (*get_xip_page)(struct address_space *, sector_t, |
365 | int); | 365 | int); |
366 | /* migrate the contents of a page to the specified target */ | ||
367 | int (*migratepage) (struct page *, struct page *); | ||
366 | }; | 368 | }; |
367 | 369 | ||
368 | struct backing_dev_info; | 370 | struct backing_dev_info; |
@@ -1719,6 +1721,12 @@ extern void simple_release_fs(struct vfsmount **mount, int *count); | |||
1719 | 1721 | ||
1720 | extern ssize_t simple_read_from_buffer(void __user *, size_t, loff_t *, const void *, size_t); | 1722 | extern ssize_t simple_read_from_buffer(void __user *, size_t, loff_t *, const void *, size_t); |
1721 | 1723 | ||
1724 | #ifdef CONFIG_MIGRATION | ||
1725 | extern int buffer_migrate_page(struct page *, struct page *); | ||
1726 | #else | ||
1727 | #define buffer_migrate_page NULL | ||
1728 | #endif | ||
1729 | |||
1722 | extern int inode_change_ok(struct inode *, struct iattr *); | 1730 | extern int inode_change_ok(struct inode *, struct iattr *); |
1723 | extern int __must_check inode_setattr(struct inode *, struct iattr *); | 1731 | extern int __must_check inode_setattr(struct inode *, struct iattr *); |
1724 | 1732 | ||
diff --git a/include/linux/fuse.h b/include/linux/fuse.h index 528959c52f1b..5425b60021e3 100644 --- a/include/linux/fuse.h +++ b/include/linux/fuse.h | |||
@@ -14,7 +14,7 @@ | |||
14 | #define FUSE_KERNEL_VERSION 7 | 14 | #define FUSE_KERNEL_VERSION 7 |
15 | 15 | ||
16 | /** Minor version number of this interface */ | 16 | /** Minor version number of this interface */ |
17 | #define FUSE_KERNEL_MINOR_VERSION 5 | 17 | #define FUSE_KERNEL_MINOR_VERSION 6 |
18 | 18 | ||
19 | /** The node ID of the root inode */ | 19 | /** The node ID of the root inode */ |
20 | #define FUSE_ROOT_ID 1 | 20 | #define FUSE_ROOT_ID 1 |
@@ -58,6 +58,9 @@ struct fuse_kstatfs { | |||
58 | __u32 spare[6]; | 58 | __u32 spare[6]; |
59 | }; | 59 | }; |
60 | 60 | ||
61 | /** | ||
62 | * Bitmasks for fuse_setattr_in.valid | ||
63 | */ | ||
61 | #define FATTR_MODE (1 << 0) | 64 | #define FATTR_MODE (1 << 0) |
62 | #define FATTR_UID (1 << 1) | 65 | #define FATTR_UID (1 << 1) |
63 | #define FATTR_GID (1 << 2) | 66 | #define FATTR_GID (1 << 2) |
@@ -75,6 +78,11 @@ struct fuse_kstatfs { | |||
75 | #define FOPEN_DIRECT_IO (1 << 0) | 78 | #define FOPEN_DIRECT_IO (1 << 0) |
76 | #define FOPEN_KEEP_CACHE (1 << 1) | 79 | #define FOPEN_KEEP_CACHE (1 << 1) |
77 | 80 | ||
81 | /** | ||
82 | * INIT request/reply flags | ||
83 | */ | ||
84 | #define FUSE_ASYNC_READ (1 << 0) | ||
85 | |||
78 | enum fuse_opcode { | 86 | enum fuse_opcode { |
79 | FUSE_LOOKUP = 1, | 87 | FUSE_LOOKUP = 1, |
80 | FUSE_FORGET = 2, /* no reply */ | 88 | FUSE_FORGET = 2, /* no reply */ |
@@ -247,12 +255,16 @@ struct fuse_access_in { | |||
247 | struct fuse_init_in { | 255 | struct fuse_init_in { |
248 | __u32 major; | 256 | __u32 major; |
249 | __u32 minor; | 257 | __u32 minor; |
258 | __u32 max_readahead; | ||
259 | __u32 flags; | ||
250 | }; | 260 | }; |
251 | 261 | ||
252 | struct fuse_init_out { | 262 | struct fuse_init_out { |
253 | __u32 major; | 263 | __u32 major; |
254 | __u32 minor; | 264 | __u32 minor; |
255 | __u32 unused[3]; | 265 | __u32 max_readahead; |
266 | __u32 flags; | ||
267 | __u32 unused; | ||
256 | __u32 max_write; | 268 | __u32 max_write; |
257 | }; | 269 | }; |
258 | 270 | ||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 089bfb1fa01a..6361544bb6ae 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h | |||
@@ -40,6 +40,7 @@ enum hrtimer_restart { | |||
40 | enum hrtimer_state { | 40 | enum hrtimer_state { |
41 | HRTIMER_INACTIVE, /* Timer is inactive */ | 41 | HRTIMER_INACTIVE, /* Timer is inactive */ |
42 | HRTIMER_EXPIRED, /* Timer is expired */ | 42 | HRTIMER_EXPIRED, /* Timer is expired */ |
43 | HRTIMER_RUNNING, /* Timer is running the callback function */ | ||
43 | HRTIMER_PENDING, /* Timer is pending */ | 44 | HRTIMER_PENDING, /* Timer is pending */ |
44 | }; | 45 | }; |
45 | 46 | ||
@@ -100,9 +101,8 @@ struct hrtimer_base { | |||
100 | /* Exported timer functions: */ | 101 | /* Exported timer functions: */ |
101 | 102 | ||
102 | /* Initialize timers: */ | 103 | /* Initialize timers: */ |
103 | extern void hrtimer_init(struct hrtimer *timer, const clockid_t which_clock); | 104 | extern void hrtimer_init(struct hrtimer *timer, clockid_t which_clock, |
104 | extern void hrtimer_rebase(struct hrtimer *timer, const clockid_t which_clock); | 105 | enum hrtimer_mode mode); |
105 | |||
106 | 106 | ||
107 | /* Basic timer operations: */ | 107 | /* Basic timer operations: */ |
108 | extern int hrtimer_start(struct hrtimer *timer, ktime_t tim, | 108 | extern int hrtimer_start(struct hrtimer *timer, ktime_t tim, |
diff --git a/include/linux/io.h b/include/linux/io.h new file mode 100644 index 000000000000..85533ec5aaa1 --- /dev/null +++ b/include/linux/io.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * Copyright 2006 PathScale, Inc. All Rights Reserved. | ||
3 | * | ||
4 | * This file is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of version 2 of the GNU General Public License | ||
6 | * as published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program; if not, write to the Free Software Foundation, | ||
15 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. | ||
16 | */ | ||
17 | |||
18 | #ifndef _LINUX_IO_H | ||
19 | #define _LINUX_IO_H | ||
20 | |||
21 | #include <asm/io.h> | ||
22 | |||
23 | void __iowrite32_copy(void __iomem *to, const void *from, size_t count); | ||
24 | |||
25 | #endif /* _LINUX_IO_H */ | ||
diff --git a/include/linux/ktime.h b/include/linux/ktime.h index 1bd6552cc341..6aca67a569a2 100644 --- a/include/linux/ktime.h +++ b/include/linux/ktime.h | |||
@@ -10,6 +10,12 @@ | |||
10 | * | 10 | * |
11 | * Started by: Thomas Gleixner and Ingo Molnar | 11 | * Started by: Thomas Gleixner and Ingo Molnar |
12 | * | 12 | * |
13 | * Credits: | ||
14 | * | ||
15 | * Roman Zippel provided the ideas and primary code snippets of | ||
16 | * the ktime_t union and further simplifications of the original | ||
17 | * code. | ||
18 | * | ||
13 | * For licencing details see kernel-base/COPYING | 19 | * For licencing details see kernel-base/COPYING |
14 | */ | 20 | */ |
15 | #ifndef _LINUX_KTIME_H | 21 | #ifndef _LINUX_KTIME_H |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 93a849f742db..ebfc238cc243 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
@@ -91,10 +91,21 @@ struct per_cpu_pageset { | |||
91 | * be 8 (2 ** 3) zonelists. GFP_ZONETYPES defines the number of possible | 91 | * be 8 (2 ** 3) zonelists. GFP_ZONETYPES defines the number of possible |
92 | * combinations of zone modifiers in "zone modifier space". | 92 | * combinations of zone modifiers in "zone modifier space". |
93 | * | 93 | * |
94 | * As an optimisation any zone modifier bits which are only valid when | ||
95 | * no other zone modifier bits are set (loners) should be placed in | ||
96 | * the highest order bits of this field. This allows us to reduce the | ||
97 | * extent of the zonelists thus saving space. For example in the case | ||
98 | * of three zone modifier bits, we could require up to eight zonelists. | ||
99 | * If the left most zone modifier is a "loner" then the highest valid | ||
100 | * zonelist would be four allowing us to allocate only five zonelists. | ||
101 | * Use the first form for GFP_ZONETYPES when the left most bit is not | ||
102 | * a "loner", otherwise use the second. | ||
103 | * | ||
94 | * NOTE! Make sure this matches the zones in <linux/gfp.h> | 104 | * NOTE! Make sure this matches the zones in <linux/gfp.h> |
95 | */ | 105 | */ |
96 | #define GFP_ZONEMASK 0x07 | 106 | #define GFP_ZONEMASK 0x07 |
97 | #define GFP_ZONETYPES 5 | 107 | /* #define GFP_ZONETYPES (GFP_ZONEMASK + 1) */ /* Non-loner */ |
108 | #define GFP_ZONETYPES ((GFP_ZONEMASK + 1) / 2 + 1) /* Loner */ | ||
98 | 109 | ||
99 | /* | 110 | /* |
100 | * On machines where it is needed (eg PCs) we divide physical memory | 111 | * On machines where it is needed (eg PCs) we divide physical memory |
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index 59ff6c430cf6..6500d4e59d46 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h | |||
@@ -19,7 +19,21 @@ struct xt_get_revision | |||
19 | /* For standard target */ | 19 | /* For standard target */ |
20 | #define XT_RETURN (-NF_REPEAT - 1) | 20 | #define XT_RETURN (-NF_REPEAT - 1) |
21 | 21 | ||
22 | #define XT_ALIGN(s) (((s) + (__alignof__(u_int64_t)-1)) & ~(__alignof__(u_int64_t)-1)) | 22 | /* this is a dummy structure to find out the alignment requirement for a struct |
23 | * containing all the fundamental data types that are used in ipt_entry, | ||
24 | * ip6t_entry and arpt_entry. This sucks, and it is a hack. It will be my | ||
25 | * personal pleasure to remove it -HW | ||
26 | */ | ||
27 | struct _xt_align | ||
28 | { | ||
29 | u_int8_t u8; | ||
30 | u_int16_t u16; | ||
31 | u_int32_t u32; | ||
32 | u_int64_t u64; | ||
33 | }; | ||
34 | |||
35 | #define XT_ALIGN(s) (((s) + (__alignof__(struct _xt_align)-1)) \ | ||
36 | & ~(__alignof__(struct _xt_align)-1)) | ||
23 | 37 | ||
24 | /* Standard return verdict, or do jump. */ | 38 | /* Standard return verdict, or do jump. */ |
25 | #define XT_STANDARD_TARGET "" | 39 | #define XT_STANDARD_TARGET "" |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 0a44072383ec..fe1a2b02fc55 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -406,7 +406,6 @@ struct pci_dev *pci_find_device_reverse (unsigned int vendor, unsigned int devic | |||
406 | struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn); | 406 | struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn); |
407 | int pci_find_capability (struct pci_dev *dev, int cap); | 407 | int pci_find_capability (struct pci_dev *dev, int cap); |
408 | int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap); | 408 | int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap); |
409 | int pci_find_ext_capability (struct pci_dev *dev, int cap); | ||
410 | struct pci_bus * pci_find_next_bus(const struct pci_bus *from); | 409 | struct pci_bus * pci_find_next_bus(const struct pci_bus *from); |
411 | 410 | ||
412 | struct pci_dev *pci_get_device (unsigned int vendor, unsigned int device, struct pci_dev *from); | 411 | struct pci_dev *pci_get_device (unsigned int vendor, unsigned int device, struct pci_dev *from); |
@@ -626,7 +625,6 @@ static inline int pci_register_driver(struct pci_driver *drv) { return 0;} | |||
626 | static inline void pci_unregister_driver(struct pci_driver *drv) { } | 625 | static inline void pci_unregister_driver(struct pci_driver *drv) { } |
627 | static inline int pci_find_capability (struct pci_dev *dev, int cap) {return 0; } | 626 | static inline int pci_find_capability (struct pci_dev *dev, int cap) {return 0; } |
628 | static inline int pci_find_next_capability (struct pci_dev *dev, u8 post, int cap) { return 0; } | 627 | static inline int pci_find_next_capability (struct pci_dev *dev, u8 post, int cap) { return 0; } |
629 | static inline int pci_find_ext_capability (struct pci_dev *dev, int cap) {return 0; } | ||
630 | static inline const struct pci_device_id *pci_match_device(const struct pci_device_id *ids, const struct pci_dev *dev) { return NULL; } | 628 | static inline const struct pci_device_id *pci_match_device(const struct pci_device_id *ids, const struct pci_dev *dev) { return NULL; } |
631 | 629 | ||
632 | /* Power management related routines */ | 630 | /* Power management related routines */ |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index ecc1fc1f0f04..b0b908f583c5 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -394,14 +394,9 @@ | |||
394 | #define PCI_DEVICE_ID_NS_SC1100_SMI 0x0511 | 394 | #define PCI_DEVICE_ID_NS_SC1100_SMI 0x0511 |
395 | #define PCI_DEVICE_ID_NS_SC1100_XBUS 0x0515 | 395 | #define PCI_DEVICE_ID_NS_SC1100_XBUS 0x0515 |
396 | #define PCI_DEVICE_ID_NS_87410 0xd001 | 396 | #define PCI_DEVICE_ID_NS_87410 0xd001 |
397 | #define PCI_DEVICE_ID_NS_CS5535_IDE 0x002d | ||
398 | 397 | ||
399 | #define PCI_DEVICE_ID_NS_CS5535_HOST_BRIDGE 0x0028 | 398 | #define PCI_DEVICE_ID_NS_CS5535_HOST_BRIDGE 0x0028 |
400 | #define PCI_DEVICE_ID_NS_CS5535_ISA_BRIDGE 0x002b | 399 | #define PCI_DEVICE_ID_NS_CS5535_ISA_BRIDGE 0x002b |
401 | #define PCI_DEVICE_ID_NS_CS5535_IDE 0x002d | ||
402 | #define PCI_DEVICE_ID_NS_CS5535_AUDIO 0x002e | ||
403 | #define PCI_DEVICE_ID_NS_CS5535_USB 0x002f | ||
404 | #define PCI_DEVICE_ID_NS_CS5535_VIDEO 0x0030 | ||
405 | 400 | ||
406 | #define PCI_VENDOR_ID_TSENG 0x100c | 401 | #define PCI_VENDOR_ID_TSENG 0x100c |
407 | #define PCI_DEVICE_ID_TSENG_W32P_2 0x3202 | 402 | #define PCI_DEVICE_ID_TSENG_W32P_2 0x3202 |
@@ -511,8 +506,6 @@ | |||
511 | #define PCI_DEVICE_ID_AMD_CS5536_UOC 0x2097 | 506 | #define PCI_DEVICE_ID_AMD_CS5536_UOC 0x2097 |
512 | #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A | 507 | #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A |
513 | 508 | ||
514 | #define PCI_DEVICE_ID_AMD_CS5536_IDE 0x209A | ||
515 | |||
516 | #define PCI_DEVICE_ID_AMD_LX_VIDEO 0x2081 | 509 | #define PCI_DEVICE_ID_AMD_LX_VIDEO 0x2081 |
517 | #define PCI_DEVICE_ID_AMD_LX_AES 0x2082 | 510 | #define PCI_DEVICE_ID_AMD_LX_AES 0x2082 |
518 | 511 | ||
@@ -2065,6 +2058,7 @@ | |||
2065 | #define PCI_DEVICE_ID_INTEL_82801EB_5 0x24d5 | 2058 | #define PCI_DEVICE_ID_INTEL_82801EB_5 0x24d5 |
2066 | #define PCI_DEVICE_ID_INTEL_82801EB_6 0x24d6 | 2059 | #define PCI_DEVICE_ID_INTEL_82801EB_6 0x24d6 |
2067 | #define PCI_DEVICE_ID_INTEL_82801EB_11 0x24db | 2060 | #define PCI_DEVICE_ID_INTEL_82801EB_11 0x24db |
2061 | #define PCI_DEVICE_ID_INTEL_82801EB_13 0x24dd | ||
2068 | #define PCI_DEVICE_ID_INTEL_ESB_1 0x25a1 | 2062 | #define PCI_DEVICE_ID_INTEL_ESB_1 0x25a1 |
2069 | #define PCI_DEVICE_ID_INTEL_ESB_2 0x25a2 | 2063 | #define PCI_DEVICE_ID_INTEL_ESB_2 0x25a2 |
2070 | #define PCI_DEVICE_ID_INTEL_ESB_4 0x25a4 | 2064 | #define PCI_DEVICE_ID_INTEL_ESB_4 0x25a4 |
@@ -2085,6 +2079,8 @@ | |||
2085 | #define PCI_DEVICE_ID_INTEL_82915GM_IG 0x2592 | 2079 | #define PCI_DEVICE_ID_INTEL_82915GM_IG 0x2592 |
2086 | #define PCI_DEVICE_ID_INTEL_82945G_HB 0x2770 | 2080 | #define PCI_DEVICE_ID_INTEL_82945G_HB 0x2770 |
2087 | #define PCI_DEVICE_ID_INTEL_82945G_IG 0x2772 | 2081 | #define PCI_DEVICE_ID_INTEL_82945G_IG 0x2772 |
2082 | #define PCI_DEVICE_ID_INTEL_82945GM_HB 0x27A0 | ||
2083 | #define PCI_DEVICE_ID_INTEL_82945GM_IG 0x27A2 | ||
2088 | #define PCI_DEVICE_ID_INTEL_ICH6_0 0x2640 | 2084 | #define PCI_DEVICE_ID_INTEL_ICH6_0 0x2640 |
2089 | #define PCI_DEVICE_ID_INTEL_ICH6_1 0x2641 | 2085 | #define PCI_DEVICE_ID_INTEL_ICH6_1 0x2641 |
2090 | #define PCI_DEVICE_ID_INTEL_ICH6_2 0x2642 | 2086 | #define PCI_DEVICE_ID_INTEL_ICH6_2 0x2642 |
@@ -2104,6 +2100,13 @@ | |||
2104 | #define PCI_DEVICE_ID_INTEL_ICH7_19 0x27dd | 2100 | #define PCI_DEVICE_ID_INTEL_ICH7_19 0x27dd |
2105 | #define PCI_DEVICE_ID_INTEL_ICH7_20 0x27de | 2101 | #define PCI_DEVICE_ID_INTEL_ICH7_20 0x27de |
2106 | #define PCI_DEVICE_ID_INTEL_ICH7_21 0x27df | 2102 | #define PCI_DEVICE_ID_INTEL_ICH7_21 0x27df |
2103 | #define PCI_DEVICE_ID_INTEL_ICH8_0 0x2810 | ||
2104 | #define PCI_DEVICE_ID_INTEL_ICH8_1 0x2811 | ||
2105 | #define PCI_DEVICE_ID_INTEL_ICH8_2 0x2812 | ||
2106 | #define PCI_DEVICE_ID_INTEL_ICH8_3 0x2814 | ||
2107 | #define PCI_DEVICE_ID_INTEL_ICH8_4 0x2815 | ||
2108 | #define PCI_DEVICE_ID_INTEL_ICH8_5 0x283e | ||
2109 | #define PCI_DEVICE_ID_INTEL_ICH8_6 0x2850 | ||
2107 | #define PCI_DEVICE_ID_INTEL_82855PM_HB 0x3340 | 2110 | #define PCI_DEVICE_ID_INTEL_82855PM_HB 0x3340 |
2108 | #define PCI_DEVICE_ID_INTEL_82830_HB 0x3575 | 2111 | #define PCI_DEVICE_ID_INTEL_82830_HB 0x3575 |
2109 | #define PCI_DEVICE_ID_INTEL_82830_CGC 0x3577 | 2112 | #define PCI_DEVICE_ID_INTEL_82830_CGC 0x3577 |
@@ -2147,6 +2150,7 @@ | |||
2147 | #define PCI_DEVICE_ID_INTEL_82443GX_2 0x71a2 | 2150 | #define PCI_DEVICE_ID_INTEL_82443GX_2 0x71a2 |
2148 | #define PCI_DEVICE_ID_INTEL_82372FB_1 0x7601 | 2151 | #define PCI_DEVICE_ID_INTEL_82372FB_1 0x7601 |
2149 | #define PCI_DEVICE_ID_INTEL_82454GX 0x84c4 | 2152 | #define PCI_DEVICE_ID_INTEL_82454GX 0x84c4 |
2153 | #define PCI_DEVICE_ID_INTEL_82450GX 0x84c5 | ||
2150 | #define PCI_DEVICE_ID_INTEL_82451NX 0x84ca | 2154 | #define PCI_DEVICE_ID_INTEL_82451NX 0x84ca |
2151 | #define PCI_DEVICE_ID_INTEL_82454NX 0x84cb | 2155 | #define PCI_DEVICE_ID_INTEL_82454NX 0x84cb |
2152 | #define PCI_DEVICE_ID_INTEL_84460GX 0x84ea | 2156 | #define PCI_DEVICE_ID_INTEL_84460GX 0x84ea |
diff --git a/include/linux/posix-timers.h b/include/linux/posix-timers.h index 54faf5236da0..95572c434bc9 100644 --- a/include/linux/posix-timers.h +++ b/include/linux/posix-timers.h | |||
@@ -84,7 +84,6 @@ struct k_clock { | |||
84 | void register_posix_clock(const clockid_t clock_id, struct k_clock *new_clock); | 84 | void register_posix_clock(const clockid_t clock_id, struct k_clock *new_clock); |
85 | 85 | ||
86 | /* error handlers for timer_create, nanosleep and settime */ | 86 | /* error handlers for timer_create, nanosleep and settime */ |
87 | int do_posix_clock_notimer_create(struct k_itimer *timer); | ||
88 | int do_posix_clock_nonanosleep(const clockid_t, int flags, struct timespec *, | 87 | int do_posix_clock_nonanosleep(const clockid_t, int flags, struct timespec *, |
89 | struct timespec __user *); | 88 | struct timespec __user *); |
90 | int do_posix_clock_nosettime(const clockid_t, struct timespec *tp); | 89 | int do_posix_clock_nosettime(const clockid_t, struct timespec *tp); |
diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h index e276c5ba2bb7..7d51149bd793 100644 --- a/include/linux/reiserfs_fs.h +++ b/include/linux/reiserfs_fs.h | |||
@@ -1971,22 +1971,6 @@ extern struct file_operations reiserfs_file_operations; | |||
1971 | extern struct address_space_operations reiserfs_address_space_operations; | 1971 | extern struct address_space_operations reiserfs_address_space_operations; |
1972 | 1972 | ||
1973 | /* fix_nodes.c */ | 1973 | /* fix_nodes.c */ |
1974 | #ifdef CONFIG_REISERFS_CHECK | ||
1975 | void *reiserfs_kmalloc(size_t size, gfp_t flags, struct super_block *s); | ||
1976 | void reiserfs_kfree(const void *vp, size_t size, struct super_block *s); | ||
1977 | #else | ||
1978 | static inline void *reiserfs_kmalloc(size_t size, int flags, | ||
1979 | struct super_block *s) | ||
1980 | { | ||
1981 | return kmalloc(size, flags); | ||
1982 | } | ||
1983 | |||
1984 | static inline void reiserfs_kfree(const void *vp, size_t size, | ||
1985 | struct super_block *s) | ||
1986 | { | ||
1987 | kfree(vp); | ||
1988 | } | ||
1989 | #endif | ||
1990 | 1974 | ||
1991 | int fix_nodes(int n_op_mode, struct tree_balance *p_s_tb, | 1975 | int fix_nodes(int n_op_mode, struct tree_balance *p_s_tb, |
1992 | struct item_head *p_s_ins_ih, const void *); | 1976 | struct item_head *p_s_ins_ih, const void *); |
diff --git a/include/linux/reiserfs_fs_sb.h b/include/linux/reiserfs_fs_sb.h index 3e68592e52e9..31b4c0bd4fa0 100644 --- a/include/linux/reiserfs_fs_sb.h +++ b/include/linux/reiserfs_fs_sb.h | |||
@@ -382,7 +382,6 @@ struct reiserfs_sb_info { | |||
382 | on-disk FS format */ | 382 | on-disk FS format */ |
383 | 383 | ||
384 | /* session statistics */ | 384 | /* session statistics */ |
385 | int s_kmallocs; | ||
386 | int s_disk_reads; | 385 | int s_disk_reads; |
387 | int s_disk_writes; | 386 | int s_disk_writes; |
388 | int s_fix_nodes; | 387 | int s_fix_nodes; |
diff --git a/include/linux/reiserfs_xattr.h b/include/linux/reiserfs_xattr.h index c84354e8374c..87280eb6083d 100644 --- a/include/linux/reiserfs_xattr.h +++ b/include/linux/reiserfs_xattr.h | |||
@@ -43,8 +43,6 @@ int reiserfs_delete_xattrs(struct inode *inode); | |||
43 | int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs); | 43 | int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs); |
44 | int reiserfs_xattr_init(struct super_block *sb, int mount_flags); | 44 | int reiserfs_xattr_init(struct super_block *sb, int mount_flags); |
45 | int reiserfs_permission(struct inode *inode, int mask, struct nameidata *nd); | 45 | int reiserfs_permission(struct inode *inode, int mask, struct nameidata *nd); |
46 | int reiserfs_permission_locked(struct inode *inode, int mask, | ||
47 | struct nameidata *nd); | ||
48 | 46 | ||
49 | int reiserfs_xattr_del(struct inode *, const char *); | 47 | int reiserfs_xattr_del(struct inode *, const char *); |
50 | int reiserfs_xattr_get(const struct inode *, const char *, void *, size_t); | 48 | int reiserfs_xattr_get(const struct inode *, const char *, void *, size_t); |
diff --git a/include/linux/rmap.h b/include/linux/rmap.h index 9d6fbeef2104..d6b9bcd1384c 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h | |||
@@ -91,7 +91,8 @@ static inline void page_dup_rmap(struct page *page) | |||
91 | * Called from mm/vmscan.c to handle paging out | 91 | * Called from mm/vmscan.c to handle paging out |
92 | */ | 92 | */ |
93 | int page_referenced(struct page *, int is_locked); | 93 | int page_referenced(struct page *, int is_locked); |
94 | int try_to_unmap(struct page *); | 94 | int try_to_unmap(struct page *, int ignore_refs); |
95 | void remove_from_swap(struct page *page); | ||
95 | 96 | ||
96 | /* | 97 | /* |
97 | * Called from mm/filemap_xip.c to unmap empty zero page | 98 | * Called from mm/filemap_xip.c to unmap empty zero page |
@@ -111,7 +112,7 @@ unsigned long page_address_in_vma(struct page *, struct vm_area_struct *); | |||
111 | #define anon_vma_link(vma) do {} while (0) | 112 | #define anon_vma_link(vma) do {} while (0) |
112 | 113 | ||
113 | #define page_referenced(page,l) TestClearPageReferenced(page) | 114 | #define page_referenced(page,l) TestClearPageReferenced(page) |
114 | #define try_to_unmap(page) SWAP_FAIL | 115 | #define try_to_unmap(page, refs) SWAP_FAIL |
115 | 116 | ||
116 | #endif /* CONFIG_MMU */ | 117 | #endif /* CONFIG_MMU */ |
117 | 118 | ||
diff --git a/include/linux/security.h b/include/linux/security.h index ef753654daa5..bb1da86747c7 100644 --- a/include/linux/security.h +++ b/include/linux/security.h | |||
@@ -2617,6 +2617,25 @@ static inline int security_netlink_recv (struct sk_buff *skb) | |||
2617 | return cap_netlink_recv (skb); | 2617 | return cap_netlink_recv (skb); |
2618 | } | 2618 | } |
2619 | 2619 | ||
2620 | static inline struct dentry *securityfs_create_dir(const char *name, | ||
2621 | struct dentry *parent) | ||
2622 | { | ||
2623 | return ERR_PTR(-ENODEV); | ||
2624 | } | ||
2625 | |||
2626 | static inline struct dentry *securityfs_create_file(const char *name, | ||
2627 | mode_t mode, | ||
2628 | struct dentry *parent, | ||
2629 | void *data, | ||
2630 | struct file_operations *fops) | ||
2631 | { | ||
2632 | return ERR_PTR(-ENODEV); | ||
2633 | } | ||
2634 | |||
2635 | static inline void securityfs_remove(struct dentry *dentry) | ||
2636 | { | ||
2637 | } | ||
2638 | |||
2620 | #endif /* CONFIG_SECURITY */ | 2639 | #endif /* CONFIG_SECURITY */ |
2621 | 2640 | ||
2622 | #ifdef CONFIG_SECURITY_NETWORK | 2641 | #ifdef CONFIG_SECURITY_NETWORK |
diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h index cee302aefdb7..73b464f0926a 100644 --- a/include/linux/serial_8250.h +++ b/include/linux/serial_8250.h | |||
@@ -26,7 +26,7 @@ struct plat_serial8250_port { | |||
26 | unsigned char regshift; /* register shift */ | 26 | unsigned char regshift; /* register shift */ |
27 | unsigned char iotype; /* UPIO_* */ | 27 | unsigned char iotype; /* UPIO_* */ |
28 | unsigned char hub6; | 28 | unsigned char hub6; |
29 | unsigned int flags; /* UPF_* flags */ | 29 | upf_t flags; /* UPF_* flags */ |
30 | }; | 30 | }; |
31 | 31 | ||
32 | /* | 32 | /* |
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index ec351005bf9d..4041122dabfc 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h | |||
@@ -203,6 +203,8 @@ struct uart_icount { | |||
203 | __u32 buf_overrun; | 203 | __u32 buf_overrun; |
204 | }; | 204 | }; |
205 | 205 | ||
206 | typedef unsigned int __bitwise__ upf_t; | ||
207 | |||
206 | struct uart_port { | 208 | struct uart_port { |
207 | spinlock_t lock; /* port lock */ | 209 | spinlock_t lock; /* port lock */ |
208 | unsigned int iobase; /* in/out[bwl] */ | 210 | unsigned int iobase; /* in/out[bwl] */ |
@@ -230,36 +232,34 @@ struct uart_port { | |||
230 | unsigned long sysrq; /* sysrq timeout */ | 232 | unsigned long sysrq; /* sysrq timeout */ |
231 | #endif | 233 | #endif |
232 | 234 | ||
233 | unsigned int flags; | 235 | upf_t flags; |
234 | 236 | ||
235 | #define UPF_FOURPORT (1 << 1) | 237 | #define UPF_FOURPORT ((__force upf_t) (1 << 1)) |
236 | #define UPF_SAK (1 << 2) | 238 | #define UPF_SAK ((__force upf_t) (1 << 2)) |
237 | #define UPF_SPD_MASK (0x1030) | 239 | #define UPF_SPD_MASK ((__force upf_t) (0x1030)) |
238 | #define UPF_SPD_HI (0x0010) | 240 | #define UPF_SPD_HI ((__force upf_t) (0x0010)) |
239 | #define UPF_SPD_VHI (0x0020) | 241 | #define UPF_SPD_VHI ((__force upf_t) (0x0020)) |
240 | #define UPF_SPD_CUST (0x0030) | 242 | #define UPF_SPD_CUST ((__force upf_t) (0x0030)) |
241 | #define UPF_SPD_SHI (0x1000) | 243 | #define UPF_SPD_SHI ((__force upf_t) (0x1000)) |
242 | #define UPF_SPD_WARP (0x1010) | 244 | #define UPF_SPD_WARP ((__force upf_t) (0x1010)) |
243 | #define UPF_SKIP_TEST (1 << 6) | 245 | #define UPF_SKIP_TEST ((__force upf_t) (1 << 6)) |
244 | #define UPF_AUTO_IRQ (1 << 7) | 246 | #define UPF_AUTO_IRQ ((__force upf_t) (1 << 7)) |
245 | #define UPF_HARDPPS_CD (1 << 11) | 247 | #define UPF_HARDPPS_CD ((__force upf_t) (1 << 11)) |
246 | #define UPF_LOW_LATENCY (1 << 13) | 248 | #define UPF_LOW_LATENCY ((__force upf_t) (1 << 13)) |
247 | #define UPF_BUGGY_UART (1 << 14) | 249 | #define UPF_BUGGY_UART ((__force upf_t) (1 << 14)) |
248 | #define UPF_AUTOPROBE (1 << 15) | 250 | #define UPF_MAGIC_MULTIPLIER ((__force upf_t) (1 << 16)) |
249 | #define UPF_MAGIC_MULTIPLIER (1 << 16) | 251 | #define UPF_CONS_FLOW ((__force upf_t) (1 << 23)) |
250 | #define UPF_BOOT_ONLYMCA (1 << 22) | 252 | #define UPF_SHARE_IRQ ((__force upf_t) (1 << 24)) |
251 | #define UPF_CONS_FLOW (1 << 23) | 253 | #define UPF_BOOT_AUTOCONF ((__force upf_t) (1 << 28)) |
252 | #define UPF_SHARE_IRQ (1 << 24) | 254 | #define UPF_IOREMAP ((__force upf_t) (1 << 31)) |
253 | #define UPF_BOOT_AUTOCONF (1 << 28) | 255 | |
254 | #define UPF_IOREMAP (1 << 31) | 256 | #define UPF_CHANGE_MASK ((__force upf_t) (0x17fff)) |
255 | 257 | #define UPF_USR_MASK ((__force upf_t) (UPF_SPD_MASK|UPF_LOW_LATENCY)) | |
256 | #define UPF_CHANGE_MASK (0x17fff) | ||
257 | #define UPF_USR_MASK (UPF_SPD_MASK|UPF_LOW_LATENCY) | ||
258 | 258 | ||
259 | unsigned int mctrl; /* current modem ctrl settings */ | 259 | unsigned int mctrl; /* current modem ctrl settings */ |
260 | unsigned int timeout; /* character-based timeout */ | 260 | unsigned int timeout; /* character-based timeout */ |
261 | unsigned int type; /* port type */ | 261 | unsigned int type; /* port type */ |
262 | struct uart_ops *ops; | 262 | const struct uart_ops *ops; |
263 | unsigned int custom_divisor; | 263 | unsigned int custom_divisor; |
264 | unsigned int line; /* port index */ | 264 | unsigned int line; /* port index */ |
265 | unsigned long mapbase; /* for ioremap */ | 265 | unsigned long mapbase; /* for ioremap */ |
@@ -289,6 +289,9 @@ struct uart_state { | |||
289 | }; | 289 | }; |
290 | 290 | ||
291 | #define UART_XMIT_SIZE PAGE_SIZE | 291 | #define UART_XMIT_SIZE PAGE_SIZE |
292 | |||
293 | typedef unsigned int __bitwise__ uif_t; | ||
294 | |||
292 | /* | 295 | /* |
293 | * This is the state information which is only valid when the port | 296 | * This is the state information which is only valid when the port |
294 | * is open; it may be freed by the core driver once the device has | 297 | * is open; it may be freed by the core driver once the device has |
@@ -298,17 +301,16 @@ struct uart_state { | |||
298 | struct uart_info { | 301 | struct uart_info { |
299 | struct tty_struct *tty; | 302 | struct tty_struct *tty; |
300 | struct circ_buf xmit; | 303 | struct circ_buf xmit; |
301 | unsigned int flags; | 304 | uif_t flags; |
302 | 305 | ||
303 | /* | 306 | /* |
304 | * These are the flags that specific to info->flags, and reflect our | 307 | * Definitions for info->flags. These are _private_ to serial_core, and |
305 | * internal state. They can not be accessed via port->flags. Low | 308 | * are specific to this structure. They may be queried by low level drivers. |
306 | * level drivers must not change these, but may query them instead. | ||
307 | */ | 309 | */ |
308 | #define UIF_CHECK_CD (1 << 25) | 310 | #define UIF_CHECK_CD ((__force uif_t) (1 << 25)) |
309 | #define UIF_CTS_FLOW (1 << 26) | 311 | #define UIF_CTS_FLOW ((__force uif_t) (1 << 26)) |
310 | #define UIF_NORMAL_ACTIVE (1 << 29) | 312 | #define UIF_NORMAL_ACTIVE ((__force uif_t) (1 << 29)) |
311 | #define UIF_INITIALIZED (1 << 31) | 313 | #define UIF_INITIALIZED ((__force uif_t) (1 << 31)) |
312 | 314 | ||
313 | int blocked_open; | 315 | int blocked_open; |
314 | 316 | ||
@@ -430,7 +432,7 @@ static inline int uart_handle_break(struct uart_port *port) | |||
430 | port->sysrq = 0; | 432 | port->sysrq = 0; |
431 | } | 433 | } |
432 | #endif | 434 | #endif |
433 | if (info->flags & UPF_SAK) | 435 | if (port->flags & UPF_SAK) |
434 | do_SAK(info->tty); | 436 | do_SAK(info->tty); |
435 | return 0; | 437 | return 0; |
436 | } | 438 | } |
diff --git a/include/linux/slab.h b/include/linux/slab.h index 1fb77a9cc148..8cf52939d0ab 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h | |||
@@ -76,7 +76,14 @@ struct cache_sizes { | |||
76 | kmem_cache_t *cs_dmacachep; | 76 | kmem_cache_t *cs_dmacachep; |
77 | }; | 77 | }; |
78 | extern struct cache_sizes malloc_sizes[]; | 78 | extern struct cache_sizes malloc_sizes[]; |
79 | |||
80 | #ifndef CONFIG_DEBUG_SLAB | ||
79 | extern void *__kmalloc(size_t, gfp_t); | 81 | extern void *__kmalloc(size_t, gfp_t); |
82 | #else | ||
83 | extern void *__kmalloc_track_caller(size_t, gfp_t, void*); | ||
84 | #define __kmalloc(size, flags) \ | ||
85 | __kmalloc_track_caller(size, flags, __builtin_return_address(0)) | ||
86 | #endif | ||
80 | 87 | ||
81 | static inline void *kmalloc(size_t size, gfp_t flags) | 88 | static inline void *kmalloc(size_t size, gfp_t flags) |
82 | { | 89 | { |
diff --git a/include/linux/swap.h b/include/linux/swap.h index 4a99e4a7fbf3..f3e17d5963c3 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
@@ -178,6 +178,7 @@ extern int vm_swappiness; | |||
178 | 178 | ||
179 | #ifdef CONFIG_NUMA | 179 | #ifdef CONFIG_NUMA |
180 | extern int zone_reclaim_mode; | 180 | extern int zone_reclaim_mode; |
181 | extern int zone_reclaim_interval; | ||
181 | extern int zone_reclaim(struct zone *, gfp_t, unsigned int); | 182 | extern int zone_reclaim(struct zone *, gfp_t, unsigned int); |
182 | #else | 183 | #else |
183 | #define zone_reclaim_mode 0 | 184 | #define zone_reclaim_mode 0 |
@@ -190,13 +191,20 @@ static inline int zone_reclaim(struct zone *z, gfp_t mask, unsigned int order) | |||
190 | #ifdef CONFIG_MIGRATION | 191 | #ifdef CONFIG_MIGRATION |
191 | extern int isolate_lru_page(struct page *p); | 192 | extern int isolate_lru_page(struct page *p); |
192 | extern int putback_lru_pages(struct list_head *l); | 193 | extern int putback_lru_pages(struct list_head *l); |
194 | extern int migrate_page(struct page *, struct page *); | ||
195 | extern void migrate_page_copy(struct page *, struct page *); | ||
196 | extern int migrate_page_remove_references(struct page *, struct page *, int); | ||
193 | extern int migrate_pages(struct list_head *l, struct list_head *t, | 197 | extern int migrate_pages(struct list_head *l, struct list_head *t, |
194 | struct list_head *moved, struct list_head *failed); | 198 | struct list_head *moved, struct list_head *failed); |
199 | extern int fail_migrate_page(struct page *, struct page *); | ||
195 | #else | 200 | #else |
196 | static inline int isolate_lru_page(struct page *p) { return -ENOSYS; } | 201 | static inline int isolate_lru_page(struct page *p) { return -ENOSYS; } |
197 | static inline int putback_lru_pages(struct list_head *l) { return 0; } | 202 | static inline int putback_lru_pages(struct list_head *l) { return 0; } |
198 | static inline int migrate_pages(struct list_head *l, struct list_head *t, | 203 | static inline int migrate_pages(struct list_head *l, struct list_head *t, |
199 | struct list_head *moved, struct list_head *failed) { return -ENOSYS; } | 204 | struct list_head *moved, struct list_head *failed) { return -ENOSYS; } |
205 | /* Possible settings for the migrate_page() method in address_operations */ | ||
206 | #define migrate_page NULL | ||
207 | #define fail_migrate_page NULL | ||
200 | #endif | 208 | #endif |
201 | 209 | ||
202 | #ifdef CONFIG_MMU | 210 | #ifdef CONFIG_MMU |
@@ -245,6 +253,7 @@ extern int remove_exclusive_swap_page(struct page *); | |||
245 | struct backing_dev_info; | 253 | struct backing_dev_info; |
246 | 254 | ||
247 | extern spinlock_t swap_lock; | 255 | extern spinlock_t swap_lock; |
256 | extern int remove_vma_swap(struct vm_area_struct *vma, struct page *page); | ||
248 | 257 | ||
249 | /* linux/mm/thrash.c */ | 258 | /* linux/mm/thrash.c */ |
250 | extern struct mm_struct * swap_token_mm; | 259 | extern struct mm_struct * swap_token_mm; |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index e666d6070569..3877209d23c3 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
@@ -50,6 +50,8 @@ struct timezone; | |||
50 | struct tms; | 50 | struct tms; |
51 | struct utimbuf; | 51 | struct utimbuf; |
52 | struct mq_attr; | 52 | struct mq_attr; |
53 | struct compat_stat; | ||
54 | struct compat_timeval; | ||
53 | 55 | ||
54 | #include <linux/config.h> | 56 | #include <linux/config.h> |
55 | #include <linux/types.h> | 57 | #include <linux/types.h> |
@@ -534,4 +536,35 @@ asmlinkage long sys_spu_run(int fd, __u32 __user *unpc, | |||
534 | asmlinkage long sys_spu_create(const char __user *name, | 536 | asmlinkage long sys_spu_create(const char __user *name, |
535 | unsigned int flags, mode_t mode); | 537 | unsigned int flags, mode_t mode); |
536 | 538 | ||
539 | asmlinkage long sys_mknodat(int dfd, const char __user * filename, int mode, | ||
540 | unsigned dev); | ||
541 | asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, int mode); | ||
542 | asmlinkage long sys_unlinkat(int dfd, const char __user * pathname, int flag); | ||
543 | asmlinkage long sys_symlinkat(const char __user * oldname, | ||
544 | int newdfd, const char __user * newname); | ||
545 | asmlinkage long sys_linkat(int olddfd, const char __user *oldname, | ||
546 | int newdfd, const char __user *newname); | ||
547 | asmlinkage long sys_renameat(int olddfd, const char __user * oldname, | ||
548 | int newdfd, const char __user * newname); | ||
549 | asmlinkage long sys_futimesat(int dfd, char __user *filename, | ||
550 | struct timeval __user *utimes); | ||
551 | asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode); | ||
552 | asmlinkage long sys_fchmodat(int dfd, const char __user * filename, | ||
553 | mode_t mode); | ||
554 | asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user, | ||
555 | gid_t group, int flag); | ||
556 | asmlinkage long sys_openat(int dfd, const char __user *filename, int flags, | ||
557 | int mode); | ||
558 | asmlinkage long sys_newfstatat(int dfd, char __user *filename, | ||
559 | struct stat __user *statbuf, int flag); | ||
560 | asmlinkage long sys_readlinkat(int dfd, const char __user *path, char __user *buf, | ||
561 | int bufsiz); | ||
562 | asmlinkage long compat_sys_futimesat(unsigned int dfd, char __user *filename, | ||
563 | struct compat_timeval __user *t); | ||
564 | asmlinkage long compat_sys_newfstatat(unsigned int dfd, char __user * filename, | ||
565 | struct compat_stat __user *statbuf, | ||
566 | int flag); | ||
567 | asmlinkage long compat_sys_openat(unsigned int dfd, const char __user *filename, | ||
568 | int flags, int mode); | ||
569 | |||
537 | #endif | 570 | #endif |
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 8352a7ce5895..32a4139c4ad8 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
@@ -182,7 +182,8 @@ enum | |||
182 | VM_SWAP_TOKEN_TIMEOUT=28, /* default time for token time out */ | 182 | VM_SWAP_TOKEN_TIMEOUT=28, /* default time for token time out */ |
183 | VM_DROP_PAGECACHE=29, /* int: nuke lots of pagecache */ | 183 | VM_DROP_PAGECACHE=29, /* int: nuke lots of pagecache */ |
184 | VM_PERCPU_PAGELIST_FRACTION=30,/* int: fraction of pages in each percpu_pagelist */ | 184 | VM_PERCPU_PAGELIST_FRACTION=30,/* int: fraction of pages in each percpu_pagelist */ |
185 | VM_ZONE_RECLAIM_MODE=31,/* reclaim local zone memory before going off node */ | 185 | VM_ZONE_RECLAIM_MODE=31, /* reclaim local zone memory before going off node */ |
186 | VM_ZONE_RECLAIM_INTERVAL=32, /* time period to wait after reclaim failure */ | ||
186 | }; | 187 | }; |
187 | 188 | ||
188 | 189 | ||
diff --git a/include/linux/time.h b/include/linux/time.h index 614dd8465839..7b4dc36532bb 100644 --- a/include/linux/time.h +++ b/include/linux/time.h | |||
@@ -48,7 +48,7 @@ extern void set_normalized_timespec(struct timespec *ts, time_t sec, long nsec); | |||
48 | * Returns true if the timespec is norm, false if denorm: | 48 | * Returns true if the timespec is norm, false if denorm: |
49 | */ | 49 | */ |
50 | #define timespec_valid(ts) \ | 50 | #define timespec_valid(ts) \ |
51 | (((ts)->tv_sec >= 0) && (((unsigned) (ts)->tv_nsec) < NSEC_PER_SEC)) | 51 | (((ts)->tv_sec >= 0) && (((unsigned long) (ts)->tv_nsec) < NSEC_PER_SEC)) |
52 | 52 | ||
53 | /* | 53 | /* |
54 | * 64-bit nanosec type. Large enough to span 292+ years in nanosecond | 54 | * 64-bit nanosec type. Large enough to span 292+ years in nanosecond |
diff --git a/include/linux/types.h b/include/linux/types.h index 21b9ce803644..54ae2d59e71b 100644 --- a/include/linux/types.h +++ b/include/linux/types.h | |||
@@ -8,6 +8,8 @@ | |||
8 | (((bits)+BITS_PER_LONG-1)/BITS_PER_LONG) | 8 | (((bits)+BITS_PER_LONG-1)/BITS_PER_LONG) |
9 | #define DECLARE_BITMAP(name,bits) \ | 9 | #define DECLARE_BITMAP(name,bits) \ |
10 | unsigned long name[BITS_TO_LONGS(bits)] | 10 | unsigned long name[BITS_TO_LONGS(bits)] |
11 | |||
12 | #define BITS_PER_BYTE 8 | ||
11 | #endif | 13 | #endif |
12 | 14 | ||
13 | #include <linux/posix_types.h> | 15 | #include <linux/posix_types.h> |
diff --git a/include/linux/usb_ch9.h b/include/linux/usb_ch9.h index ee21e6bf3867..a2aacfc7af2f 100644 --- a/include/linux/usb_ch9.h +++ b/include/linux/usb_ch9.h | |||
@@ -535,9 +535,11 @@ enum usb_device_state { | |||
535 | */ | 535 | */ |
536 | USB_STATE_NOTATTACHED = 0, | 536 | USB_STATE_NOTATTACHED = 0, |
537 | 537 | ||
538 | /* the chapter 9 device states */ | 538 | /* chapter 9 and authentication (wireless) device states */ |
539 | USB_STATE_ATTACHED, | 539 | USB_STATE_ATTACHED, |
540 | USB_STATE_POWERED, | 540 | USB_STATE_POWERED, /* wired */ |
541 | USB_STATE_UNAUTHENTICATED, /* auth */ | ||
542 | USB_STATE_RECONNECTING, /* auth */ | ||
541 | USB_STATE_DEFAULT, /* limited function */ | 543 | USB_STATE_DEFAULT, /* limited function */ |
542 | USB_STATE_ADDRESS, | 544 | USB_STATE_ADDRESS, |
543 | USB_STATE_CONFIGURED, /* most functions */ | 545 | USB_STATE_CONFIGURED, /* most functions */ |
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index ce40675324bd..6f6c69777648 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -315,6 +315,7 @@ struct v4l2_pix_format | |||
315 | #define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S','9','1','0') /* SN9C10x compression */ | 315 | #define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S','9','1','0') /* SN9C10x compression */ |
316 | #define V4L2_PIX_FMT_PWC1 v4l2_fourcc('P','W','C','1') /* pwc older webcam */ | 316 | #define V4L2_PIX_FMT_PWC1 v4l2_fourcc('P','W','C','1') /* pwc older webcam */ |
317 | #define V4L2_PIX_FMT_PWC2 v4l2_fourcc('P','W','C','2') /* pwc newer webcam */ | 317 | #define V4L2_PIX_FMT_PWC2 v4l2_fourcc('P','W','C','2') /* pwc newer webcam */ |
318 | #define V4L2_PIX_FMT_ET61X251 v4l2_fourcc('E','6','2','5') /* ET61X251 compression */ | ||
318 | 319 | ||
319 | /* | 320 | /* |
320 | * F O R M A T E N U M E R A T I O N | 321 | * F O R M A T E N U M E R A T I O N |
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h index df05f468fa5c..9a92aef8b0b2 100644 --- a/include/net/ieee80211.h +++ b/include/net/ieee80211.h | |||
@@ -803,9 +803,9 @@ enum ieee80211_state { | |||
803 | #define IEEE80211_24GHZ_MAX_CHANNEL 14 | 803 | #define IEEE80211_24GHZ_MAX_CHANNEL 14 |
804 | #define IEEE80211_24GHZ_CHANNELS 14 | 804 | #define IEEE80211_24GHZ_CHANNELS 14 |
805 | 805 | ||
806 | #define IEEE80211_52GHZ_MIN_CHANNEL 36 | 806 | #define IEEE80211_52GHZ_MIN_CHANNEL 34 |
807 | #define IEEE80211_52GHZ_MAX_CHANNEL 165 | 807 | #define IEEE80211_52GHZ_MAX_CHANNEL 165 |
808 | #define IEEE80211_52GHZ_CHANNELS 32 | 808 | #define IEEE80211_52GHZ_CHANNELS 131 |
809 | 809 | ||
810 | enum { | 810 | enum { |
811 | IEEE80211_CH_PASSIVE_ONLY = (1 << 0), | 811 | IEEE80211_CH_PASSIVE_ONLY = (1 << 0), |
diff --git a/include/net/route.h b/include/net/route.h index e3e5436f8017..9c04f15090d2 100644 --- a/include/net/route.h +++ b/include/net/route.h | |||
@@ -170,8 +170,8 @@ static inline int ip_route_connect(struct rtable **rp, u32 dst, | |||
170 | return ip_route_output_flow(rp, &fl, sk, 0); | 170 | return ip_route_output_flow(rp, &fl, sk, 0); |
171 | } | 171 | } |
172 | 172 | ||
173 | static inline int ip_route_newports(struct rtable **rp, u16 sport, u16 dport, | 173 | static inline int ip_route_newports(struct rtable **rp, u8 protocol, |
174 | struct sock *sk) | 174 | u16 sport, u16 dport, struct sock *sk) |
175 | { | 175 | { |
176 | if (sport != (*rp)->fl.fl_ip_sport || | 176 | if (sport != (*rp)->fl.fl_ip_sport || |
177 | dport != (*rp)->fl.fl_ip_dport) { | 177 | dport != (*rp)->fl.fl_ip_dport) { |
@@ -180,6 +180,7 @@ static inline int ip_route_newports(struct rtable **rp, u16 sport, u16 dport, | |||
180 | memcpy(&fl, &(*rp)->fl, sizeof(fl)); | 180 | memcpy(&fl, &(*rp)->fl, sizeof(fl)); |
181 | fl.fl_ip_sport = sport; | 181 | fl.fl_ip_sport = sport; |
182 | fl.fl_ip_dport = dport; | 182 | fl.fl_ip_dport = dport; |
183 | fl.proto = protocol; | ||
183 | ip_rt_put(*rp); | 184 | ip_rt_put(*rp); |
184 | *rp = NULL; | 185 | *rp = NULL; |
185 | return ip_route_output_flow(rp, &fl, sk, 0); | 186 | return ip_route_output_flow(rp, &fl, sk, 0); |
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index e94ca4d36035..290e3b4d2aec 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h | |||
@@ -275,7 +275,7 @@ extern int scsi_execute_req(struct scsi_device *sdev, const unsigned char *cmd, | |||
275 | int data_direction, void *buffer, unsigned bufflen, | 275 | int data_direction, void *buffer, unsigned bufflen, |
276 | struct scsi_sense_hdr *, int timeout, int retries); | 276 | struct scsi_sense_hdr *, int timeout, int retries); |
277 | extern int scsi_execute_async(struct scsi_device *sdev, | 277 | extern int scsi_execute_async(struct scsi_device *sdev, |
278 | const unsigned char *cmd, int data_direction, | 278 | const unsigned char *cmd, int cmd_len, int data_direction, |
279 | void *buffer, unsigned bufflen, int use_sg, | 279 | void *buffer, unsigned bufflen, int use_sg, |
280 | int timeout, int retries, void *privdata, | 280 | int timeout, int retries, void *privdata, |
281 | void (*done)(void *, char *, int, int), | 281 | void (*done)(void *, char *, int, int), |
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index 467274a764d1..827992949c4b 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h | |||
@@ -554,7 +554,6 @@ struct Scsi_Host { | |||
554 | /* | 554 | /* |
555 | * ordered write support | 555 | * ordered write support |
556 | */ | 556 | */ |
557 | unsigned ordered_flush:1; | ||
558 | unsigned ordered_tag:1; | 557 | unsigned ordered_tag:1; |
559 | 558 | ||
560 | /* | 559 | /* |