diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86/page.h | 15 | ||||
-rw-r--r-- | include/asm-x86/pgtable-3level.h | 6 | ||||
-rw-r--r-- | include/asm-x86/pgtable.h | 3 | ||||
-rw-r--r-- | include/asm-x86/pgtable_32.h | 4 | ||||
-rw-r--r-- | include/asm-x86/pgtable_64.h | 12 | ||||
-rw-r--r-- | include/asm-x86/xen/page.h | 2 | ||||
-rw-r--r-- | include/linux/device.h | 12 | ||||
-rw-r--r-- | include/linux/hid.h | 3 | ||||
-rw-r--r-- | include/linux/hiddev.h | 2 | ||||
-rw-r--r-- | include/linux/usb/cdc.h | 9 | ||||
-rw-r--r-- | include/media/videobuf-core.h | 3 |
11 files changed, 49 insertions, 22 deletions
diff --git a/include/asm-x86/page.h b/include/asm-x86/page.h index b381f4a5a0bd..dc936dddf161 100644 --- a/include/asm-x86/page.h +++ b/include/asm-x86/page.h | |||
@@ -10,8 +10,16 @@ | |||
10 | 10 | ||
11 | #ifdef __KERNEL__ | 11 | #ifdef __KERNEL__ |
12 | 12 | ||
13 | #define PHYSICAL_PAGE_MASK (PAGE_MASK & __PHYSICAL_MASK) | 13 | #define __PHYSICAL_MASK ((phys_addr_t)(1ULL << __PHYSICAL_MASK_SHIFT) - 1) |
14 | #define PTE_MASK (_AT(long, PHYSICAL_PAGE_MASK)) | 14 | #define __VIRTUAL_MASK ((1UL << __VIRTUAL_MASK_SHIFT) - 1) |
15 | |||
16 | /* Cast PAGE_MASK to a signed type so that it is sign-extended if | ||
17 | virtual addresses are 32-bits but physical addresses are larger | ||
18 | (ie, 32-bit PAE). */ | ||
19 | #define PHYSICAL_PAGE_MASK (((signed long)PAGE_MASK) & __PHYSICAL_MASK) | ||
20 | |||
21 | /* PTE_MASK extracts the PFN from a (pte|pmd|pud|pgd)val_t */ | ||
22 | #define PTE_MASK ((pteval_t)PHYSICAL_PAGE_MASK) | ||
15 | 23 | ||
16 | #define PMD_PAGE_SIZE (_AC(1, UL) << PMD_SHIFT) | 24 | #define PMD_PAGE_SIZE (_AC(1, UL) << PMD_SHIFT) |
17 | #define PMD_PAGE_MASK (~(PMD_PAGE_SIZE-1)) | 25 | #define PMD_PAGE_MASK (~(PMD_PAGE_SIZE-1)) |
@@ -24,9 +32,6 @@ | |||
24 | /* to align the pointer to the (next) page boundary */ | 32 | /* to align the pointer to the (next) page boundary */ |
25 | #define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK) | 33 | #define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK) |
26 | 34 | ||
27 | #define __PHYSICAL_MASK _AT(phys_addr_t, (_AC(1,ULL) << __PHYSICAL_MASK_SHIFT) - 1) | ||
28 | #define __VIRTUAL_MASK ((_AC(1,UL) << __VIRTUAL_MASK_SHIFT) - 1) | ||
29 | |||
30 | #ifndef __ASSEMBLY__ | 35 | #ifndef __ASSEMBLY__ |
31 | #include <linux/types.h> | 36 | #include <linux/types.h> |
32 | #endif | 37 | #endif |
diff --git a/include/asm-x86/pgtable-3level.h b/include/asm-x86/pgtable-3level.h index 8b4a9d44b7f4..c93dbb6c2624 100644 --- a/include/asm-x86/pgtable-3level.h +++ b/include/asm-x86/pgtable-3level.h | |||
@@ -120,9 +120,9 @@ static inline void pud_clear(pud_t *pudp) | |||
120 | write_cr3(pgd); | 120 | write_cr3(pgd); |
121 | } | 121 | } |
122 | 122 | ||
123 | #define pud_page(pud) ((struct page *) __va(pud_val(pud) & PAGE_MASK)) | 123 | #define pud_page(pud) ((struct page *) __va(pud_val(pud) & PTE_MASK)) |
124 | 124 | ||
125 | #define pud_page_vaddr(pud) ((unsigned long) __va(pud_val(pud) & PAGE_MASK)) | 125 | #define pud_page_vaddr(pud) ((unsigned long) __va(pud_val(pud) & PTE_MASK)) |
126 | 126 | ||
127 | 127 | ||
128 | /* Find an entry in the second-level page table.. */ | 128 | /* Find an entry in the second-level page table.. */ |
@@ -160,7 +160,7 @@ static inline int pte_none(pte_t pte) | |||
160 | 160 | ||
161 | static inline unsigned long pte_pfn(pte_t pte) | 161 | static inline unsigned long pte_pfn(pte_t pte) |
162 | { | 162 | { |
163 | return (pte_val(pte) & ~_PAGE_NX) >> PAGE_SHIFT; | 163 | return (pte_val(pte) & PTE_MASK) >> PAGE_SHIFT; |
164 | } | 164 | } |
165 | 165 | ||
166 | /* | 166 | /* |
diff --git a/include/asm-x86/pgtable.h b/include/asm-x86/pgtable.h index 55c3a0e3a8ce..97c271b2910b 100644 --- a/include/asm-x86/pgtable.h +++ b/include/asm-x86/pgtable.h | |||
@@ -57,6 +57,7 @@ | |||
57 | #define _KERNPG_TABLE (_PAGE_PRESENT | _PAGE_RW | _PAGE_ACCESSED | \ | 57 | #define _KERNPG_TABLE (_PAGE_PRESENT | _PAGE_RW | _PAGE_ACCESSED | \ |
58 | _PAGE_DIRTY) | 58 | _PAGE_DIRTY) |
59 | 59 | ||
60 | /* Set of bits not changed in pte_modify */ | ||
60 | #define _PAGE_CHG_MASK (PTE_MASK | _PAGE_PCD | _PAGE_PWT | \ | 61 | #define _PAGE_CHG_MASK (PTE_MASK | _PAGE_PCD | _PAGE_PWT | \ |
61 | _PAGE_ACCESSED | _PAGE_DIRTY) | 62 | _PAGE_ACCESSED | _PAGE_DIRTY) |
62 | 63 | ||
@@ -304,7 +305,7 @@ static inline pgprot_t pgprot_modify(pgprot_t oldprot, pgprot_t newprot) | |||
304 | return __pgprot(preservebits | addbits); | 305 | return __pgprot(preservebits | addbits); |
305 | } | 306 | } |
306 | 307 | ||
307 | #define pte_pgprot(x) __pgprot(pte_val(x) & (0xfff | _PAGE_NX)) | 308 | #define pte_pgprot(x) __pgprot(pte_val(x) & ~PTE_MASK) |
308 | 309 | ||
309 | #define canon_pgprot(p) __pgprot(pgprot_val(p) & __supported_pte_mask) | 310 | #define canon_pgprot(p) __pgprot(pgprot_val(p) & __supported_pte_mask) |
310 | 311 | ||
diff --git a/include/asm-x86/pgtable_32.h b/include/asm-x86/pgtable_32.h index d7f0403bbecb..32ca03109a4c 100644 --- a/include/asm-x86/pgtable_32.h +++ b/include/asm-x86/pgtable_32.h | |||
@@ -88,7 +88,7 @@ extern unsigned long pg0[]; | |||
88 | /* To avoid harmful races, pmd_none(x) should check only the lower when PAE */ | 88 | /* To avoid harmful races, pmd_none(x) should check only the lower when PAE */ |
89 | #define pmd_none(x) (!(unsigned long)pmd_val((x))) | 89 | #define pmd_none(x) (!(unsigned long)pmd_val((x))) |
90 | #define pmd_present(x) (pmd_val((x)) & _PAGE_PRESENT) | 90 | #define pmd_present(x) (pmd_val((x)) & _PAGE_PRESENT) |
91 | #define pmd_bad(x) ((pmd_val(x) & (~PAGE_MASK & ~_PAGE_USER)) != _KERNPG_TABLE) | 91 | #define pmd_bad(x) ((pmd_val(x) & (~PTE_MASK & ~_PAGE_USER)) != _KERNPG_TABLE) |
92 | 92 | ||
93 | #define pages_to_mb(x) ((x) >> (20-PAGE_SHIFT)) | 93 | #define pages_to_mb(x) ((x) >> (20-PAGE_SHIFT)) |
94 | 94 | ||
@@ -159,7 +159,7 @@ static inline int pud_large(pud_t pud) { return 0; } | |||
159 | #define pmd_page(pmd) (pfn_to_page(pmd_val((pmd)) >> PAGE_SHIFT)) | 159 | #define pmd_page(pmd) (pfn_to_page(pmd_val((pmd)) >> PAGE_SHIFT)) |
160 | 160 | ||
161 | #define pmd_page_vaddr(pmd) \ | 161 | #define pmd_page_vaddr(pmd) \ |
162 | ((unsigned long)__va(pmd_val((pmd)) & PAGE_MASK)) | 162 | ((unsigned long)__va(pmd_val((pmd)) & PTE_MASK)) |
163 | 163 | ||
164 | #if defined(CONFIG_HIGHPTE) | 164 | #if defined(CONFIG_HIGHPTE) |
165 | #define pte_offset_map(dir, address) \ | 165 | #define pte_offset_map(dir, address) \ |
diff --git a/include/asm-x86/pgtable_64.h b/include/asm-x86/pgtable_64.h index efe83dcbd412..1cc50d22d735 100644 --- a/include/asm-x86/pgtable_64.h +++ b/include/asm-x86/pgtable_64.h | |||
@@ -151,19 +151,19 @@ static inline void native_pgd_clear(pgd_t *pgd) | |||
151 | 151 | ||
152 | #ifndef __ASSEMBLY__ | 152 | #ifndef __ASSEMBLY__ |
153 | 153 | ||
154 | static inline unsigned long pgd_bad(pgd_t pgd) | 154 | static inline int pgd_bad(pgd_t pgd) |
155 | { | 155 | { |
156 | return pgd_val(pgd) & ~(PTE_MASK | _KERNPG_TABLE | _PAGE_USER); | 156 | return (pgd_val(pgd) & ~(PTE_MASK | _PAGE_USER)) != _KERNPG_TABLE; |
157 | } | 157 | } |
158 | 158 | ||
159 | static inline unsigned long pud_bad(pud_t pud) | 159 | static inline int pud_bad(pud_t pud) |
160 | { | 160 | { |
161 | return pud_val(pud) & ~(PTE_MASK | _KERNPG_TABLE | _PAGE_USER); | 161 | return (pud_val(pud) & ~(PTE_MASK | _PAGE_USER)) != _KERNPG_TABLE; |
162 | } | 162 | } |
163 | 163 | ||
164 | static inline unsigned long pmd_bad(pmd_t pmd) | 164 | static inline int pmd_bad(pmd_t pmd) |
165 | { | 165 | { |
166 | return pmd_val(pmd) & ~(PTE_MASK | _KERNPG_TABLE | _PAGE_USER); | 166 | return (pmd_val(pmd) & ~(PTE_MASK | _PAGE_USER)) != _KERNPG_TABLE; |
167 | } | 167 | } |
168 | 168 | ||
169 | #define pte_none(x) (!pte_val((x))) | 169 | #define pte_none(x) (!pte_val((x))) |
diff --git a/include/asm-x86/xen/page.h b/include/asm-x86/xen/page.h index 01799305f02a..baf3a4dce28c 100644 --- a/include/asm-x86/xen/page.h +++ b/include/asm-x86/xen/page.h | |||
@@ -127,7 +127,7 @@ static inline void set_phys_to_machine(unsigned long pfn, unsigned long mfn) | |||
127 | 127 | ||
128 | static inline unsigned long pte_mfn(pte_t pte) | 128 | static inline unsigned long pte_mfn(pte_t pte) |
129 | { | 129 | { |
130 | return (pte.pte & ~_PAGE_NX) >> PAGE_SHIFT; | 130 | return (pte.pte & PTE_MASK) >> PAGE_SHIFT; |
131 | } | 131 | } |
132 | 132 | ||
133 | static inline pte_t mfn_pte(unsigned long page_nr, pgprot_t pgprot) | 133 | static inline pte_t mfn_pte(unsigned long page_nr, pgprot_t pgprot) |
diff --git a/include/linux/device.h b/include/linux/device.h index 15e9fa3ad3af..14616e80213c 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -449,9 +449,21 @@ extern int __must_check device_reprobe(struct device *dev); | |||
449 | /* | 449 | /* |
450 | * Easy functions for dynamically creating devices on the fly | 450 | * Easy functions for dynamically creating devices on the fly |
451 | */ | 451 | */ |
452 | extern struct device *device_create_vargs(struct class *cls, | ||
453 | struct device *parent, | ||
454 | dev_t devt, | ||
455 | void *drvdata, | ||
456 | const char *fmt, | ||
457 | va_list vargs); | ||
452 | extern struct device *device_create(struct class *cls, struct device *parent, | 458 | extern struct device *device_create(struct class *cls, struct device *parent, |
453 | dev_t devt, const char *fmt, ...) | 459 | dev_t devt, const char *fmt, ...) |
454 | __attribute__((format(printf, 4, 5))); | 460 | __attribute__((format(printf, 4, 5))); |
461 | extern struct device *device_create_drvdata(struct class *cls, | ||
462 | struct device *parent, | ||
463 | dev_t devt, | ||
464 | void *drvdata, | ||
465 | const char *fmt, ...) | ||
466 | __attribute__((format(printf, 5, 6))); | ||
455 | extern void device_destroy(struct class *cls, dev_t devt); | 467 | extern void device_destroy(struct class *cls, dev_t devt); |
456 | 468 | ||
457 | /* | 469 | /* |
diff --git a/include/linux/hid.h b/include/linux/hid.h index 4ce3b7a979ba..fe56b86f2c67 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h | |||
@@ -2,8 +2,6 @@ | |||
2 | #define __HID_H | 2 | #define __HID_H |
3 | 3 | ||
4 | /* | 4 | /* |
5 | * $Id: hid.h,v 1.24 2001/12/27 10:37:41 vojtech Exp $ | ||
6 | * | ||
7 | * Copyright (c) 1999 Andreas Gal | 5 | * Copyright (c) 1999 Andreas Gal |
8 | * Copyright (c) 2000-2001 Vojtech Pavlik | 6 | * Copyright (c) 2000-2001 Vojtech Pavlik |
9 | * Copyright (c) 2006-2007 Jiri Kosina | 7 | * Copyright (c) 2006-2007 Jiri Kosina |
@@ -285,6 +283,7 @@ struct hid_item { | |||
285 | #define HID_QUIRK_HWHEEL_WHEEL_INVERT 0x04000000 | 283 | #define HID_QUIRK_HWHEEL_WHEEL_INVERT 0x04000000 |
286 | #define HID_QUIRK_MICROSOFT_KEYS 0x08000000 | 284 | #define HID_QUIRK_MICROSOFT_KEYS 0x08000000 |
287 | #define HID_QUIRK_FULLSPEED_INTERVAL 0x10000000 | 285 | #define HID_QUIRK_FULLSPEED_INTERVAL 0x10000000 |
286 | #define HID_QUIRK_APPLE_NUMLOCK_EMULATION 0x20000000 | ||
288 | 287 | ||
289 | /* | 288 | /* |
290 | * Separate quirks for runtime report descriptor fixup | 289 | * Separate quirks for runtime report descriptor fixup |
diff --git a/include/linux/hiddev.h b/include/linux/hiddev.h index acbdae6d7ae1..a416b904ba90 100644 --- a/include/linux/hiddev.h +++ b/include/linux/hiddev.h | |||
@@ -2,8 +2,6 @@ | |||
2 | #define _HIDDEV_H | 2 | #define _HIDDEV_H |
3 | 3 | ||
4 | /* | 4 | /* |
5 | * $Id: hiddev.h,v 1.2 2001/04/26 11:26:09 vojtech Exp $ | ||
6 | * | ||
7 | * Copyright (c) 1999-2000 Vojtech Pavlik | 5 | * Copyright (c) 1999-2000 Vojtech Pavlik |
8 | * | 6 | * |
9 | * Sponsored by SuSE | 7 | * Sponsored by SuSE |
diff --git a/include/linux/usb/cdc.h b/include/linux/usb/cdc.h index 71e52f2f6a38..ca228bb94218 100644 --- a/include/linux/usb/cdc.h +++ b/include/linux/usb/cdc.h | |||
@@ -130,6 +130,15 @@ struct usb_cdc_ether_desc { | |||
130 | __u8 bNumberPowerFilters; | 130 | __u8 bNumberPowerFilters; |
131 | } __attribute__ ((packed)); | 131 | } __attribute__ ((packed)); |
132 | 132 | ||
133 | /* "Telephone Control Model Functional Descriptor" from CDC WMC spec 6.3..3 */ | ||
134 | struct usb_cdc_dmm_desc { | ||
135 | __u8 bFunctionLength; | ||
136 | __u8 bDescriptorType; | ||
137 | __u8 bDescriptorSubtype; | ||
138 | __u16 bcdVersion; | ||
139 | __le16 wMaxCommand; | ||
140 | } __attribute__ ((packed)); | ||
141 | |||
133 | /* "MDLM Functional Descriptor" from CDC WMC spec 6.7.2.3 */ | 142 | /* "MDLM Functional Descriptor" from CDC WMC spec 6.7.2.3 */ |
134 | struct usb_cdc_mdlm_desc { | 143 | struct usb_cdc_mdlm_desc { |
135 | __u8 bLength; | 144 | __u8 bLength; |
diff --git a/include/media/videobuf-core.h b/include/media/videobuf-core.h index 5b39a22533fe..874f1340d049 100644 --- a/include/media/videobuf-core.h +++ b/include/media/videobuf-core.h | |||
@@ -237,6 +237,9 @@ unsigned int videobuf_poll_stream(struct file *file, | |||
237 | int videobuf_mmap_setup(struct videobuf_queue *q, | 237 | int videobuf_mmap_setup(struct videobuf_queue *q, |
238 | unsigned int bcount, unsigned int bsize, | 238 | unsigned int bcount, unsigned int bsize, |
239 | enum v4l2_memory memory); | 239 | enum v4l2_memory memory); |
240 | int __videobuf_mmap_setup(struct videobuf_queue *q, | ||
241 | unsigned int bcount, unsigned int bsize, | ||
242 | enum v4l2_memory memory); | ||
240 | int videobuf_mmap_free(struct videobuf_queue *q); | 243 | int videobuf_mmap_free(struct videobuf_queue *q); |
241 | int videobuf_mmap_mapper(struct videobuf_queue *q, | 244 | int videobuf_mmap_mapper(struct videobuf_queue *q, |
242 | struct vm_area_struct *vma); | 245 | struct vm_area_struct *vma); |