aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-alpha/dma-mapping.h1
-rw-r--r--include/asm-arm/arch-s3c2410/debug-macro.S6
-rw-r--r--include/asm-arm/arch-s3c2410/map.h38
-rw-r--r--include/asm-arm/arch-s3c2410/regs-serial.h6
-rw-r--r--include/asm-arm/arch-s3c2410/uncompress.h6
-rw-r--r--include/asm-arm/mach/map.h1
-rw-r--r--include/asm-arm/pgtable.h1
-rw-r--r--include/asm-arm26/bitops.h4
-rw-r--r--include/asm-arm26/hardirq.h8
-rw-r--r--include/asm-arm26/posix_types.h1
-rw-r--r--include/asm-arm26/system.h5
-rw-r--r--include/asm-i386/page.h4
-rw-r--r--include/asm-ia64/sn/sn_feature_sets.h14
-rw-r--r--include/asm-powerpc/kexec.h4
-rw-r--r--include/asm-powerpc/pmac_pfunc.h5
-rw-r--r--include/asm-s390/dasd.h2
-rw-r--r--include/asm-s390/qdio.h2
-rw-r--r--include/asm-s390/thread_info.h6
-rw-r--r--include/asm-s390/unistd.h24
-rw-r--r--include/asm-sh/bus-sh.h66
-rw-r--r--include/asm-sh/cpu-sh3/mmu_context.h10
-rw-r--r--include/asm-sh/cpu-sh4/mmu_context.h8
-rw-r--r--include/asm-sh/ioctls.h2
-rw-r--r--include/asm-sh/irq-sh73180.h36
-rw-r--r--include/asm-sh/irq-sh7780.h23
-rw-r--r--include/asm-sh/irq.h10
-rw-r--r--include/asm-sh/microdev.h (renamed from include/asm-sh/microdev/irq.h)60
-rw-r--r--include/asm-sh/microdev/io.h53
-rw-r--r--include/asm-sh/processor.h36
-rw-r--r--include/asm-sh64/ioctls.h2
-rw-r--r--include/asm-sparc64/spinlock.h24
-rw-r--r--include/asm-um/ldt-x86_64.h12
-rw-r--r--include/asm-um/smp.h2
-rw-r--r--include/asm-x86_64/ia32_unistd.h2
-rw-r--r--include/asm-xtensa/futex.h1
-rw-r--r--include/linux/agpgart.h3
-rw-r--r--include/linux/blkdev.h6
-rw-r--r--include/linux/cpufreq.h3
-rw-r--r--include/linux/device-mapper.h2
-rw-r--r--include/linux/fs.h8
-rw-r--r--include/linux/fuse.h16
-rw-r--r--include/linux/hrtimer.h6
-rw-r--r--include/linux/io.h25
-rw-r--r--include/linux/ktime.h6
-rw-r--r--include/linux/mmzone.h13
-rw-r--r--include/linux/netfilter/x_tables.h16
-rw-r--r--include/linux/pci.h2
-rw-r--r--include/linux/pci_ids.h18
-rw-r--r--include/linux/posix-timers.h1
-rw-r--r--include/linux/reiserfs_fs.h16
-rw-r--r--include/linux/reiserfs_fs_sb.h1
-rw-r--r--include/linux/reiserfs_xattr.h2
-rw-r--r--include/linux/rmap.h5
-rw-r--r--include/linux/security.h19
-rw-r--r--include/linux/serial_8250.h2
-rw-r--r--include/linux/serial_core.h72
-rw-r--r--include/linux/slab.h7
-rw-r--r--include/linux/swap.h9
-rw-r--r--include/linux/syscalls.h33
-rw-r--r--include/linux/sysctl.h3
-rw-r--r--include/linux/time.h2
-rw-r--r--include/linux/types.h2
-rw-r--r--include/linux/usb_ch9.h6
-rw-r--r--include/linux/videodev2.h1
-rw-r--r--include/net/ieee80211.h4
-rw-r--r--include/net/route.h5
-rw-r--r--include/scsi/scsi_device.h2
-rw-r--r--include/scsi/scsi_host.h1
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
33struct scatterlist;
33void *dma_alloc_coherent(struct device *dev, size_t size, 34void *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);
35int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, 36int 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 @@
441003: 441003:
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 @@
751003: 751003:
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
46static __inline__ void 46static __inline__ void
47uart_wr(unsigned int reg, unsigned int val) 47uart_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
30extern void create_memmap_holes(struct meminfo *); 31extern void create_memmap_holes(struct meminfo *);
31extern void memtable_init(struct meminfo *); 32extern 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);
186extern int _test_and_set_bit_le(int nr, volatile unsigned long * p); 186extern int _test_and_set_bit_le(int nr, volatile unsigned long * p);
187extern int _test_and_clear_bit_le(int nr, volatile unsigned long * p); 187extern int _test_and_clear_bit_le(int nr, volatile unsigned long * p);
188extern int _test_and_change_bit_le(int nr, volatile unsigned long * p); 188extern int _test_and_change_bit_le(int nr, volatile unsigned long * p);
189extern int _find_first_zero_bit_le(void * p, unsigned size); 189extern int _find_first_zero_bit_le(const unsigned long * p, unsigned size);
190extern int _find_next_zero_bit_le(void * p, int size, int offset); 190extern int _find_next_zero_bit_le(void * p, int size, int offset);
191extern int _find_first_bit_le(const unsigned long *p, unsigned size); 191extern int _find_first_bit_le(const unsigned long *p, unsigned size);
192extern int _find_next_bit_le(const unsigned long *p, int size, int offset); 192extern 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
8typedef struct { 9typedef struct {
9 unsigned int __softirq_pending; 10 unsigned int __softirq_pending;
@@ -26,13 +27,6 @@ typedef struct {
26 27
27extern asmlinkage void __do_softirq(void); 28extern 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
45typedef unsigned short __kernel_old_uid_t; 45typedef unsigned short __kernel_old_uid_t;
46typedef unsigned short __kernel_old_gid_t; 46typedef unsigned short __kernel_old_gid_t;
47typedef unsigned short __kernel_old_dev_t;
47 48
48#ifdef __GNUC__ 49#ifdef __GNUC__
49typedef long long __kernel_loff_t; 50typedef 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);
121extern int default_machine_kexec_prepare(struct kimage *image); 121extern int default_machine_kexec_prepare(struct kimage *image);
122extern void default_machine_crash_shutdown(struct pt_regs *regs); 122extern void default_machine_crash_shutdown(struct pt_regs *regs);
123 123
124extern 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
190extern void pmf_unregister_irq_client(struct device_node *np, 191extern 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
13extern struct bus_type sh_bus_types[];
14
15struct 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
32struct 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 */
48enum {
49 SH_DEV_ID_USB_OHCI,
50};
51
52#define SH_NR_BUSES 1
53#define SH_BUS_NAME_VIRT "shbus"
54
55enum {
56 SH_BUS_VIRT,
57};
58
59/* arch/sh/kernel/cpu/bus.c */
60extern int sh_device_register(struct sh_dev *dev);
61extern void sh_device_unregister(struct sh_dev *dev);
62extern int sh_driver_register(struct sh_driver *drv);
63extern 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
242extern void disable_irq(unsigned int);
243extern void disable_irq_nosync(unsigned int);
244extern void enable_irq(unsigned int);
245
246/*
247 * Simple Mask Register Support
248 */
249extern void make_maskreg_irq(unsigned int irq);
250extern unsigned short *irq_mask_register;
251
252/*
253 * Function for "on chip support modules".
254 */
255extern void make_ipr_irq(unsigned int irq, unsigned int addr,
256 int pos, int priority);
257extern 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
346extern int shmse_irq_demux(int irq); 314int 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
310extern void disable_irq(unsigned int);
311extern void disable_irq_nosync(unsigned int);
312extern void enable_irq(unsigned int);
313
314/*
315 * Simple Mask Register Support
316 */
317extern void make_maskreg_irq(unsigned int irq);
318extern unsigned short *irq_mask_register;
319
320/*
321 * Function for "on chip support modules".
322 */
323extern 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
17extern void init_microdev_irq(void); 14extern void init_microdev_irq(void);
18extern void microdev_print_fpga_intc_status(void); 15extern 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)
72unsigned char microdev_pci_inb(unsigned long port);
73unsigned short microdev_pci_inw(unsigned long port);
74unsigned long microdev_pci_inl(unsigned long port);
75void microdev_pci_outb(unsigned char data, unsigned long port);
76void microdev_pci_outw(unsigned short data, unsigned long port);
77void 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
17extern unsigned long microdev_isa_port2addr(unsigned long offset);
18
19extern unsigned char microdev_inb(unsigned long port);
20extern unsigned short microdev_inw(unsigned long port);
21extern unsigned int microdev_inl(unsigned long port);
22
23extern void microdev_outb(unsigned char value, unsigned long port);
24extern void microdev_outw(unsigned short value, unsigned long port);
25extern void microdev_outl(unsigned int value, unsigned long port);
26
27extern unsigned char microdev_inb_p(unsigned long port);
28extern unsigned short microdev_inw_p(unsigned long port);
29extern unsigned int microdev_inl_p(unsigned long port);
30
31extern void microdev_outb_p(unsigned char value, unsigned long port);
32extern void microdev_outw_p(unsigned short value, unsigned long port);
33extern void microdev_outl_p(unsigned int value, unsigned long port);
34
35extern void microdev_insb(unsigned long port, void *addr, unsigned long count);
36extern void microdev_insw(unsigned long port, void *addr, unsigned long count);
37extern void microdev_insl(unsigned long port, void *addr, unsigned long count);
38
39extern void microdev_outsb(unsigned long port, const void *addr, unsigned long count);
40extern void microdev_outsw(unsigned long port, const void *addr, unsigned long count);
41extern void microdev_outsl(unsigned long port, const void *addr, unsigned long count);
42
43#if defined(CONFIG_PCI)
44extern unsigned char microdev_pci_inb(unsigned long port);
45extern unsigned short microdev_pci_inw(unsigned long port);
46extern unsigned long microdev_pci_inl(unsigned long port);
47extern void microdev_pci_outb(unsigned char data, unsigned long port);
48extern void microdev_pci_outw(unsigned short data, unsigned long port);
49extern 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 */
36enum cpu_type { 35enum 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
53struct sh_cpuinfo { 52struct 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
144struct thread_struct { 138struct 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
134static 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
134static void inline __read_unlock(raw_rwlock_t *lock) 156static 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
26extern 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
203struct agp_front_data { 204struct 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 *);
697extern void blk_cleanup_queue(request_queue_t *); 697extern void blk_cleanup_queue(request_queue_t *);
698extern void blk_queue_make_request(request_queue_t *, make_request_fn *); 698extern void blk_queue_make_request(request_queue_t *, make_request_fn *);
699extern void blk_queue_bounce_limit(request_queue_t *, u64); 699extern void blk_queue_bounce_limit(request_queue_t *, u64);
700extern void blk_queue_max_sectors(request_queue_t *, unsigned short); 700extern void blk_queue_max_sectors(request_queue_t *, unsigned int);
701extern void blk_queue_max_phys_segments(request_queue_t *, unsigned short); 701extern void blk_queue_max_phys_segments(request_queue_t *, unsigned short);
702extern void blk_queue_max_hw_segments(request_queue_t *, unsigned short); 702extern void blk_queue_max_hw_segments(request_queue_t *, unsigned short);
703extern void blk_queue_max_segment_size(request_queue_t *, unsigned int); 703extern 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
93struct io_restrictions { 93struct 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
368struct backing_dev_info; 370struct backing_dev_info;
@@ -1719,6 +1721,12 @@ extern void simple_release_fs(struct vfsmount **mount, int *count);
1719 1721
1720extern ssize_t simple_read_from_buffer(void __user *, size_t, loff_t *, const void *, size_t); 1722extern ssize_t simple_read_from_buffer(void __user *, size_t, loff_t *, const void *, size_t);
1721 1723
1724#ifdef CONFIG_MIGRATION
1725extern int buffer_migrate_page(struct page *, struct page *);
1726#else
1727#define buffer_migrate_page NULL
1728#endif
1729
1722extern int inode_change_ok(struct inode *, struct iattr *); 1730extern int inode_change_ok(struct inode *, struct iattr *);
1723extern int __must_check inode_setattr(struct inode *, struct iattr *); 1731extern 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
78enum fuse_opcode { 86enum 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 {
247struct fuse_init_in { 255struct 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
252struct fuse_init_out { 262struct 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 {
40enum hrtimer_state { 40enum 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: */
103extern void hrtimer_init(struct hrtimer *timer, const clockid_t which_clock); 104extern void hrtimer_init(struct hrtimer *timer, clockid_t which_clock,
104extern 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: */
108extern int hrtimer_start(struct hrtimer *timer, ktime_t tim, 108extern 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
23void __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 */
27struct _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
406struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn); 406struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn);
407int pci_find_capability (struct pci_dev *dev, int cap); 407int pci_find_capability (struct pci_dev *dev, int cap);
408int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap); 408int pci_find_next_capability (struct pci_dev *dev, u8 pos, int cap);
409int pci_find_ext_capability (struct pci_dev *dev, int cap);
410struct pci_bus * pci_find_next_bus(const struct pci_bus *from); 409struct pci_bus * pci_find_next_bus(const struct pci_bus *from);
411 410
412struct pci_dev *pci_get_device (unsigned int vendor, unsigned int device, struct pci_dev *from); 411struct 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;}
626static inline void pci_unregister_driver(struct pci_driver *drv) { } 625static inline void pci_unregister_driver(struct pci_driver *drv) { }
627static inline int pci_find_capability (struct pci_dev *dev, int cap) {return 0; } 626static inline int pci_find_capability (struct pci_dev *dev, int cap) {return 0; }
628static inline int pci_find_next_capability (struct pci_dev *dev, u8 post, int cap) { return 0; } 627static inline int pci_find_next_capability (struct pci_dev *dev, u8 post, int cap) { return 0; }
629static inline int pci_find_ext_capability (struct pci_dev *dev, int cap) {return 0; }
630static inline const struct pci_device_id *pci_match_device(const struct pci_device_id *ids, const struct pci_dev *dev) { return NULL; } 628static 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 {
84void register_posix_clock(const clockid_t clock_id, struct k_clock *new_clock); 84void 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 */
87int do_posix_clock_notimer_create(struct k_itimer *timer);
88int do_posix_clock_nonanosleep(const clockid_t, int flags, struct timespec *, 87int do_posix_clock_nonanosleep(const clockid_t, int flags, struct timespec *,
89 struct timespec __user *); 88 struct timespec __user *);
90int do_posix_clock_nosettime(const clockid_t, struct timespec *tp); 89int 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;
1971extern struct address_space_operations reiserfs_address_space_operations; 1971extern struct address_space_operations reiserfs_address_space_operations;
1972 1972
1973/* fix_nodes.c */ 1973/* fix_nodes.c */
1974#ifdef CONFIG_REISERFS_CHECK
1975void *reiserfs_kmalloc(size_t size, gfp_t flags, struct super_block *s);
1976void reiserfs_kfree(const void *vp, size_t size, struct super_block *s);
1977#else
1978static inline void *reiserfs_kmalloc(size_t size, int flags,
1979 struct super_block *s)
1980{
1981 return kmalloc(size, flags);
1982}
1983
1984static inline void reiserfs_kfree(const void *vp, size_t size,
1985 struct super_block *s)
1986{
1987 kfree(vp);
1988}
1989#endif
1990 1974
1991int fix_nodes(int n_op_mode, struct tree_balance *p_s_tb, 1975int 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);
43int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs); 43int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs);
44int reiserfs_xattr_init(struct super_block *sb, int mount_flags); 44int reiserfs_xattr_init(struct super_block *sb, int mount_flags);
45int reiserfs_permission(struct inode *inode, int mask, struct nameidata *nd); 45int reiserfs_permission(struct inode *inode, int mask, struct nameidata *nd);
46int reiserfs_permission_locked(struct inode *inode, int mask,
47 struct nameidata *nd);
48 46
49int reiserfs_xattr_del(struct inode *, const char *); 47int reiserfs_xattr_del(struct inode *, const char *);
50int reiserfs_xattr_get(const struct inode *, const char *, void *, size_t); 48int 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 */
93int page_referenced(struct page *, int is_locked); 93int page_referenced(struct page *, int is_locked);
94int try_to_unmap(struct page *); 94int try_to_unmap(struct page *, int ignore_refs);
95void 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
2620static inline struct dentry *securityfs_create_dir(const char *name,
2621 struct dentry *parent)
2622{
2623 return ERR_PTR(-ENODEV);
2624}
2625
2626static 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
2635static 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
206typedef unsigned int __bitwise__ upf_t;
207
206struct uart_port { 208struct 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
293typedef 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 {
298struct uart_info { 301struct 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};
78extern struct cache_sizes malloc_sizes[]; 78extern struct cache_sizes malloc_sizes[];
79
80#ifndef CONFIG_DEBUG_SLAB
79extern void *__kmalloc(size_t, gfp_t); 81extern void *__kmalloc(size_t, gfp_t);
82#else
83extern 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
81static inline void *kmalloc(size_t size, gfp_t flags) 88static 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
180extern int zone_reclaim_mode; 180extern int zone_reclaim_mode;
181extern int zone_reclaim_interval;
181extern int zone_reclaim(struct zone *, gfp_t, unsigned int); 182extern 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
191extern int isolate_lru_page(struct page *p); 192extern int isolate_lru_page(struct page *p);
192extern int putback_lru_pages(struct list_head *l); 193extern int putback_lru_pages(struct list_head *l);
194extern int migrate_page(struct page *, struct page *);
195extern void migrate_page_copy(struct page *, struct page *);
196extern int migrate_page_remove_references(struct page *, struct page *, int);
193extern int migrate_pages(struct list_head *l, struct list_head *t, 197extern 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);
199extern int fail_migrate_page(struct page *, struct page *);
195#else 200#else
196static inline int isolate_lru_page(struct page *p) { return -ENOSYS; } 201static inline int isolate_lru_page(struct page *p) { return -ENOSYS; }
197static inline int putback_lru_pages(struct list_head *l) { return 0; } 202static inline int putback_lru_pages(struct list_head *l) { return 0; }
198static inline int migrate_pages(struct list_head *l, struct list_head *t, 203static 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 *);
245struct backing_dev_info; 253struct backing_dev_info;
246 254
247extern spinlock_t swap_lock; 255extern spinlock_t swap_lock;
256extern int remove_vma_swap(struct vm_area_struct *vma, struct page *page);
248 257
249/* linux/mm/thrash.c */ 258/* linux/mm/thrash.c */
250extern struct mm_struct * swap_token_mm; 259extern 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;
50struct tms; 50struct tms;
51struct utimbuf; 51struct utimbuf;
52struct mq_attr; 52struct mq_attr;
53struct compat_stat;
54struct 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,
534asmlinkage long sys_spu_create(const char __user *name, 536asmlinkage long sys_spu_create(const char __user *name,
535 unsigned int flags, mode_t mode); 537 unsigned int flags, mode_t mode);
536 538
539asmlinkage long sys_mknodat(int dfd, const char __user * filename, int mode,
540 unsigned dev);
541asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, int mode);
542asmlinkage long sys_unlinkat(int dfd, const char __user * pathname, int flag);
543asmlinkage long sys_symlinkat(const char __user * oldname,
544 int newdfd, const char __user * newname);
545asmlinkage long sys_linkat(int olddfd, const char __user *oldname,
546 int newdfd, const char __user *newname);
547asmlinkage long sys_renameat(int olddfd, const char __user * oldname,
548 int newdfd, const char __user * newname);
549asmlinkage long sys_futimesat(int dfd, char __user *filename,
550 struct timeval __user *utimes);
551asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode);
552asmlinkage long sys_fchmodat(int dfd, const char __user * filename,
553 mode_t mode);
554asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user,
555 gid_t group, int flag);
556asmlinkage long sys_openat(int dfd, const char __user *filename, int flags,
557 int mode);
558asmlinkage long sys_newfstatat(int dfd, char __user *filename,
559 struct stat __user *statbuf, int flag);
560asmlinkage long sys_readlinkat(int dfd, const char __user *path, char __user *buf,
561 int bufsiz);
562asmlinkage long compat_sys_futimesat(unsigned int dfd, char __user *filename,
563 struct compat_timeval __user *t);
564asmlinkage long compat_sys_newfstatat(unsigned int dfd, char __user * filename,
565 struct compat_stat __user *statbuf,
566 int flag);
567asmlinkage 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
810enum { 810enum {
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
173static inline int ip_route_newports(struct rtable **rp, u16 sport, u16 dport, 173static 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);
277extern int scsi_execute_async(struct scsi_device *sdev, 277extern 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 /*