diff options
Diffstat (limited to 'include')
44 files changed, 256 insertions, 283 deletions
diff --git a/include/asm-arm/arch-pxa/irq.h b/include/asm-arm/arch-pxa/irq.h index d770e4b37ae1..48c60f5eff6a 100644 --- a/include/asm-arm/arch-pxa/irq.h +++ b/include/asm-arm/arch-pxa/irq.h | |||
@@ -12,8 +12,3 @@ | |||
12 | 12 | ||
13 | #define fixup_irq(x) (x) | 13 | #define fixup_irq(x) (x) |
14 | 14 | ||
15 | /* | ||
16 | * This prototype is required for cascading of multiplexed interrupts. | ||
17 | * Since it doesn't exist elsewhere, we'll put it here for now. | ||
18 | */ | ||
19 | extern void do_IRQ(int irq, struct pt_regs *regs); | ||
diff --git a/include/asm-arm/elf.h b/include/asm-arm/elf.h index 7da97a937548..2d44b42d1847 100644 --- a/include/asm-arm/elf.h +++ b/include/asm-arm/elf.h | |||
@@ -22,6 +22,8 @@ typedef unsigned long elf_freg_t[3]; | |||
22 | #define R_ARM_NONE 0 | 22 | #define R_ARM_NONE 0 |
23 | #define R_ARM_PC24 1 | 23 | #define R_ARM_PC24 1 |
24 | #define R_ARM_ABS32 2 | 24 | #define R_ARM_ABS32 2 |
25 | #define R_ARM_CALL 28 | ||
26 | #define R_ARM_JUMP24 29 | ||
25 | 27 | ||
26 | #define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) | 28 | #define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) |
27 | typedef elf_greg_t elf_gregset_t[ELF_NGREG]; | 29 | typedef elf_greg_t elf_gregset_t[ELF_NGREG]; |
diff --git a/include/asm-arm/io.h b/include/asm-arm/io.h index ae69db4a1010..0cf4d4f99600 100644 --- a/include/asm-arm/io.h +++ b/include/asm-arm/io.h | |||
@@ -42,9 +42,9 @@ extern void __raw_writesb(void __iomem *addr, const void *data, int bytelen); | |||
42 | extern void __raw_writesw(void __iomem *addr, const void *data, int wordlen); | 42 | extern void __raw_writesw(void __iomem *addr, const void *data, int wordlen); |
43 | extern void __raw_writesl(void __iomem *addr, const void *data, int longlen); | 43 | extern void __raw_writesl(void __iomem *addr, const void *data, int longlen); |
44 | 44 | ||
45 | extern void __raw_readsb(void __iomem *addr, void *data, int bytelen); | 45 | extern void __raw_readsb(const void __iomem *addr, void *data, int bytelen); |
46 | extern void __raw_readsw(void __iomem *addr, void *data, int wordlen); | 46 | extern void __raw_readsw(const void __iomem *addr, void *data, int wordlen); |
47 | extern void __raw_readsl(void __iomem *addr, void *data, int longlen); | 47 | extern void __raw_readsl(const void __iomem *addr, void *data, int longlen); |
48 | 48 | ||
49 | #define __raw_writeb(v,a) (__chk_io_ptr(a), *(volatile unsigned char __force *)(a) = (v)) | 49 | #define __raw_writeb(v,a) (__chk_io_ptr(a), *(volatile unsigned char __force *)(a) = (v)) |
50 | #define __raw_writew(v,a) (__chk_io_ptr(a), *(volatile unsigned short __force *)(a) = (v)) | 50 | #define __raw_writew(v,a) (__chk_io_ptr(a), *(volatile unsigned short __force *)(a) = (v)) |
diff --git a/include/asm-arm/memory.h b/include/asm-arm/memory.h index a547ee598c6c..3e572364ee73 100644 --- a/include/asm-arm/memory.h +++ b/include/asm-arm/memory.h | |||
@@ -122,6 +122,7 @@ static inline void *phys_to_virt(unsigned long x) | |||
122 | */ | 122 | */ |
123 | #define __pa(x) __virt_to_phys((unsigned long)(x)) | 123 | #define __pa(x) __virt_to_phys((unsigned long)(x)) |
124 | #define __va(x) ((void *)__phys_to_virt((unsigned long)(x))) | 124 | #define __va(x) ((void *)__phys_to_virt((unsigned long)(x))) |
125 | #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) | ||
125 | 126 | ||
126 | /* | 127 | /* |
127 | * Virtual <-> DMA view memory address translations | 128 | * Virtual <-> DMA view memory address translations |
diff --git a/include/asm-ia64/delay.h b/include/asm-ia64/delay.h index 57182d6f2b9a..bba702076391 100644 --- a/include/asm-ia64/delay.h +++ b/include/asm-ia64/delay.h | |||
@@ -84,14 +84,6 @@ __delay (unsigned long loops) | |||
84 | ia64_delay_loop (loops - 1); | 84 | ia64_delay_loop (loops - 1); |
85 | } | 85 | } |
86 | 86 | ||
87 | static __inline__ void | 87 | extern void udelay (unsigned long usecs); |
88 | udelay (unsigned long usecs) | ||
89 | { | ||
90 | unsigned long start = ia64_get_itc(); | ||
91 | unsigned long cycles = usecs*local_cpu_data->cyc_per_usec; | ||
92 | |||
93 | while (ia64_get_itc() - start < cycles) | ||
94 | cpu_relax(); | ||
95 | } | ||
96 | 88 | ||
97 | #endif /* _ASM_IA64_DELAY_H */ | 89 | #endif /* _ASM_IA64_DELAY_H */ |
diff --git a/include/asm-ia64/ia32.h b/include/asm-ia64/ia32.h index 8e746b2413a6..f8044a1169cd 100644 --- a/include/asm-ia64/ia32.h +++ b/include/asm-ia64/ia32.h | |||
@@ -13,6 +13,8 @@ | |||
13 | 13 | ||
14 | # ifdef CONFIG_IA32_SUPPORT | 14 | # ifdef CONFIG_IA32_SUPPORT |
15 | 15 | ||
16 | #define IA32_PAGE_OFFSET 0xc0000000 | ||
17 | |||
16 | extern void ia32_cpu_init (void); | 18 | extern void ia32_cpu_init (void); |
17 | extern void ia32_mem_init (void); | 19 | extern void ia32_mem_init (void); |
18 | extern void ia32_gdt_init (void); | 20 | extern void ia32_gdt_init (void); |
diff --git a/include/asm-ia64/local.h b/include/asm-ia64/local.h index 1dbd584ad851..dc519092ef4d 100644 --- a/include/asm-ia64/local.h +++ b/include/asm-ia64/local.h | |||
@@ -17,8 +17,8 @@ typedef struct { | |||
17 | #define local_set(l, i) atomic64_set(&(l)->val, i) | 17 | #define local_set(l, i) atomic64_set(&(l)->val, i) |
18 | #define local_inc(l) atomic64_inc(&(l)->val) | 18 | #define local_inc(l) atomic64_inc(&(l)->val) |
19 | #define local_dec(l) atomic64_dec(&(l)->val) | 19 | #define local_dec(l) atomic64_dec(&(l)->val) |
20 | #define local_add(l) atomic64_add(&(l)->val) | 20 | #define local_add(i, l) atomic64_add((i), &(l)->val) |
21 | #define local_sub(l) atomic64_sub(&(l)->val) | 21 | #define local_sub(i, l) atomic64_sub((i), &(l)->val) |
22 | 22 | ||
23 | /* Non-atomic variants, i.e., preemption disabled and won't be touched in interrupt, etc. */ | 23 | /* Non-atomic variants, i.e., preemption disabled and won't be touched in interrupt, etc. */ |
24 | 24 | ||
diff --git a/include/asm-ia64/sal.h b/include/asm-ia64/sal.h index 29df88bdd2bc..313cad0628d0 100644 --- a/include/asm-ia64/sal.h +++ b/include/asm-ia64/sal.h | |||
@@ -320,7 +320,8 @@ typedef struct sal_log_timestamp { | |||
320 | typedef struct sal_log_record_header { | 320 | typedef struct sal_log_record_header { |
321 | u64 id; /* Unique monotonically increasing ID */ | 321 | u64 id; /* Unique monotonically increasing ID */ |
322 | sal_log_revision_t revision; /* Major and Minor revision of header */ | 322 | sal_log_revision_t revision; /* Major and Minor revision of header */ |
323 | u16 severity; /* Error Severity */ | 323 | u8 severity; /* Error Severity */ |
324 | u8 validation_bits; /* 0: platform_guid, 1: !timestamp */ | ||
324 | u32 len; /* Length of this error log in bytes */ | 325 | u32 len; /* Length of this error log in bytes */ |
325 | sal_log_timestamp_t timestamp; /* Timestamp */ | 326 | sal_log_timestamp_t timestamp; /* Timestamp */ |
326 | efi_guid_t platform_guid; /* Unique OEM Platform ID */ | 327 | efi_guid_t platform_guid; /* Unique OEM Platform ID */ |
diff --git a/include/asm-ia64/sn/pcidev.h b/include/asm-ia64/sn/pcidev.h index 49711d00ad04..f65d222ca5e8 100644 --- a/include/asm-ia64/sn/pcidev.h +++ b/include/asm-ia64/sn/pcidev.h | |||
@@ -3,15 +3,27 @@ | |||
3 | * License. See the file "COPYING" in the main directory of this archive | 3 | * License. See the file "COPYING" in the main directory of this archive |
4 | * for more details. | 4 | * for more details. |
5 | * | 5 | * |
6 | * Copyright (C) 1992 - 1997, 2000-2004 Silicon Graphics, Inc. All rights reserved. | 6 | * Copyright (C) 1992 - 1997, 2000-2005 Silicon Graphics, Inc. All rights reserved. |
7 | */ | 7 | */ |
8 | #ifndef _ASM_IA64_SN_PCI_PCIDEV_H | 8 | #ifndef _ASM_IA64_SN_PCI_PCIDEV_H |
9 | #define _ASM_IA64_SN_PCI_PCIDEV_H | 9 | #define _ASM_IA64_SN_PCI_PCIDEV_H |
10 | 10 | ||
11 | #include <linux/pci.h> | 11 | #include <linux/pci.h> |
12 | 12 | ||
13 | #define SN_PCIDEV_INFO(pci_dev) \ | 13 | /* |
14 | ((struct pcidev_info *)(pci_dev)->sysdata) | 14 | * In ia64, pci_dev->sysdata must be a *pci_controller. To provide access to |
15 | * the pcidev_info structs for all devices under a controller, we extend the | ||
16 | * definition of pci_controller, via sn_pci_controller, to include a list | ||
17 | * of pcidev_info. | ||
18 | */ | ||
19 | struct sn_pci_controller { | ||
20 | struct pci_controller pci_controller; | ||
21 | struct list_head pcidev_info; | ||
22 | }; | ||
23 | |||
24 | #define SN_PCI_CONTROLLER(dev) ((struct sn_pci_controller *) dev->sysdata) | ||
25 | |||
26 | #define SN_PCIDEV_INFO(dev) sn_pcidev_info_get(dev) | ||
15 | 27 | ||
16 | #define SN_PCIBUS_BUSSOFT_INFO(pci_bus) \ | 28 | #define SN_PCIBUS_BUSSOFT_INFO(pci_bus) \ |
17 | (struct pcibus_info *)((struct pcibus_bussoft *)(PCI_CONTROLLER((pci_bus))->platform_data)) | 29 | (struct pcibus_info *)((struct pcibus_bussoft *)(PCI_CONTROLLER((pci_bus))->platform_data)) |
@@ -53,11 +65,13 @@ struct pcidev_info { | |||
53 | struct sn_irq_info *pdi_sn_irq_info; | 65 | struct sn_irq_info *pdi_sn_irq_info; |
54 | struct sn_pcibus_provider *pdi_provider; /* sn pci ops */ | 66 | struct sn_pcibus_provider *pdi_provider; /* sn pci ops */ |
55 | struct pci_dev *host_pci_dev; /* host bus link */ | 67 | struct pci_dev *host_pci_dev; /* host bus link */ |
68 | struct list_head pdi_list; /* List of pcidev_info */ | ||
56 | }; | 69 | }; |
57 | 70 | ||
58 | extern void sn_irq_fixup(struct pci_dev *pci_dev, | 71 | extern void sn_irq_fixup(struct pci_dev *pci_dev, |
59 | struct sn_irq_info *sn_irq_info); | 72 | struct sn_irq_info *sn_irq_info); |
60 | extern void sn_irq_unfixup(struct pci_dev *pci_dev); | 73 | extern void sn_irq_unfixup(struct pci_dev *pci_dev); |
74 | extern struct pcidev_info * sn_pcidev_info_get(struct pci_dev *); | ||
61 | extern void sn_pci_controller_fixup(int segment, int busnum, | 75 | extern void sn_pci_controller_fixup(int segment, int busnum, |
62 | struct pci_bus *bus); | 76 | struct pci_bus *bus); |
63 | extern void sn_bus_store_sysdata(struct pci_dev *dev); | 77 | extern void sn_bus_store_sysdata(struct pci_dev *dev); |
diff --git a/include/asm-ia64/spinlock.h b/include/asm-ia64/spinlock.h index 5b78611411c3..0c91a76c5ea3 100644 --- a/include/asm-ia64/spinlock.h +++ b/include/asm-ia64/spinlock.h | |||
@@ -201,6 +201,16 @@ static inline void __raw_write_unlock(raw_rwlock_t *x) | |||
201 | 201 | ||
202 | #endif /* !ASM_SUPPORTED */ | 202 | #endif /* !ASM_SUPPORTED */ |
203 | 203 | ||
204 | #define __raw_read_trylock(lock) generic__raw_read_trylock(lock) | 204 | static inline int __raw_read_trylock(raw_rwlock_t *x) |
205 | { | ||
206 | union { | ||
207 | raw_rwlock_t lock; | ||
208 | __u32 word; | ||
209 | } old, new; | ||
210 | old.lock = new.lock = *x; | ||
211 | old.lock.write_lock = new.lock.write_lock = 0; | ||
212 | ++new.lock.read_counter; | ||
213 | return (u32)ia64_cmpxchg4_acq((__u32 *)(x), new.word, old.word) == old.word; | ||
214 | } | ||
205 | 215 | ||
206 | #endif /* _ASM_IA64_SPINLOCK_H */ | 216 | #endif /* _ASM_IA64_SPINLOCK_H */ |
diff --git a/include/asm-mips/mach-au1x00/au1xxx_ide.h b/include/asm-mips/mach-au1x00/au1xxx_ide.h index 33d275c3b84c..e867b4ef96d1 100644 --- a/include/asm-mips/mach-au1x00/au1xxx_ide.h +++ b/include/asm-mips/mach-au1x00/au1xxx_ide.h | |||
@@ -74,9 +74,6 @@ typedef struct | |||
74 | u8 white_list, black_list; | 74 | u8 white_list, black_list; |
75 | struct dbdma_cmd *dma_table_cpu; | 75 | struct dbdma_cmd *dma_table_cpu; |
76 | dma_addr_t dma_table_dma; | 76 | dma_addr_t dma_table_dma; |
77 | struct scatterlist *sg_table; | ||
78 | int sg_nents; | ||
79 | int sg_dma_direction; | ||
80 | #endif | 77 | #endif |
81 | struct device *dev; | 78 | struct device *dev; |
82 | int irq; | 79 | int irq; |
@@ -87,11 +84,6 @@ typedef struct | |||
87 | } _auide_hwif; | 84 | } _auide_hwif; |
88 | 85 | ||
89 | #ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA | 86 | #ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA |
90 | struct drive_list_entry { | ||
91 | const char * id_model; | ||
92 | const char * id_firmware; | ||
93 | }; | ||
94 | |||
95 | /* HD white list */ | 87 | /* HD white list */ |
96 | static const struct drive_list_entry dma_white_list [] = { | 88 | static const struct drive_list_entry dma_white_list [] = { |
97 | /* | 89 | /* |
@@ -167,13 +159,9 @@ int __init auide_probe(void); | |||
167 | * Multi-Word DMA + DbDMA functions | 159 | * Multi-Word DMA + DbDMA functions |
168 | */ | 160 | */ |
169 | #ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA | 161 | #ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA |
170 | |||
171 | static int in_drive_list(struct hd_driveid *id, | ||
172 | const struct drive_list_entry *drive_table); | ||
173 | static int auide_build_sglist(ide_drive_t *drive, struct request *rq); | 162 | static int auide_build_sglist(ide_drive_t *drive, struct request *rq); |
174 | static int auide_build_dmatable(ide_drive_t *drive); | 163 | static int auide_build_dmatable(ide_drive_t *drive); |
175 | static int auide_dma_end(ide_drive_t *drive); | 164 | static int auide_dma_end(ide_drive_t *drive); |
176 | static void auide_dma_start(ide_drive_t *drive ); | ||
177 | ide_startstop_t auide_dma_intr (ide_drive_t *drive); | 165 | ide_startstop_t auide_dma_intr (ide_drive_t *drive); |
178 | static void auide_dma_exec_cmd(ide_drive_t *drive, u8 command); | 166 | static void auide_dma_exec_cmd(ide_drive_t *drive, u8 command); |
179 | static int auide_dma_setup(ide_drive_t *drive); | 167 | static int auide_dma_setup(ide_drive_t *drive); |
@@ -188,8 +176,6 @@ int __init auide_probe(void); | |||
188 | static void auide_ddma_rx_callback(int irq, void *param, | 176 | static void auide_ddma_rx_callback(int irq, void *param, |
189 | struct pt_regs *regs); | 177 | struct pt_regs *regs); |
190 | static int auide_dma_off_quietly(ide_drive_t *drive); | 178 | static int auide_dma_off_quietly(ide_drive_t *drive); |
191 | static int auide_dma_timeout(ide_drive_t *drive); | ||
192 | |||
193 | #endif /* end CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA */ | 179 | #endif /* end CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA */ |
194 | 180 | ||
195 | /******************************************************************************* | 181 | /******************************************************************************* |
@@ -299,3 +285,11 @@ int __init auide_probe(void); | |||
299 | #define SBC_IDE_MDMA2_TPM (0x00<<6) | 285 | #define SBC_IDE_MDMA2_TPM (0x00<<6) |
300 | #define SBC_IDE_MDMA2_TA (0x12<<0) | 286 | #define SBC_IDE_MDMA2_TA (0x12<<0) |
301 | 287 | ||
288 | #define SBC_IDE_TIMING(mode) \ | ||
289 | SBC_IDE_##mode##_TWCS | \ | ||
290 | SBC_IDE_##mode##_TCSH | \ | ||
291 | SBC_IDE_##mode##_TCSOFF | \ | ||
292 | SBC_IDE_##mode##_TWP | \ | ||
293 | SBC_IDE_##mode##_TCSW | \ | ||
294 | SBC_IDE_##mode##_TPM | \ | ||
295 | SBC_IDE_##mode##_TA | ||
diff --git a/include/asm-powerpc/mmu.h b/include/asm-powerpc/mmu.h index c1b4bbabbe97..29b0bb0086d3 100644 --- a/include/asm-powerpc/mmu.h +++ b/include/asm-powerpc/mmu.h | |||
@@ -220,7 +220,8 @@ extern int __hash_page_64K(unsigned long ea, unsigned long access, | |||
220 | unsigned int local); | 220 | unsigned int local); |
221 | struct mm_struct; | 221 | struct mm_struct; |
222 | extern int hash_huge_page(struct mm_struct *mm, unsigned long access, | 222 | extern int hash_huge_page(struct mm_struct *mm, unsigned long access, |
223 | unsigned long ea, unsigned long vsid, int local); | 223 | unsigned long ea, unsigned long vsid, int local, |
224 | unsigned long trap); | ||
224 | 225 | ||
225 | extern void htab_finish_init(void); | 226 | extern void htab_finish_init(void); |
226 | extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend, | 227 | extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend, |
diff --git a/include/asm-ppc/ppc4xx_dma.h b/include/asm-ppc/ppc4xx_dma.h index a415001165fa..46a086fff816 100644 --- a/include/asm-ppc/ppc4xx_dma.h +++ b/include/asm-ppc/ppc4xx_dma.h | |||
@@ -33,9 +33,6 @@ | |||
33 | 33 | ||
34 | #define MAX_PPC4xx_DMA_CHANNELS 4 | 34 | #define MAX_PPC4xx_DMA_CHANNELS 4 |
35 | 35 | ||
36 | /* in arch/ppc/kernel/setup.c -- Cort */ | ||
37 | extern unsigned long DMA_MODE_WRITE, DMA_MODE_READ; | ||
38 | |||
39 | /* | 36 | /* |
40 | * Function return status codes | 37 | * Function return status codes |
41 | * These values are used to indicate whether or not the function | 38 | * These values are used to indicate whether or not the function |
diff --git a/include/asm-sparc/memreg.h b/include/asm-sparc/memreg.h index c0498d3baf93..5fb95c828da6 100644 --- a/include/asm-sparc/memreg.h +++ b/include/asm-sparc/memreg.h | |||
@@ -36,7 +36,7 @@ | |||
36 | 36 | ||
37 | /* Memory parity error register with associated bit constants. */ | 37 | /* Memory parity error register with associated bit constants. */ |
38 | #ifndef __ASSEMBLY__ | 38 | #ifndef __ASSEMBLY__ |
39 | extern __volatile__ unsigned long *sun4c_memerr_reg; | 39 | extern __volatile__ unsigned long __iomem *sun4c_memerr_reg; |
40 | #endif | 40 | #endif |
41 | 41 | ||
42 | #define SUN4C_MPE_ERROR 0x80 /* Parity error detected. (ro) */ | 42 | #define SUN4C_MPE_ERROR 0x80 /* Parity error detected. (ro) */ |
diff --git a/include/asm-sparc/pcic.h b/include/asm-sparc/pcic.h index 301ae8022ddd..dedea14d87c8 100644 --- a/include/asm-sparc/pcic.h +++ b/include/asm-sparc/pcic.h | |||
@@ -16,10 +16,10 @@ | |||
16 | #include <asm/pbm.h> | 16 | #include <asm/pbm.h> |
17 | 17 | ||
18 | struct linux_pcic { | 18 | struct linux_pcic { |
19 | void * __iomem pcic_regs; | 19 | void __iomem *pcic_regs; |
20 | unsigned long pcic_io; | 20 | unsigned long pcic_io; |
21 | void * __iomem pcic_config_space_addr; | 21 | void __iomem *pcic_config_space_addr; |
22 | void * __iomem pcic_config_space_data; | 22 | void __iomem *pcic_config_space_data; |
23 | struct resource pcic_res_regs; | 23 | struct resource pcic_res_regs; |
24 | struct resource pcic_res_io; | 24 | struct resource pcic_res_io; |
25 | struct resource pcic_res_cfg_addr; | 25 | struct resource pcic_res_cfg_addr; |
diff --git a/include/linux/cache.h b/include/linux/cache.h index f6b5a46c5f82..0b7ecf3af78a 100644 --- a/include/linux/cache.h +++ b/include/linux/cache.h | |||
@@ -13,7 +13,7 @@ | |||
13 | #define SMP_CACHE_BYTES L1_CACHE_BYTES | 13 | #define SMP_CACHE_BYTES L1_CACHE_BYTES |
14 | #endif | 14 | #endif |
15 | 15 | ||
16 | #if defined(CONFIG_X86) || defined(CONFIG_SPARC64) | 16 | #if defined(CONFIG_X86) || defined(CONFIG_SPARC64) || defined(CONFIG_IA64) |
17 | #define __read_mostly __attribute__((__section__(".data.read_mostly"))) | 17 | #define __read_mostly __attribute__((__section__(".data.read_mostly"))) |
18 | #else | 18 | #else |
19 | #define __read_mostly | 19 | #define __read_mostly |
diff --git a/include/linux/cn_proc.h b/include/linux/cn_proc.h index c948f678e04e..1417de935057 100644 --- a/include/linux/cn_proc.h +++ b/include/linux/cn_proc.h | |||
@@ -26,6 +26,7 @@ | |||
26 | #define CN_PROC_H | 26 | #define CN_PROC_H |
27 | 27 | ||
28 | #include <linux/types.h> | 28 | #include <linux/types.h> |
29 | #include <linux/time.h> | ||
29 | #include <linux/connector.h> | 30 | #include <linux/connector.h> |
30 | 31 | ||
31 | /* | 32 | /* |
@@ -65,6 +66,7 @@ struct proc_event { | |||
65 | PROC_EVENT_EXIT = 0x80000000 | 66 | PROC_EVENT_EXIT = 0x80000000 |
66 | } what; | 67 | } what; |
67 | __u32 cpu; | 68 | __u32 cpu; |
69 | struct timespec timestamp; | ||
68 | union { /* must be last field of proc_event struct */ | 70 | union { /* must be last field of proc_event struct */ |
69 | struct { | 71 | struct { |
70 | __u32 err; | 72 | __u32 err; |
diff --git a/include/linux/dvb/audio.h b/include/linux/dvb/audio.h index cc314443f1c4..2b8797084685 100644 --- a/include/linux/dvb/audio.h +++ b/include/linux/dvb/audio.h | |||
@@ -32,39 +32,39 @@ | |||
32 | 32 | ||
33 | 33 | ||
34 | typedef enum { | 34 | typedef enum { |
35 | AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */ | 35 | AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */ |
36 | AUDIO_SOURCE_MEMORY /* Select internal memory as the main source */ | 36 | AUDIO_SOURCE_MEMORY /* Select internal memory as the main source */ |
37 | } audio_stream_source_t; | 37 | } audio_stream_source_t; |
38 | 38 | ||
39 | 39 | ||
40 | typedef enum { | 40 | typedef enum { |
41 | AUDIO_STOPPED, /* Device is stopped */ | 41 | AUDIO_STOPPED, /* Device is stopped */ |
42 | AUDIO_PLAYING, /* Device is currently playing */ | 42 | AUDIO_PLAYING, /* Device is currently playing */ |
43 | AUDIO_PAUSED /* Device is paused */ | 43 | AUDIO_PAUSED /* Device is paused */ |
44 | } audio_play_state_t; | 44 | } audio_play_state_t; |
45 | 45 | ||
46 | 46 | ||
47 | typedef enum { | 47 | typedef enum { |
48 | AUDIO_STEREO, | 48 | AUDIO_STEREO, |
49 | AUDIO_MONO_LEFT, | 49 | AUDIO_MONO_LEFT, |
50 | AUDIO_MONO_RIGHT | 50 | AUDIO_MONO_RIGHT |
51 | } audio_channel_select_t; | 51 | } audio_channel_select_t; |
52 | 52 | ||
53 | 53 | ||
54 | typedef struct audio_mixer { | 54 | typedef struct audio_mixer { |
55 | unsigned int volume_left; | 55 | unsigned int volume_left; |
56 | unsigned int volume_right; | 56 | unsigned int volume_right; |
57 | // what else do we need? bass, pass-through, ... | 57 | // what else do we need? bass, pass-through, ... |
58 | } audio_mixer_t; | 58 | } audio_mixer_t; |
59 | 59 | ||
60 | 60 | ||
61 | typedef struct audio_status { | 61 | typedef struct audio_status { |
62 | int AV_sync_state; /* sync audio and video? */ | 62 | int AV_sync_state; /* sync audio and video? */ |
63 | int mute_state; /* audio is muted */ | 63 | int mute_state; /* audio is muted */ |
64 | audio_play_state_t play_state; /* current playback state */ | 64 | audio_play_state_t play_state; /* current playback state */ |
65 | audio_stream_source_t stream_source; /* current stream source */ | 65 | audio_stream_source_t stream_source; /* current stream source */ |
66 | audio_channel_select_t channel_select; /* currently selected channel */ | 66 | audio_channel_select_t channel_select; /* currently selected channel */ |
67 | int bypass_mode; /* pass on audio data to */ | 67 | int bypass_mode; /* pass on audio data to */ |
68 | audio_mixer_t mixer_state; /* current mixer state */ | 68 | audio_mixer_t mixer_state; /* current mixer state */ |
69 | } audio_status_t; /* separate decoder hardware */ | 69 | } audio_status_t; /* separate decoder hardware */ |
70 | 70 | ||
@@ -74,8 +74,8 @@ struct audio_karaoke{ /* if Vocal1 or Vocal2 are non-zero, they get mixed */ | |||
74 | int vocal1; /* into left and right t at 70% each */ | 74 | int vocal1; /* into left and right t at 70% each */ |
75 | int vocal2; /* if both, Vocal1 and Vocal2 are non-zero, Vocal1 gets*/ | 75 | int vocal2; /* if both, Vocal1 and Vocal2 are non-zero, Vocal1 gets*/ |
76 | int melody; /* mixed into the left channel and */ | 76 | int melody; /* mixed into the left channel and */ |
77 | /* Vocal2 into the right channel at 100% each. */ | 77 | /* Vocal2 into the right channel at 100% each. */ |
78 | /* if Melody is non-zero, the melody channel gets mixed*/ | 78 | /* if Melody is non-zero, the melody channel gets mixed*/ |
79 | } audio_karaoke_t; /* into left and right */ | 79 | } audio_karaoke_t; /* into left and right */ |
80 | 80 | ||
81 | 81 | ||
diff --git a/include/linux/dvb/ca.h b/include/linux/dvb/ca.h index 558af0cc7692..c18537f3e449 100644 --- a/include/linux/dvb/ca.h +++ b/include/linux/dvb/ca.h | |||
@@ -27,16 +27,16 @@ | |||
27 | /* slot interface types and info */ | 27 | /* slot interface types and info */ |
28 | 28 | ||
29 | typedef struct ca_slot_info { | 29 | typedef struct ca_slot_info { |
30 | int num; /* slot number */ | 30 | int num; /* slot number */ |
31 | 31 | ||
32 | int type; /* CA interface this slot supports */ | 32 | int type; /* CA interface this slot supports */ |
33 | #define CA_CI 1 /* CI high level interface */ | 33 | #define CA_CI 1 /* CI high level interface */ |
34 | #define CA_CI_LINK 2 /* CI link layer level interface */ | 34 | #define CA_CI_LINK 2 /* CI link layer level interface */ |
35 | #define CA_CI_PHYS 4 /* CI physical layer level interface */ | 35 | #define CA_CI_PHYS 4 /* CI physical layer level interface */ |
36 | #define CA_DESCR 8 /* built-in descrambler */ | 36 | #define CA_DESCR 8 /* built-in descrambler */ |
37 | #define CA_SC 128 /* simple smart card interface */ | 37 | #define CA_SC 128 /* simple smart card interface */ |
38 | 38 | ||
39 | unsigned int flags; | 39 | unsigned int flags; |
40 | #define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */ | 40 | #define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */ |
41 | #define CA_CI_MODULE_READY 2 | 41 | #define CA_CI_MODULE_READY 2 |
42 | } ca_slot_info_t; | 42 | } ca_slot_info_t; |
@@ -45,37 +45,37 @@ typedef struct ca_slot_info { | |||
45 | /* descrambler types and info */ | 45 | /* descrambler types and info */ |
46 | 46 | ||
47 | typedef struct ca_descr_info { | 47 | typedef struct ca_descr_info { |
48 | unsigned int num; /* number of available descramblers (keys) */ | 48 | unsigned int num; /* number of available descramblers (keys) */ |
49 | unsigned int type; /* type of supported scrambling system */ | 49 | unsigned int type; /* type of supported scrambling system */ |
50 | #define CA_ECD 1 | 50 | #define CA_ECD 1 |
51 | #define CA_NDS 2 | 51 | #define CA_NDS 2 |
52 | #define CA_DSS 4 | 52 | #define CA_DSS 4 |
53 | } ca_descr_info_t; | 53 | } ca_descr_info_t; |
54 | 54 | ||
55 | typedef struct ca_caps { | 55 | typedef struct ca_caps { |
56 | unsigned int slot_num; /* total number of CA card and module slots */ | 56 | unsigned int slot_num; /* total number of CA card and module slots */ |
57 | unsigned int slot_type; /* OR of all supported types */ | 57 | unsigned int slot_type; /* OR of all supported types */ |
58 | unsigned int descr_num; /* total number of descrambler slots (keys) */ | 58 | unsigned int descr_num; /* total number of descrambler slots (keys) */ |
59 | unsigned int descr_type; /* OR of all supported types */ | 59 | unsigned int descr_type; /* OR of all supported types */ |
60 | } ca_caps_t; | 60 | } ca_caps_t; |
61 | 61 | ||
62 | /* a message to/from a CI-CAM */ | 62 | /* a message to/from a CI-CAM */ |
63 | typedef struct ca_msg { | 63 | typedef struct ca_msg { |
64 | unsigned int index; | 64 | unsigned int index; |
65 | unsigned int type; | 65 | unsigned int type; |
66 | unsigned int length; | 66 | unsigned int length; |
67 | unsigned char msg[256]; | 67 | unsigned char msg[256]; |
68 | } ca_msg_t; | 68 | } ca_msg_t; |
69 | 69 | ||
70 | typedef struct ca_descr { | 70 | typedef struct ca_descr { |
71 | unsigned int index; | 71 | unsigned int index; |
72 | unsigned int parity; /* 0 == even, 1 == odd */ | 72 | unsigned int parity; /* 0 == even, 1 == odd */ |
73 | unsigned char cw[8]; | 73 | unsigned char cw[8]; |
74 | } ca_descr_t; | 74 | } ca_descr_t; |
75 | 75 | ||
76 | typedef struct ca_pid { | 76 | typedef struct ca_pid { |
77 | unsigned int pid; | 77 | unsigned int pid; |
78 | int index; /* -1 == disable*/ | 78 | int index; /* -1 == disable*/ |
79 | } ca_pid_t; | 79 | } ca_pid_t; |
80 | 80 | ||
81 | #define CA_RESET _IO('o', 128) | 81 | #define CA_RESET _IO('o', 128) |
diff --git a/include/linux/dvb/dmx.h b/include/linux/dvb/dmx.h index ce3f829da82c..2787b8a22ff1 100644 --- a/include/linux/dvb/dmx.h +++ b/include/linux/dvb/dmx.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * dmx.h | 2 | * dmx.h |
3 | * | 3 | * |
4 | * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de> | 4 | * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de> |
@@ -38,10 +38,10 @@ typedef enum | |||
38 | { | 38 | { |
39 | DMX_OUT_DECODER, /* Streaming directly to decoder. */ | 39 | DMX_OUT_DECODER, /* Streaming directly to decoder. */ |
40 | DMX_OUT_TAP, /* Output going to a memory buffer */ | 40 | DMX_OUT_TAP, /* Output going to a memory buffer */ |
41 | /* (to be retrieved via the read command).*/ | 41 | /* (to be retrieved via the read command).*/ |
42 | DMX_OUT_TS_TAP /* Output multiplexed into a new TS */ | 42 | DMX_OUT_TS_TAP /* Output multiplexed into a new TS */ |
43 | /* (to be retrieved by reading from the */ | 43 | /* (to be retrieved by reading from the */ |
44 | /* logical DVR device). */ | 44 | /* logical DVR device). */ |
45 | } dmx_output_t; | 45 | } dmx_output_t; |
46 | 46 | ||
47 | 47 | ||
@@ -54,25 +54,25 @@ typedef enum | |||
54 | 54 | ||
55 | typedef enum | 55 | typedef enum |
56 | { | 56 | { |
57 | DMX_PES_AUDIO0, | 57 | DMX_PES_AUDIO0, |
58 | DMX_PES_VIDEO0, | 58 | DMX_PES_VIDEO0, |
59 | DMX_PES_TELETEXT0, | 59 | DMX_PES_TELETEXT0, |
60 | DMX_PES_SUBTITLE0, | 60 | DMX_PES_SUBTITLE0, |
61 | DMX_PES_PCR0, | 61 | DMX_PES_PCR0, |
62 | 62 | ||
63 | DMX_PES_AUDIO1, | 63 | DMX_PES_AUDIO1, |
64 | DMX_PES_VIDEO1, | 64 | DMX_PES_VIDEO1, |
65 | DMX_PES_TELETEXT1, | 65 | DMX_PES_TELETEXT1, |
66 | DMX_PES_SUBTITLE1, | 66 | DMX_PES_SUBTITLE1, |
67 | DMX_PES_PCR1, | 67 | DMX_PES_PCR1, |
68 | 68 | ||
69 | DMX_PES_AUDIO2, | 69 | DMX_PES_AUDIO2, |
70 | DMX_PES_VIDEO2, | 70 | DMX_PES_VIDEO2, |
71 | DMX_PES_TELETEXT2, | 71 | DMX_PES_TELETEXT2, |
72 | DMX_PES_SUBTITLE2, | 72 | DMX_PES_SUBTITLE2, |
73 | DMX_PES_PCR2, | 73 | DMX_PES_PCR2, |
74 | 74 | ||
75 | DMX_PES_AUDIO3, | 75 | DMX_PES_AUDIO3, |
76 | DMX_PES_VIDEO3, | 76 | DMX_PES_VIDEO3, |
77 | DMX_PES_TELETEXT3, | 77 | DMX_PES_TELETEXT3, |
78 | DMX_PES_SUBTITLE3, | 78 | DMX_PES_SUBTITLE3, |
@@ -90,8 +90,8 @@ typedef enum | |||
90 | 90 | ||
91 | typedef enum | 91 | typedef enum |
92 | { | 92 | { |
93 | DMX_SCRAMBLING_EV, | 93 | DMX_SCRAMBLING_EV, |
94 | DMX_FRONTEND_EV | 94 | DMX_FRONTEND_EV |
95 | } dmx_event_t; | 95 | } dmx_event_t; |
96 | 96 | ||
97 | 97 | ||
diff --git a/include/linux/dvb/osd.h b/include/linux/dvb/osd.h index 0e1973d54a6b..880e68435832 100644 --- a/include/linux/dvb/osd.h +++ b/include/linux/dvb/osd.h | |||
@@ -98,43 +98,43 @@ typedef enum { | |||
98 | } OSD_Command; | 98 | } OSD_Command; |
99 | 99 | ||
100 | typedef struct osd_cmd_s { | 100 | typedef struct osd_cmd_s { |
101 | OSD_Command cmd; | 101 | OSD_Command cmd; |
102 | int x0; | 102 | int x0; |
103 | int y0; | 103 | int y0; |
104 | int x1; | 104 | int x1; |
105 | int y1; | 105 | int y1; |
106 | int color; | 106 | int color; |
107 | void __user *data; | 107 | void __user *data; |
108 | } osd_cmd_t; | 108 | } osd_cmd_t; |
109 | 109 | ||
110 | /* OSD_OpenRaw: set 'color' to desired window type */ | 110 | /* OSD_OpenRaw: set 'color' to desired window type */ |
111 | typedef enum { | 111 | typedef enum { |
112 | OSD_BITMAP1, /* 1 bit bitmap */ | 112 | OSD_BITMAP1, /* 1 bit bitmap */ |
113 | OSD_BITMAP2, /* 2 bit bitmap */ | 113 | OSD_BITMAP2, /* 2 bit bitmap */ |
114 | OSD_BITMAP4, /* 4 bit bitmap */ | 114 | OSD_BITMAP4, /* 4 bit bitmap */ |
115 | OSD_BITMAP8, /* 8 bit bitmap */ | 115 | OSD_BITMAP8, /* 8 bit bitmap */ |
116 | OSD_BITMAP1HR, /* 1 Bit bitmap half resolution */ | 116 | OSD_BITMAP1HR, /* 1 Bit bitmap half resolution */ |
117 | OSD_BITMAP2HR, /* 2 bit bitmap half resolution */ | 117 | OSD_BITMAP2HR, /* 2 bit bitmap half resolution */ |
118 | OSD_BITMAP4HR, /* 4 bit bitmap half resolution */ | 118 | OSD_BITMAP4HR, /* 4 bit bitmap half resolution */ |
119 | OSD_BITMAP8HR, /* 8 bit bitmap half resolution */ | 119 | OSD_BITMAP8HR, /* 8 bit bitmap half resolution */ |
120 | OSD_YCRCB422, /* 4:2:2 YCRCB Graphic Display */ | 120 | OSD_YCRCB422, /* 4:2:2 YCRCB Graphic Display */ |
121 | OSD_YCRCB444, /* 4:4:4 YCRCB Graphic Display */ | 121 | OSD_YCRCB444, /* 4:4:4 YCRCB Graphic Display */ |
122 | OSD_YCRCB444HR, /* 4:4:4 YCRCB graphic half resolution */ | 122 | OSD_YCRCB444HR, /* 4:4:4 YCRCB graphic half resolution */ |
123 | OSD_VIDEOTSIZE, /* True Size Normal MPEG Video Display */ | 123 | OSD_VIDEOTSIZE, /* True Size Normal MPEG Video Display */ |
124 | OSD_VIDEOHSIZE, /* MPEG Video Display Half Resolution */ | 124 | OSD_VIDEOHSIZE, /* MPEG Video Display Half Resolution */ |
125 | OSD_VIDEOQSIZE, /* MPEG Video Display Quarter Resolution */ | 125 | OSD_VIDEOQSIZE, /* MPEG Video Display Quarter Resolution */ |
126 | OSD_VIDEODSIZE, /* MPEG Video Display Double Resolution */ | 126 | OSD_VIDEODSIZE, /* MPEG Video Display Double Resolution */ |
127 | OSD_VIDEOTHSIZE, /* True Size MPEG Video Display Half Resolution */ | 127 | OSD_VIDEOTHSIZE, /* True Size MPEG Video Display Half Resolution */ |
128 | OSD_VIDEOTQSIZE, /* True Size MPEG Video Display Quarter Resolution*/ | 128 | OSD_VIDEOTQSIZE, /* True Size MPEG Video Display Quarter Resolution*/ |
129 | OSD_VIDEOTDSIZE, /* True Size MPEG Video Display Double Resolution */ | 129 | OSD_VIDEOTDSIZE, /* True Size MPEG Video Display Double Resolution */ |
130 | OSD_VIDEONSIZE, /* Full Size MPEG Video Display */ | 130 | OSD_VIDEONSIZE, /* Full Size MPEG Video Display */ |
131 | OSD_CURSOR /* Cursor */ | 131 | OSD_CURSOR /* Cursor */ |
132 | } osd_raw_window_t; | 132 | } osd_raw_window_t; |
133 | 133 | ||
134 | typedef struct osd_cap_s { | 134 | typedef struct osd_cap_s { |
135 | int cmd; | 135 | int cmd; |
136 | #define OSD_CAP_MEMSIZE 1 /* memory size */ | 136 | #define OSD_CAP_MEMSIZE 1 /* memory size */ |
137 | long val; | 137 | long val; |
138 | } osd_cap_t; | 138 | } osd_cap_t; |
139 | 139 | ||
140 | 140 | ||
diff --git a/include/linux/dvb/video.h b/include/linux/dvb/video.h index 941045e9ab89..b1999bfeaa56 100644 --- a/include/linux/dvb/video.h +++ b/include/linux/dvb/video.h | |||
@@ -36,7 +36,7 @@ | |||
36 | 36 | ||
37 | typedef enum { | 37 | typedef enum { |
38 | VIDEO_FORMAT_4_3, /* Select 4:3 format */ | 38 | VIDEO_FORMAT_4_3, /* Select 4:3 format */ |
39 | VIDEO_FORMAT_16_9, /* Select 16:9 format. */ | 39 | VIDEO_FORMAT_16_9, /* Select 16:9 format. */ |
40 | VIDEO_FORMAT_221_1 /* 2.21:1 */ | 40 | VIDEO_FORMAT_221_1 /* 2.21:1 */ |
41 | } video_format_t; | 41 | } video_format_t; |
42 | 42 | ||
@@ -54,7 +54,7 @@ typedef enum { | |||
54 | 54 | ||
55 | 55 | ||
56 | typedef enum { | 56 | typedef enum { |
57 | VIDEO_PAN_SCAN, /* use pan and scan format */ | 57 | VIDEO_PAN_SCAN, /* use pan and scan format */ |
58 | VIDEO_LETTER_BOX, /* use letterbox format */ | 58 | VIDEO_LETTER_BOX, /* use letterbox format */ |
59 | VIDEO_CENTER_CUT_OUT /* use center cut out format */ | 59 | VIDEO_CENTER_CUT_OUT /* use center cut out format */ |
60 | } video_displayformat_t; | 60 | } video_displayformat_t; |
@@ -66,7 +66,7 @@ typedef struct { | |||
66 | } video_size_t; | 66 | } video_size_t; |
67 | 67 | ||
68 | typedef enum { | 68 | typedef enum { |
69 | VIDEO_SOURCE_DEMUX, /* Select the demux as the main source */ | 69 | VIDEO_SOURCE_DEMUX, /* Select the demux as the main source */ |
70 | VIDEO_SOURCE_MEMORY /* If this source is selected, the stream | 70 | VIDEO_SOURCE_MEMORY /* If this source is selected, the stream |
71 | comes from the user through the write | 71 | comes from the user through the write |
72 | system call */ | 72 | system call */ |
@@ -75,35 +75,35 @@ typedef enum { | |||
75 | 75 | ||
76 | typedef enum { | 76 | typedef enum { |
77 | VIDEO_STOPPED, /* Video is stopped */ | 77 | VIDEO_STOPPED, /* Video is stopped */ |
78 | VIDEO_PLAYING, /* Video is currently playing */ | 78 | VIDEO_PLAYING, /* Video is currently playing */ |
79 | VIDEO_FREEZED /* Video is freezed */ | 79 | VIDEO_FREEZED /* Video is freezed */ |
80 | } video_play_state_t; | 80 | } video_play_state_t; |
81 | 81 | ||
82 | 82 | ||
83 | struct video_event { | 83 | struct video_event { |
84 | int32_t type; | 84 | int32_t type; |
85 | #define VIDEO_EVENT_SIZE_CHANGED 1 | 85 | #define VIDEO_EVENT_SIZE_CHANGED 1 |
86 | #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 | 86 | #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 |
87 | time_t timestamp; | 87 | time_t timestamp; |
88 | union { | 88 | union { |
89 | video_size_t size; | 89 | video_size_t size; |
90 | unsigned int frame_rate; /* in frames per 1000sec */ | 90 | unsigned int frame_rate; /* in frames per 1000sec */ |
91 | } u; | 91 | } u; |
92 | }; | 92 | }; |
93 | 93 | ||
94 | 94 | ||
95 | struct video_status { | 95 | struct video_status { |
96 | int video_blank; /* blank video on freeze? */ | 96 | int video_blank; /* blank video on freeze? */ |
97 | video_play_state_t play_state; /* current state of playback */ | 97 | video_play_state_t play_state; /* current state of playback */ |
98 | video_stream_source_t stream_source; /* current source (demux/memory) */ | 98 | video_stream_source_t stream_source; /* current source (demux/memory) */ |
99 | video_format_t video_format; /* current aspect ratio of stream*/ | 99 | video_format_t video_format; /* current aspect ratio of stream*/ |
100 | video_displayformat_t display_format;/* selected cropping mode */ | 100 | video_displayformat_t display_format;/* selected cropping mode */ |
101 | }; | 101 | }; |
102 | 102 | ||
103 | 103 | ||
104 | struct video_still_picture { | 104 | struct video_still_picture { |
105 | char __user *iFrame; /* pointer to a single iframe in memory */ | 105 | char __user *iFrame; /* pointer to a single iframe in memory */ |
106 | int32_t size; | 106 | int32_t size; |
107 | }; | 107 | }; |
108 | 108 | ||
109 | 109 | ||
@@ -111,19 +111,19 @@ typedef | |||
111 | struct video_highlight { | 111 | struct video_highlight { |
112 | int active; /* 1=show highlight, 0=hide highlight */ | 112 | int active; /* 1=show highlight, 0=hide highlight */ |
113 | uint8_t contrast1; /* 7- 4 Pattern pixel contrast */ | 113 | uint8_t contrast1; /* 7- 4 Pattern pixel contrast */ |
114 | /* 3- 0 Background pixel contrast */ | 114 | /* 3- 0 Background pixel contrast */ |
115 | uint8_t contrast2; /* 7- 4 Emphasis pixel-2 contrast */ | 115 | uint8_t contrast2; /* 7- 4 Emphasis pixel-2 contrast */ |
116 | /* 3- 0 Emphasis pixel-1 contrast */ | 116 | /* 3- 0 Emphasis pixel-1 contrast */ |
117 | uint8_t color1; /* 7- 4 Pattern pixel color */ | 117 | uint8_t color1; /* 7- 4 Pattern pixel color */ |
118 | /* 3- 0 Background pixel color */ | 118 | /* 3- 0 Background pixel color */ |
119 | uint8_t color2; /* 7- 4 Emphasis pixel-2 color */ | 119 | uint8_t color2; /* 7- 4 Emphasis pixel-2 color */ |
120 | /* 3- 0 Emphasis pixel-1 color */ | 120 | /* 3- 0 Emphasis pixel-1 color */ |
121 | uint32_t ypos; /* 23-22 auto action mode */ | 121 | uint32_t ypos; /* 23-22 auto action mode */ |
122 | /* 21-12 start y */ | 122 | /* 21-12 start y */ |
123 | /* 9- 0 end y */ | 123 | /* 9- 0 end y */ |
124 | uint32_t xpos; /* 23-22 button color number */ | 124 | uint32_t xpos; /* 23-22 button color number */ |
125 | /* 21-12 start x */ | 125 | /* 21-12 start x */ |
126 | /* 9- 0 end x */ | 126 | /* 9- 0 end x */ |
127 | } video_highlight_t; | 127 | } video_highlight_t; |
128 | 128 | ||
129 | 129 | ||
diff --git a/include/linux/fb.h b/include/linux/fb.h index 04a58f33ec53..a973be2cfe61 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h | |||
@@ -617,6 +617,12 @@ struct fb_ops { | |||
617 | 617 | ||
618 | /* perform fb specific mmap */ | 618 | /* perform fb specific mmap */ |
619 | int (*fb_mmap)(struct fb_info *info, struct file *file, struct vm_area_struct *vma); | 619 | int (*fb_mmap)(struct fb_info *info, struct file *file, struct vm_area_struct *vma); |
620 | |||
621 | /* save current hardware state */ | ||
622 | void (*fb_save_state)(struct fb_info *info); | ||
623 | |||
624 | /* restore saved state */ | ||
625 | void (*fb_restore_state)(struct fb_info *info); | ||
620 | }; | 626 | }; |
621 | 627 | ||
622 | #ifdef CONFIG_FB_TILEBLITTING | 628 | #ifdef CONFIG_FB_TILEBLITTING |
@@ -726,6 +732,18 @@ struct fb_tile_ops { | |||
726 | from userspace */ | 732 | from userspace */ |
727 | #define FBINFO_MISC_TILEBLITTING 0x20000 /* use tile blitting */ | 733 | #define FBINFO_MISC_TILEBLITTING 0x20000 /* use tile blitting */ |
728 | 734 | ||
735 | /* A driver may set this flag to indicate that it does want a set_par to be | ||
736 | * called every time when fbcon_switch is executed. The advantage is that with | ||
737 | * this flag set you can really be shure that set_par is always called before | ||
738 | * any of the functions dependant on the correct hardware state or altering | ||
739 | * that state, even if you are using some broken X releases. The disadvantage | ||
740 | * is that it introduces unwanted delays to every console switch if set_par | ||
741 | * is slow. It is a good idea to try this flag in the drivers initialization | ||
742 | * code whenever there is a bug report related to switching between X and the | ||
743 | * framebuffer console. | ||
744 | */ | ||
745 | #define FBINFO_MISC_ALWAYS_SETPAR 0x40000 | ||
746 | |||
729 | struct fb_info { | 747 | struct fb_info { |
730 | int node; | 748 | int node; |
731 | int flags; | 749 | int flags; |
@@ -817,6 +835,18 @@ struct fb_info { | |||
817 | 835 | ||
818 | #endif | 836 | #endif |
819 | 837 | ||
838 | #if defined (__BIG_ENDIAN) | ||
839 | #define FB_LEFT_POS(bpp) (32 - bpp) | ||
840 | #define FB_SHIFT_HIGH(val, bits) ((val) >> (bits)) | ||
841 | #define FB_SHIFT_LOW(val, bits) ((val) << (bits)) | ||
842 | #define FB_BIT_NR(b) (7 - (b)) | ||
843 | #else | ||
844 | #define FB_LEFT_POS(bpp) (0) | ||
845 | #define FB_SHIFT_HIGH(val, bits) ((val) << (bits)) | ||
846 | #define FB_SHIFT_LOW(val, bits) ((val) >> (bits)) | ||
847 | #define FB_BIT_NR(b) (b) | ||
848 | #endif | ||
849 | |||
820 | /* | 850 | /* |
821 | * `Generic' versions of the frame buffer device operations | 851 | * `Generic' versions of the frame buffer device operations |
822 | */ | 852 | */ |
diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h index ef3b5632e63a..006c81ef4d50 100644 --- a/include/linux/i2c-id.h +++ b/include/linux/i2c-id.h | |||
@@ -108,7 +108,7 @@ | |||
108 | #define I2C_DRIVERID_SAA7127 72 /* saa7124 video encoder */ | 108 | #define I2C_DRIVERID_SAA7127 72 /* saa7124 video encoder */ |
109 | #define I2C_DRIVERID_SAA711X 73 /* saa711x video encoders */ | 109 | #define I2C_DRIVERID_SAA711X 73 /* saa711x video encoders */ |
110 | #define I2C_DRIVERID_AKITAIOEXP 74 /* IO Expander on Sharp SL-C1000 */ | 110 | #define I2C_DRIVERID_AKITAIOEXP 74 /* IO Expander on Sharp SL-C1000 */ |
111 | #define I2C_DRIVERID_I2C_IR 75 /* I2C InfraRed on Video boards */ | 111 | #define I2C_DRIVERID_INFRARED 75 /* I2C InfraRed on Video boards */ |
112 | 112 | ||
113 | #define I2C_DRIVERID_EXP0 0xF0 /* experimental use id's */ | 113 | #define I2C_DRIVERID_EXP0 0xF0 /* experimental use id's */ |
114 | #define I2C_DRIVERID_EXP1 0xF1 | 114 | #define I2C_DRIVERID_EXP1 0xF1 |
diff --git a/include/linux/ide.h b/include/linux/ide.h index a39c3c59789d..7b6a6a58e465 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -23,17 +23,6 @@ | |||
23 | #include <asm/io.h> | 23 | #include <asm/io.h> |
24 | #include <asm/semaphore.h> | 24 | #include <asm/semaphore.h> |
25 | 25 | ||
26 | /* | ||
27 | * This is the multiple IDE interface driver, as evolved from hd.c. | ||
28 | * It supports up to four IDE interfaces, on one or more IRQs (usually 14 & 15). | ||
29 | * There can be up to two drives per interface, as per the ATA-2 spec. | ||
30 | * | ||
31 | * Primary i/f: ide0: major=3; (hda) minor=0; (hdb) minor=64 | ||
32 | * Secondary i/f: ide1: major=22; (hdc or hd1a) minor=0; (hdd or hd1b) minor=64 | ||
33 | * Tertiary i/f: ide2: major=33; (hde) minor=0; (hdf) minor=64 | ||
34 | * Quaternary i/f: ide3: major=34; (hdg) minor=0; (hdh) minor=64 | ||
35 | */ | ||
36 | |||
37 | /****************************************************************************** | 26 | /****************************************************************************** |
38 | * IDE driver configuration options (play with these as desired): | 27 | * IDE driver configuration options (play with these as desired): |
39 | * | 28 | * |
@@ -193,11 +182,6 @@ typedef unsigned char byte; /* used everywhere */ | |||
193 | #define WAIT_CMD (10*HZ) /* 10sec - maximum wait for an IRQ to happen */ | 182 | #define WAIT_CMD (10*HZ) /* 10sec - maximum wait for an IRQ to happen */ |
194 | #define WAIT_MIN_SLEEP (2*HZ/100) /* 20msec - minimum sleep time */ | 183 | #define WAIT_MIN_SLEEP (2*HZ/100) /* 20msec - minimum sleep time */ |
195 | 184 | ||
196 | #define HOST(hwif,chipset) \ | ||
197 | { \ | ||
198 | return ((hwif)->chipset == chipset) ? 1 : 0; \ | ||
199 | } | ||
200 | |||
201 | /* | 185 | /* |
202 | * Check for an interrupt and acknowledge the interrupt status | 186 | * Check for an interrupt and acknowledge the interrupt status |
203 | */ | 187 | */ |
@@ -391,45 +375,6 @@ typedef union { | |||
391 | } ata_nsector_t, ata_data_t, atapi_bcount_t, ata_index_t; | 375 | } ata_nsector_t, ata_data_t, atapi_bcount_t, ata_index_t; |
392 | 376 | ||
393 | /* | 377 | /* |
394 | * ATA-IDE Error Register | ||
395 | * | ||
396 | * mark : Bad address mark | ||
397 | * tzero : Couldn't find track 0 | ||
398 | * abrt : Aborted Command | ||
399 | * mcr : Media Change Request | ||
400 | * id : ID field not found | ||
401 | * mce : Media Change Event | ||
402 | * ecc : Uncorrectable ECC error | ||
403 | * bdd : dual meaing | ||
404 | */ | ||
405 | typedef union { | ||
406 | unsigned all :8; | ||
407 | struct { | ||
408 | #if defined(__LITTLE_ENDIAN_BITFIELD) | ||
409 | unsigned mark :1; | ||
410 | unsigned tzero :1; | ||
411 | unsigned abrt :1; | ||
412 | unsigned mcr :1; | ||
413 | unsigned id :1; | ||
414 | unsigned mce :1; | ||
415 | unsigned ecc :1; | ||
416 | unsigned bdd :1; | ||
417 | #elif defined(__BIG_ENDIAN_BITFIELD) | ||
418 | unsigned bdd :1; | ||
419 | unsigned ecc :1; | ||
420 | unsigned mce :1; | ||
421 | unsigned id :1; | ||
422 | unsigned mcr :1; | ||
423 | unsigned abrt :1; | ||
424 | unsigned tzero :1; | ||
425 | unsigned mark :1; | ||
426 | #else | ||
427 | #error "Please fix <asm/byteorder.h>" | ||
428 | #endif | ||
429 | } b; | ||
430 | } ata_error_t; | ||
431 | |||
432 | /* | ||
433 | * ATA-IDE Select Register, aka Device-Head | 378 | * ATA-IDE Select Register, aka Device-Head |
434 | * | 379 | * |
435 | * head : always zeros here | 380 | * head : always zeros here |
@@ -504,39 +449,6 @@ typedef union { | |||
504 | } ata_status_t, atapi_status_t; | 449 | } ata_status_t, atapi_status_t; |
505 | 450 | ||
506 | /* | 451 | /* |
507 | * ATA-IDE Control Register | ||
508 | * | ||
509 | * bit0 : Should be set to zero | ||
510 | * nIEN : device INTRQ to host | ||
511 | * SRST : host soft reset bit | ||
512 | * bit3 : ATA-2 thingy, Should be set to 1 | ||
513 | * reserved456 : Reserved | ||
514 | * HOB : 48-bit address ordering, High Ordered Bit | ||
515 | */ | ||
516 | typedef union { | ||
517 | unsigned all : 8; | ||
518 | struct { | ||
519 | #if defined(__LITTLE_ENDIAN_BITFIELD) | ||
520 | unsigned bit0 : 1; | ||
521 | unsigned nIEN : 1; | ||
522 | unsigned SRST : 1; | ||
523 | unsigned bit3 : 1; | ||
524 | unsigned reserved456 : 3; | ||
525 | unsigned HOB : 1; | ||
526 | #elif defined(__BIG_ENDIAN_BITFIELD) | ||
527 | unsigned HOB : 1; | ||
528 | unsigned reserved456 : 3; | ||
529 | unsigned bit3 : 1; | ||
530 | unsigned SRST : 1; | ||
531 | unsigned nIEN : 1; | ||
532 | unsigned bit0 : 1; | ||
533 | #else | ||
534 | #error "Please fix <asm/byteorder.h>" | ||
535 | #endif | ||
536 | } b; | ||
537 | } ata_control_t; | ||
538 | |||
539 | /* | ||
540 | * ATAPI Feature Register | 452 | * ATAPI Feature Register |
541 | * | 453 | * |
542 | * dma : Using DMA or PIO | 454 | * dma : Using DMA or PIO |
@@ -618,39 +530,6 @@ typedef union { | |||
618 | } atapi_error_t; | 530 | } atapi_error_t; |
619 | 531 | ||
620 | /* | 532 | /* |
621 | * ATAPI floppy Drive Select Register | ||
622 | * | ||
623 | * sam_lun : Logical unit number | ||
624 | * reserved3 : Reserved | ||
625 | * drv : The responding drive will be drive 0 (0) or drive 1 (1) | ||
626 | * one5 : Should be set to 1 | ||
627 | * reserved6 : Reserved | ||
628 | * one7 : Should be set to 1 | ||
629 | */ | ||
630 | typedef union { | ||
631 | unsigned all :8; | ||
632 | struct { | ||
633 | #if defined(__LITTLE_ENDIAN_BITFIELD) | ||
634 | unsigned sam_lun :3; | ||
635 | unsigned reserved3 :1; | ||
636 | unsigned drv :1; | ||
637 | unsigned one5 :1; | ||
638 | unsigned reserved6 :1; | ||
639 | unsigned one7 :1; | ||
640 | #elif defined(__BIG_ENDIAN_BITFIELD) | ||
641 | unsigned one7 :1; | ||
642 | unsigned reserved6 :1; | ||
643 | unsigned one5 :1; | ||
644 | unsigned drv :1; | ||
645 | unsigned reserved3 :1; | ||
646 | unsigned sam_lun :3; | ||
647 | #else | ||
648 | #error "Please fix <asm/byteorder.h>" | ||
649 | #endif | ||
650 | } b; | ||
651 | } atapi_select_t; | ||
652 | |||
653 | /* | ||
654 | * Status returned from various ide_ functions | 533 | * Status returned from various ide_ functions |
655 | */ | 534 | */ |
656 | typedef enum { | 535 | typedef enum { |
@@ -1101,10 +980,7 @@ typedef struct ide_driver_s { | |||
1101 | int (*end_request)(ide_drive_t *, int, int); | 980 | int (*end_request)(ide_drive_t *, int, int); |
1102 | ide_startstop_t (*error)(ide_drive_t *, struct request *rq, u8, u8); | 981 | ide_startstop_t (*error)(ide_drive_t *, struct request *rq, u8, u8); |
1103 | ide_startstop_t (*abort)(ide_drive_t *, struct request *rq); | 982 | ide_startstop_t (*abort)(ide_drive_t *, struct request *rq); |
1104 | int (*ioctl)(ide_drive_t *, struct inode *, struct file *, unsigned int, unsigned long); | ||
1105 | ide_proc_entry_t *proc; | 983 | ide_proc_entry_t *proc; |
1106 | void (*ata_prebuilder)(ide_drive_t *); | ||
1107 | void (*atapi_prebuilder)(ide_drive_t *); | ||
1108 | struct device_driver gen_driver; | 984 | struct device_driver gen_driver; |
1109 | } ide_driver_t; | 985 | } ide_driver_t; |
1110 | 986 | ||
@@ -1298,7 +1174,6 @@ extern int ide_spin_wait_hwgroup(ide_drive_t *); | |||
1298 | extern void ide_timer_expiry(unsigned long); | 1174 | extern void ide_timer_expiry(unsigned long); |
1299 | extern irqreturn_t ide_intr(int irq, void *dev_id, struct pt_regs *regs); | 1175 | extern irqreturn_t ide_intr(int irq, void *dev_id, struct pt_regs *regs); |
1300 | extern void do_ide_request(request_queue_t *); | 1176 | extern void do_ide_request(request_queue_t *); |
1301 | extern void ide_init_subdrivers(void); | ||
1302 | 1177 | ||
1303 | void ide_init_disk(struct gendisk *, ide_drive_t *); | 1178 | void ide_init_disk(struct gendisk *, ide_drive_t *); |
1304 | 1179 | ||
@@ -1371,6 +1246,12 @@ void ide_init_sg_cmd(ide_drive_t *, struct request *); | |||
1371 | #define GOOD_DMA_DRIVE 1 | 1246 | #define GOOD_DMA_DRIVE 1 |
1372 | 1247 | ||
1373 | #ifdef CONFIG_BLK_DEV_IDEDMA | 1248 | #ifdef CONFIG_BLK_DEV_IDEDMA |
1249 | struct drive_list_entry { | ||
1250 | const char *id_model; | ||
1251 | const char *id_firmware; | ||
1252 | }; | ||
1253 | |||
1254 | int ide_in_drive_list(struct hd_driveid *, const struct drive_list_entry *); | ||
1374 | int __ide_dma_bad_drive(ide_drive_t *); | 1255 | int __ide_dma_bad_drive(ide_drive_t *); |
1375 | int __ide_dma_good_drive(ide_drive_t *); | 1256 | int __ide_dma_good_drive(ide_drive_t *); |
1376 | int ide_use_dma(ide_drive_t *); | 1257 | int ide_use_dma(ide_drive_t *); |
diff --git a/include/linux/inotify.h b/include/linux/inotify.h index ee5b239092ed..267c88b5f742 100644 --- a/include/linux/inotify.h +++ b/include/linux/inotify.h | |||
@@ -47,6 +47,8 @@ struct inotify_event { | |||
47 | #define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* moves */ | 47 | #define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* moves */ |
48 | 48 | ||
49 | /* special flags */ | 49 | /* special flags */ |
50 | #define IN_ONLYDIR 0x01000000 /* only watch the path if it is a directory */ | ||
51 | #define IN_DONT_FOLLOW 0x02000000 /* don't follow a sym link */ | ||
50 | #define IN_MASK_ADD 0x20000000 /* add to the mask of an already existing watch */ | 52 | #define IN_MASK_ADD 0x20000000 /* add to the mask of an already existing watch */ |
51 | #define IN_ISDIR 0x40000000 /* event occurred against dir */ | 53 | #define IN_ISDIR 0x40000000 /* event occurred against dir */ |
52 | #define IN_ONESHOT 0x80000000 /* only send event once */ | 54 | #define IN_ONESHOT 0x80000000 /* only send event once */ |
diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h index e373c4a9de53..c03f2dc933de 100644 --- a/include/linux/kprobes.h +++ b/include/linux/kprobes.h | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/spinlock.h> | 37 | #include <linux/spinlock.h> |
38 | #include <linux/rcupdate.h> | 38 | #include <linux/rcupdate.h> |
39 | 39 | ||
40 | #ifdef CONFIG_KPROBES | ||
40 | #include <asm/kprobes.h> | 41 | #include <asm/kprobes.h> |
41 | 42 | ||
42 | /* kprobe_status settings */ | 43 | /* kprobe_status settings */ |
@@ -147,7 +148,6 @@ struct kretprobe_instance { | |||
147 | struct task_struct *task; | 148 | struct task_struct *task; |
148 | }; | 149 | }; |
149 | 150 | ||
150 | #ifdef CONFIG_KPROBES | ||
151 | extern spinlock_t kretprobe_lock; | 151 | extern spinlock_t kretprobe_lock; |
152 | extern int arch_prepare_kprobe(struct kprobe *p); | 152 | extern int arch_prepare_kprobe(struct kprobe *p); |
153 | extern void arch_copy_kprobe(struct kprobe *p); | 153 | extern void arch_copy_kprobe(struct kprobe *p); |
@@ -158,6 +158,7 @@ extern int arch_init_kprobes(void); | |||
158 | extern void show_registers(struct pt_regs *regs); | 158 | extern void show_registers(struct pt_regs *regs); |
159 | extern kprobe_opcode_t *get_insn_slot(void); | 159 | extern kprobe_opcode_t *get_insn_slot(void); |
160 | extern void free_insn_slot(kprobe_opcode_t *slot); | 160 | extern void free_insn_slot(kprobe_opcode_t *slot); |
161 | extern void kprobes_inc_nmissed_count(struct kprobe *p); | ||
161 | 162 | ||
162 | /* Get the kprobe at this addr (if any) - called with preemption disabled */ | 163 | /* Get the kprobe at this addr (if any) - called with preemption disabled */ |
163 | struct kprobe *get_kprobe(void *addr); | 164 | struct kprobe *get_kprobe(void *addr); |
@@ -195,6 +196,11 @@ void add_rp_inst(struct kretprobe_instance *ri); | |||
195 | void kprobe_flush_task(struct task_struct *tk); | 196 | void kprobe_flush_task(struct task_struct *tk); |
196 | void recycle_rp_inst(struct kretprobe_instance *ri); | 197 | void recycle_rp_inst(struct kretprobe_instance *ri); |
197 | #else /* CONFIG_KPROBES */ | 198 | #else /* CONFIG_KPROBES */ |
199 | |||
200 | #define __kprobes /**/ | ||
201 | struct jprobe; | ||
202 | struct kretprobe; | ||
203 | |||
198 | static inline struct kprobe *kprobe_running(void) | 204 | static inline struct kprobe *kprobe_running(void) |
199 | { | 205 | { |
200 | return NULL; | 206 | return NULL; |
diff --git a/include/linux/libata.h b/include/linux/libata.h index f2dbb684ce9e..41ea7dbc1755 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -122,6 +122,7 @@ enum { | |||
122 | ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once | 122 | ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once |
123 | * proper HSM is in place. */ | 123 | * proper HSM is in place. */ |
124 | ATA_FLAG_DEBUGMSG = (1 << 10), | 124 | ATA_FLAG_DEBUGMSG = (1 << 10), |
125 | ATA_FLAG_NO_ATAPI = (1 << 11), /* No ATAPI support */ | ||
125 | 126 | ||
126 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ | 127 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ |
127 | ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */ | 128 | ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */ |
diff --git a/include/linux/list.h b/include/linux/list.h index fbfca73355a3..8e3388284530 100644 --- a/include/linux/list.h +++ b/include/linux/list.h | |||
@@ -202,12 +202,15 @@ static inline void list_del_rcu(struct list_head *entry) | |||
202 | * | 202 | * |
203 | * The old entry will be replaced with the new entry atomically. | 203 | * The old entry will be replaced with the new entry atomically. |
204 | */ | 204 | */ |
205 | static inline void list_replace_rcu(struct list_head *old, struct list_head *new){ | 205 | static inline void list_replace_rcu(struct list_head *old, |
206 | struct list_head *new) | ||
207 | { | ||
206 | new->next = old->next; | 208 | new->next = old->next; |
207 | new->prev = old->prev; | 209 | new->prev = old->prev; |
208 | smp_wmb(); | 210 | smp_wmb(); |
209 | new->next->prev = new; | 211 | new->next->prev = new; |
210 | new->prev->next = new; | 212 | new->prev->next = new; |
213 | old->prev = LIST_POISON2; | ||
211 | } | 214 | } |
212 | 215 | ||
213 | /** | 216 | /** |
@@ -578,6 +581,27 @@ static inline void hlist_del_init(struct hlist_node *n) | |||
578 | } | 581 | } |
579 | } | 582 | } |
580 | 583 | ||
584 | /* | ||
585 | * hlist_replace_rcu - replace old entry by new one | ||
586 | * @old : the element to be replaced | ||
587 | * @new : the new element to insert | ||
588 | * | ||
589 | * The old entry will be replaced with the new entry atomically. | ||
590 | */ | ||
591 | static inline void hlist_replace_rcu(struct hlist_node *old, | ||
592 | struct hlist_node *new) | ||
593 | { | ||
594 | struct hlist_node *next = old->next; | ||
595 | |||
596 | new->next = next; | ||
597 | new->pprev = old->pprev; | ||
598 | smp_wmb(); | ||
599 | if (next) | ||
600 | new->next->pprev = &new->next; | ||
601 | *new->pprev = new; | ||
602 | old->pprev = LIST_POISON2; | ||
603 | } | ||
604 | |||
581 | static inline void hlist_add_head(struct hlist_node *n, struct hlist_head *h) | 605 | static inline void hlist_add_head(struct hlist_node *n, struct hlist_head *h) |
582 | { | 606 | { |
583 | struct hlist_node *first = h->first; | 607 | struct hlist_node *first = h->first; |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 29f02d8513f6..a06a84d347fb 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -163,7 +163,7 @@ extern unsigned int kobjsize(const void *objp); | |||
163 | #define VM_HUGETLB 0x00400000 /* Huge TLB Page VM */ | 163 | #define VM_HUGETLB 0x00400000 /* Huge TLB Page VM */ |
164 | #define VM_NONLINEAR 0x00800000 /* Is non-linear (remap_file_pages) */ | 164 | #define VM_NONLINEAR 0x00800000 /* Is non-linear (remap_file_pages) */ |
165 | #define VM_MAPPED_COPY 0x01000000 /* T if mapped copy of data (nommu mmap) */ | 165 | #define VM_MAPPED_COPY 0x01000000 /* T if mapped copy of data (nommu mmap) */ |
166 | #define VM_INCOMPLETE 0x02000000 /* Strange partial PFN mapping marker */ | 166 | #define VM_INSERTPAGE 0x02000000 /* The vma has had "vm_insert_page()" done on it */ |
167 | 167 | ||
168 | #ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */ | 168 | #ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */ |
169 | #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS | 169 | #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS |
diff --git a/include/linux/mtd/onenand.h b/include/linux/mtd/onenand.h index f1fd4215686a..7419b5fab133 100644 --- a/include/linux/mtd/onenand.h +++ b/include/linux/mtd/onenand.h | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/mtd/bbm.h> | 17 | #include <linux/mtd/bbm.h> |
18 | 18 | ||
19 | #define MAX_BUFFERRAM 2 | 19 | #define MAX_BUFFERRAM 2 |
20 | #define MAX_ONENAND_PAGESIZE (2048 + 64) | ||
21 | 20 | ||
22 | /* Scan and identify a OneNAND device */ | 21 | /* Scan and identify a OneNAND device */ |
23 | extern int onenand_scan(struct mtd_info *mtd, int max_chips); | 22 | extern int onenand_scan(struct mtd_info *mtd, int max_chips); |
@@ -110,6 +109,7 @@ struct onenand_chip { | |||
110 | spinlock_t chip_lock; | 109 | spinlock_t chip_lock; |
111 | wait_queue_head_t wq; | 110 | wait_queue_head_t wq; |
112 | onenand_state_t state; | 111 | onenand_state_t state; |
112 | unsigned char *page_buf; | ||
113 | 113 | ||
114 | struct nand_oobinfo *autooob; | 114 | struct nand_oobinfo *autooob; |
115 | 115 | ||
@@ -134,13 +134,12 @@ struct onenand_chip { | |||
134 | * Options bits | 134 | * Options bits |
135 | */ | 135 | */ |
136 | #define ONENAND_CONT_LOCK (0x0001) | 136 | #define ONENAND_CONT_LOCK (0x0001) |
137 | 137 | #define ONENAND_PAGEBUF_ALLOC (0x1000) | |
138 | 138 | ||
139 | /* | 139 | /* |
140 | * OneNAND Flash Manufacturer ID Codes | 140 | * OneNAND Flash Manufacturer ID Codes |
141 | */ | 141 | */ |
142 | #define ONENAND_MFR_SAMSUNG 0xec | 142 | #define ONENAND_MFR_SAMSUNG 0xec |
143 | #define ONENAND_MFR_UNKNOWN 0x00 | ||
144 | 143 | ||
145 | /** | 144 | /** |
146 | * struct nand_manufacturers - NAND Flash Manufacturer ID Structure | 145 | * struct nand_manufacturers - NAND Flash Manufacturer ID Structure |
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 12787a9b0259..2516adeccecf 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -291,6 +291,7 @@ static inline int nfs_verify_change_attribute(struct inode *inode, unsigned long | |||
291 | /* | 291 | /* |
292 | * linux/fs/nfs/inode.c | 292 | * linux/fs/nfs/inode.c |
293 | */ | 293 | */ |
294 | extern int nfs_sync_mapping(struct address_space *mapping); | ||
294 | extern void nfs_zap_caches(struct inode *); | 295 | extern void nfs_zap_caches(struct inode *); |
295 | extern struct inode *nfs_fhget(struct super_block *, struct nfs_fh *, | 296 | extern struct inode *nfs_fhget(struct super_block *, struct nfs_fh *, |
296 | struct nfs_fattr *); | 297 | struct nfs_fattr *); |
diff --git a/include/linux/parport_pc.h b/include/linux/parport_pc.h index 7825c76cbd00..c6f762470879 100644 --- a/include/linux/parport_pc.h +++ b/include/linux/parport_pc.h | |||
@@ -86,7 +86,7 @@ extern __inline__ void dump_parport_state (char *str, struct parport *p) | |||
86 | unsigned char dcr = inb (CONTROL (p)); | 86 | unsigned char dcr = inb (CONTROL (p)); |
87 | unsigned char dsr = inb (STATUS (p)); | 87 | unsigned char dsr = inb (STATUS (p)); |
88 | static char *ecr_modes[] = {"SPP", "PS2", "PPFIFO", "ECP", "xXx", "yYy", "TST", "CFG"}; | 88 | static char *ecr_modes[] = {"SPP", "PS2", "PPFIFO", "ECP", "xXx", "yYy", "TST", "CFG"}; |
89 | const struct parport_pc_private *priv = (parport_pc_private *)p->physport->private_data; | 89 | const struct parport_pc_private *priv = p->physport->private_data; |
90 | int i; | 90 | int i; |
91 | 91 | ||
92 | printk (KERN_DEBUG "*** parport state (%s): ecr=[%s", str, ecr_modes[(ecr & 0xe0) >> 5]); | 92 | printk (KERN_DEBUG "*** parport state (%s): ecr=[%s", str, ecr_modes[(ecr & 0xe0) >> 5]); |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 1e737e269db9..4db67b3b05cc 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -1244,6 +1244,7 @@ | |||
1244 | #define PCI_DEVICE_ID_VIA_8378_0 0x3205 | 1244 | #define PCI_DEVICE_ID_VIA_8378_0 0x3205 |
1245 | #define PCI_DEVICE_ID_VIA_8783_0 0x3208 | 1245 | #define PCI_DEVICE_ID_VIA_8783_0 0x3208 |
1246 | #define PCI_DEVICE_ID_VIA_8237 0x3227 | 1246 | #define PCI_DEVICE_ID_VIA_8237 0x3227 |
1247 | #define PCI_DEVICE_ID_VIA_8251 0x3287 | ||
1247 | #define PCI_DEVICE_ID_VIA_3296_0 0x0296 | 1248 | #define PCI_DEVICE_ID_VIA_3296_0 0x0296 |
1248 | #define PCI_DEVICE_ID_VIA_8231 0x8231 | 1249 | #define PCI_DEVICE_ID_VIA_8231 0x8231 |
1249 | #define PCI_DEVICE_ID_VIA_8231_4 0x8235 | 1250 | #define PCI_DEVICE_ID_VIA_8231_4 0x8235 |
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index cce25591eec2..a471f3bb713e 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
@@ -100,6 +100,7 @@ struct rcu_data { | |||
100 | struct rcu_head *donelist; | 100 | struct rcu_head *donelist; |
101 | struct rcu_head **donetail; | 101 | struct rcu_head **donetail; |
102 | int cpu; | 102 | int cpu; |
103 | struct rcu_head barrier; | ||
103 | }; | 104 | }; |
104 | 105 | ||
105 | DECLARE_PER_CPU(struct rcu_data, rcu_data); | 106 | DECLARE_PER_CPU(struct rcu_data, rcu_data); |
@@ -285,6 +286,7 @@ extern void FASTCALL(call_rcu_bh(struct rcu_head *head, | |||
285 | extern __deprecated_for_modules void synchronize_kernel(void); | 286 | extern __deprecated_for_modules void synchronize_kernel(void); |
286 | extern void synchronize_rcu(void); | 287 | extern void synchronize_rcu(void); |
287 | void synchronize_idle(void); | 288 | void synchronize_idle(void); |
289 | extern void rcu_barrier(void); | ||
288 | 290 | ||
289 | #endif /* __KERNEL__ */ | 291 | #endif /* __KERNEL__ */ |
290 | #endif /* __LINUX_RCUPDATE_H */ | 292 | #endif /* __LINUX_RCUPDATE_H */ |
diff --git a/include/linux/relayfs_fs.h b/include/linux/relayfs_fs.h index cfafc3e76bc2..fb7e80737325 100644 --- a/include/linux/relayfs_fs.h +++ b/include/linux/relayfs_fs.h | |||
@@ -20,9 +20,9 @@ | |||
20 | #include <linux/kref.h> | 20 | #include <linux/kref.h> |
21 | 21 | ||
22 | /* | 22 | /* |
23 | * Tracks changes to rchan_buf struct | 23 | * Tracks changes to rchan/rchan_buf structs |
24 | */ | 24 | */ |
25 | #define RELAYFS_CHANNEL_VERSION 5 | 25 | #define RELAYFS_CHANNEL_VERSION 6 |
26 | 26 | ||
27 | /* | 27 | /* |
28 | * Per-cpu relay channel buffer | 28 | * Per-cpu relay channel buffer |
@@ -60,6 +60,7 @@ struct rchan | |||
60 | struct rchan_callbacks *cb; /* client callbacks */ | 60 | struct rchan_callbacks *cb; /* client callbacks */ |
61 | struct kref kref; /* channel refcount */ | 61 | struct kref kref; /* channel refcount */ |
62 | void *private_data; /* for user-defined data */ | 62 | void *private_data; /* for user-defined data */ |
63 | size_t last_toobig; /* tried to log event > subbuf size */ | ||
63 | struct rchan_buf *buf[NR_CPUS]; /* per-cpu channel buffers */ | 64 | struct rchan_buf *buf[NR_CPUS]; /* per-cpu channel buffers */ |
64 | }; | 65 | }; |
65 | 66 | ||
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index c231e9a08f0b..d50482ba27fe 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h | |||
@@ -866,6 +866,7 @@ enum rtnetlink_groups { | |||
866 | #define RTNLGRP_IPV4_MROUTE RTNLGRP_IPV4_MROUTE | 866 | #define RTNLGRP_IPV4_MROUTE RTNLGRP_IPV4_MROUTE |
867 | RTNLGRP_IPV4_ROUTE, | 867 | RTNLGRP_IPV4_ROUTE, |
868 | #define RTNLGRP_IPV4_ROUTE RTNLGRP_IPV4_ROUTE | 868 | #define RTNLGRP_IPV4_ROUTE RTNLGRP_IPV4_ROUTE |
869 | RTNLGRP_NOP1, | ||
869 | RTNLGRP_IPV6_IFADDR, | 870 | RTNLGRP_IPV6_IFADDR, |
870 | #define RTNLGRP_IPV6_IFADDR RTNLGRP_IPV6_IFADDR | 871 | #define RTNLGRP_IPV6_IFADDR RTNLGRP_IPV6_IFADDR |
871 | RTNLGRP_IPV6_MROUTE, | 872 | RTNLGRP_IPV6_MROUTE, |
@@ -876,8 +877,11 @@ enum rtnetlink_groups { | |||
876 | #define RTNLGRP_IPV6_IFINFO RTNLGRP_IPV6_IFINFO | 877 | #define RTNLGRP_IPV6_IFINFO RTNLGRP_IPV6_IFINFO |
877 | RTNLGRP_DECnet_IFADDR, | 878 | RTNLGRP_DECnet_IFADDR, |
878 | #define RTNLGRP_DECnet_IFADDR RTNLGRP_DECnet_IFADDR | 879 | #define RTNLGRP_DECnet_IFADDR RTNLGRP_DECnet_IFADDR |
880 | RTNLGRP_NOP2, | ||
879 | RTNLGRP_DECnet_ROUTE, | 881 | RTNLGRP_DECnet_ROUTE, |
880 | #define RTNLGRP_DECnet_ROUTE RTNLGRP_DECnet_ROUTE | 882 | #define RTNLGRP_DECnet_ROUTE RTNLGRP_DECnet_ROUTE |
883 | RTNLGRP_NOP3, | ||
884 | RTNLGRP_NOP4, | ||
881 | RTNLGRP_IPV6_PREFIX, | 885 | RTNLGRP_IPV6_PREFIX, |
882 | #define RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_PREFIX | 886 | #define RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_PREFIX |
883 | __RTNLGRP_MAX | 887 | __RTNLGRP_MAX |
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 6bc03c911a83..4be34ef8c2f7 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
@@ -670,6 +670,9 @@ enum { | |||
670 | NET_DECNET_DST_GC_INTERVAL = 9, | 670 | NET_DECNET_DST_GC_INTERVAL = 9, |
671 | NET_DECNET_CONF = 10, | 671 | NET_DECNET_CONF = 10, |
672 | NET_DECNET_NO_FC_MAX_CWND = 11, | 672 | NET_DECNET_NO_FC_MAX_CWND = 11, |
673 | NET_DECNET_MEM = 12, | ||
674 | NET_DECNET_RMEM = 13, | ||
675 | NET_DECNET_WMEM = 14, | ||
673 | NET_DECNET_DEBUG_LEVEL = 255 | 676 | NET_DECNET_DEBUG_LEVEL = 255 |
674 | }; | 677 | }; |
675 | 678 | ||
diff --git a/include/linux/time.h b/include/linux/time.h index bfbe92d0767c..797ccd813bb0 100644 --- a/include/linux/time.h +++ b/include/linux/time.h | |||
@@ -95,6 +95,7 @@ struct itimerval; | |||
95 | extern int do_setitimer(int which, struct itimerval *value, struct itimerval *ovalue); | 95 | extern int do_setitimer(int which, struct itimerval *value, struct itimerval *ovalue); |
96 | extern int do_getitimer(int which, struct itimerval *value); | 96 | extern int do_getitimer(int which, struct itimerval *value); |
97 | extern void getnstimeofday (struct timespec *tv); | 97 | extern void getnstimeofday (struct timespec *tv); |
98 | extern void getnstimestamp(struct timespec *ts); | ||
98 | 99 | ||
99 | extern struct timespec timespec_trunc(struct timespec t, unsigned gran); | 100 | extern struct timespec timespec_trunc(struct timespec t, unsigned gran); |
100 | 101 | ||
diff --git a/include/media/saa7146.h b/include/media/saa7146.h index 2a897c3a6a9a..e5be2b9b846b 100644 --- a/include/media/saa7146.h +++ b/include/media/saa7146.h | |||
@@ -14,7 +14,7 @@ | |||
14 | #include <linux/vmalloc.h> /* for vmalloc() */ | 14 | #include <linux/vmalloc.h> /* for vmalloc() */ |
15 | #include <linux/mm.h> /* for vmalloc_to_page() */ | 15 | #include <linux/mm.h> /* for vmalloc_to_page() */ |
16 | 16 | ||
17 | #define SAA7146_VERSION_CODE 0x000500 /* 0.5.0 */ | 17 | #define SAA7146_VERSION_CODE 0x000500 /* 0.5.0 */ |
18 | 18 | ||
19 | #define saa7146_write(sxy,adr,dat) writel((dat),(sxy->mem+(adr))) | 19 | #define saa7146_write(sxy,adr,dat) writel((dat),(sxy->mem+(adr))) |
20 | #define saa7146_read(sxy,adr) readl(sxy->mem+(adr)) | 20 | #define saa7146_read(sxy,adr) readl(sxy->mem+(adr)) |
@@ -112,7 +112,7 @@ struct saa7146_dev | |||
112 | 112 | ||
113 | /* different device locks */ | 113 | /* different device locks */ |
114 | spinlock_t slock; | 114 | spinlock_t slock; |
115 | struct semaphore lock; | 115 | struct semaphore lock; |
116 | 116 | ||
117 | unsigned char __iomem *mem; /* pointer to mapped IO memory */ | 117 | unsigned char __iomem *mem; /* pointer to mapped IO memory */ |
118 | int revision; /* chip revision; needed for bug-workarounds*/ | 118 | int revision; /* chip revision; needed for bug-workarounds*/ |
@@ -133,7 +133,7 @@ struct saa7146_dev | |||
133 | void (*vv_callback)(struct saa7146_dev *dev, unsigned long status); | 133 | void (*vv_callback)(struct saa7146_dev *dev, unsigned long status); |
134 | 134 | ||
135 | /* i2c-stuff */ | 135 | /* i2c-stuff */ |
136 | struct semaphore i2c_lock; | 136 | struct semaphore i2c_lock; |
137 | u32 i2c_bitrate; | 137 | u32 i2c_bitrate; |
138 | struct saa7146_dma d_i2c; /* pointer to i2c memory */ | 138 | struct saa7146_dma d_i2c; /* pointer to i2c memory */ |
139 | wait_queue_head_t i2c_wq; | 139 | wait_queue_head_t i2c_wq; |
diff --git a/include/media/saa7146_vv.h b/include/media/saa7146_vv.h index 64691753721e..16af9299315f 100644 --- a/include/media/saa7146_vv.h +++ b/include/media/saa7146_vv.h | |||
@@ -113,7 +113,7 @@ struct saa7146_vv | |||
113 | /* vbi capture */ | 113 | /* vbi capture */ |
114 | struct saa7146_dmaqueue vbi_q; | 114 | struct saa7146_dmaqueue vbi_q; |
115 | /* vbi workaround interrupt queue */ | 115 | /* vbi workaround interrupt queue */ |
116 | wait_queue_head_t vbi_wq; | 116 | wait_queue_head_t vbi_wq; |
117 | int vbi_fieldcount; | 117 | int vbi_fieldcount; |
118 | struct saa7146_fh *vbi_streaming; | 118 | struct saa7146_fh *vbi_streaming; |
119 | 119 | ||
@@ -181,10 +181,10 @@ struct saa7146_ext_vv | |||
181 | }; | 181 | }; |
182 | 182 | ||
183 | struct saa7146_use_ops { | 183 | struct saa7146_use_ops { |
184 | void (*init)(struct saa7146_dev *, struct saa7146_vv *); | 184 | void (*init)(struct saa7146_dev *, struct saa7146_vv *); |
185 | int(*open)(struct saa7146_dev *, struct file *); | 185 | int(*open)(struct saa7146_dev *, struct file *); |
186 | void (*release)(struct saa7146_dev *, struct file *); | 186 | void (*release)(struct saa7146_dev *, struct file *); |
187 | void (*irq_done)(struct saa7146_dev *, unsigned long status); | 187 | void (*irq_done)(struct saa7146_dev *, unsigned long status); |
188 | ssize_t (*read)(struct file *, char __user *, size_t, loff_t *); | 188 | ssize_t (*read)(struct file *, char __user *, size_t, loff_t *); |
189 | }; | 189 | }; |
190 | 190 | ||
diff --git a/include/net/dn.h b/include/net/dn.h index c1dbbd222793..a4b6168e1e25 100644 --- a/include/net/dn.h +++ b/include/net/dn.h | |||
@@ -234,4 +234,8 @@ extern int decnet_di_count; | |||
234 | extern int decnet_dr_count; | 234 | extern int decnet_dr_count; |
235 | extern int decnet_no_fc_max_cwnd; | 235 | extern int decnet_no_fc_max_cwnd; |
236 | 236 | ||
237 | extern int sysctl_decnet_mem[3]; | ||
238 | extern int sysctl_decnet_wmem[3]; | ||
239 | extern int sysctl_decnet_rmem[3]; | ||
240 | |||
237 | #endif /* _NET_DN_H */ | 241 | #endif /* _NET_DN_H */ |
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index 5beae1ccd574..1cdb87912137 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
@@ -890,6 +890,7 @@ struct xfrm_state * xfrm_find_acq(u8 mode, u32 reqid, u8 proto, | |||
890 | extern void xfrm_policy_flush(void); | 890 | extern void xfrm_policy_flush(void); |
891 | extern int xfrm_sk_policy_insert(struct sock *sk, int dir, struct xfrm_policy *pol); | 891 | extern int xfrm_sk_policy_insert(struct sock *sk, int dir, struct xfrm_policy *pol); |
892 | extern int xfrm_flush_bundles(void); | 892 | extern int xfrm_flush_bundles(void); |
893 | extern void xfrm_flush_all_bundles(void); | ||
893 | extern int xfrm_bundle_ok(struct xfrm_dst *xdst, struct flowi *fl, int family); | 894 | extern int xfrm_bundle_ok(struct xfrm_dst *xdst, struct flowi *fl, int family); |
894 | extern void xfrm_init_pmtu(struct dst_entry *dst); | 895 | extern void xfrm_init_pmtu(struct dst_entry *dst); |
895 | 896 | ||
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h index 7529f4388bb4..20da282d4abb 100644 --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h | |||
@@ -151,5 +151,6 @@ extern struct scsi_cmnd *scsi_get_command(struct scsi_device *, gfp_t); | |||
151 | extern void scsi_put_command(struct scsi_cmnd *); | 151 | extern void scsi_put_command(struct scsi_cmnd *); |
152 | extern void scsi_io_completion(struct scsi_cmnd *, unsigned int, unsigned int); | 152 | extern void scsi_io_completion(struct scsi_cmnd *, unsigned int, unsigned int); |
153 | extern void scsi_finish_command(struct scsi_cmnd *cmd); | 153 | extern void scsi_finish_command(struct scsi_cmnd *cmd); |
154 | extern void scsi_setup_blk_pc_cmnd(struct scsi_cmnd *cmd, int retries); | ||
154 | 155 | ||
155 | #endif /* _SCSI_SCSI_CMND_H */ | 156 | #endif /* _SCSI_SCSI_CMND_H */ |