diff options
author | Len Brown <len.brown@intel.com> | 2005-12-14 02:59:50 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2005-12-14 02:59:50 -0500 |
commit | d3e4cefc86ce1aefc0e9aebdc56308cb4bd51997 (patch) | |
tree | f4418610996064cab63600ca093de65356dcdfde /include | |
parent | 927fe18397b3b1194a5b26b1d388d97e391e5fd2 (diff) | |
parent | acd9b7b4e08a3f0f48afa922d8e371414cf2d3b2 (diff) |
Auto-update from upstream
Diffstat (limited to 'include')
29 files changed, 220 insertions, 122 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/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/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-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/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/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..e5677f456742 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -163,7 +163,6 @@ 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 */ | ||
167 | 166 | ||
168 | #ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */ | 167 | #ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */ |
169 | #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS | 168 | #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS |
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/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/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 */ |