diff options
Diffstat (limited to 'include')
38 files changed, 113 insertions, 91 deletions
diff --git a/include/Kbuild b/include/Kbuild index 83256b64166..1dfd33e8d43 100644 --- a/include/Kbuild +++ b/include/Kbuild | |||
| @@ -1,8 +1,5 @@ | |||
| 1 | # Top-level Makefile calls into asm-$(ARCH) | 1 | # Top-level Makefile calls into asm-$(ARCH) |
| 2 | # List only non-arch directories below | 2 | # List only non-arch directories below |
| 3 | 3 | ||
| 4 | header-y += linux/ | ||
| 5 | header-y += sound/ | ||
| 6 | header-y += rdma/ | ||
| 7 | header-y += video/ | 4 | header-y += video/ |
| 8 | header-y += scsi/ | 5 | header-y += scsi/ |
diff --git a/include/asm-generic/parport.h b/include/asm-generic/parport.h index 40528cb977e..2c9f9d4336c 100644 --- a/include/asm-generic/parport.h +++ b/include/asm-generic/parport.h | |||
| @@ -10,8 +10,8 @@ | |||
| 10 | * to devices on the PCI bus. | 10 | * to devices on the PCI bus. |
| 11 | */ | 11 | */ |
| 12 | 12 | ||
| 13 | static int __devinit parport_pc_find_isa_ports(int autoirq, int autodma); | 13 | static int parport_pc_find_isa_ports(int autoirq, int autodma); |
| 14 | static int __devinit parport_pc_find_nonpci_ports(int autoirq, int autodma) | 14 | static int parport_pc_find_nonpci_ports(int autoirq, int autodma) |
| 15 | { | 15 | { |
| 16 | #ifdef CONFIG_ISA | 16 | #ifdef CONFIG_ISA |
| 17 | return parport_pc_find_isa_ports(autoirq, autodma); | 17 | return parport_pc_find_isa_ports(autoirq, autodma); |
diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h index ed6642ad03e..25f01d0bc14 100644 --- a/include/asm-generic/tlb.h +++ b/include/asm-generic/tlb.h | |||
| @@ -78,6 +78,14 @@ struct mmu_gather_batch { | |||
| 78 | #define MAX_GATHER_BATCH \ | 78 | #define MAX_GATHER_BATCH \ |
| 79 | ((PAGE_SIZE - sizeof(struct mmu_gather_batch)) / sizeof(void *)) | 79 | ((PAGE_SIZE - sizeof(struct mmu_gather_batch)) / sizeof(void *)) |
| 80 | 80 | ||
| 81 | /* | ||
| 82 | * Limit the maximum number of mmu_gather batches to reduce a risk of soft | ||
| 83 | * lockups for non-preemptible kernels on huge machines when a lot of memory | ||
| 84 | * is zapped during unmapping. | ||
| 85 | * 10K pages freed at once should be safe even without a preemption point. | ||
| 86 | */ | ||
| 87 | #define MAX_GATHER_BATCH_COUNT (10000UL/MAX_GATHER_BATCH) | ||
| 88 | |||
| 81 | /* struct mmu_gather is an opaque type used by the mm code for passing around | 89 | /* struct mmu_gather is an opaque type used by the mm code for passing around |
| 82 | * any data needed by arch specific code for tlb_remove_page. | 90 | * any data needed by arch specific code for tlb_remove_page. |
| 83 | */ | 91 | */ |
| @@ -96,6 +104,7 @@ struct mmu_gather { | |||
| 96 | struct mmu_gather_batch *active; | 104 | struct mmu_gather_batch *active; |
| 97 | struct mmu_gather_batch local; | 105 | struct mmu_gather_batch local; |
| 98 | struct page *__pages[MMU_GATHER_BUNDLE]; | 106 | struct page *__pages[MMU_GATHER_BUNDLE]; |
| 107 | unsigned int batch_count; | ||
| 99 | }; | 108 | }; |
| 100 | 109 | ||
| 101 | #define HAVE_GENERIC_MMU_GATHER | 110 | #define HAVE_GENERIC_MMU_GATHER |
diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h index 06d7f798a08..0f4a366f6fa 100644 --- a/include/drm/drm_mm.h +++ b/include/drm/drm_mm.h | |||
| @@ -158,12 +158,29 @@ static inline struct drm_mm_node *drm_mm_get_block_atomic_range( | |||
| 158 | return drm_mm_get_block_range_generic(parent, size, alignment, 0, | 158 | return drm_mm_get_block_range_generic(parent, size, alignment, 0, |
| 159 | start, end, 1); | 159 | start, end, 1); |
| 160 | } | 160 | } |
| 161 | extern int drm_mm_insert_node(struct drm_mm *mm, struct drm_mm_node *node, | 161 | |
| 162 | unsigned long size, unsigned alignment); | 162 | extern int drm_mm_insert_node(struct drm_mm *mm, |
| 163 | struct drm_mm_node *node, | ||
| 164 | unsigned long size, | ||
| 165 | unsigned alignment); | ||
| 163 | extern int drm_mm_insert_node_in_range(struct drm_mm *mm, | 166 | extern int drm_mm_insert_node_in_range(struct drm_mm *mm, |
| 164 | struct drm_mm_node *node, | 167 | struct drm_mm_node *node, |
| 165 | unsigned long size, unsigned alignment, | 168 | unsigned long size, |
| 166 | unsigned long start, unsigned long end); | 169 | unsigned alignment, |
| 170 | unsigned long start, | ||
| 171 | unsigned long end); | ||
| 172 | extern int drm_mm_insert_node_generic(struct drm_mm *mm, | ||
| 173 | struct drm_mm_node *node, | ||
| 174 | unsigned long size, | ||
| 175 | unsigned alignment, | ||
| 176 | unsigned long color); | ||
| 177 | extern int drm_mm_insert_node_in_range_generic(struct drm_mm *mm, | ||
| 178 | struct drm_mm_node *node, | ||
| 179 | unsigned long size, | ||
| 180 | unsigned alignment, | ||
| 181 | unsigned long color, | ||
| 182 | unsigned long start, | ||
| 183 | unsigned long end); | ||
| 167 | extern void drm_mm_put_block(struct drm_mm_node *cur); | 184 | extern void drm_mm_put_block(struct drm_mm_node *cur); |
| 168 | extern void drm_mm_remove_node(struct drm_mm_node *node); | 185 | extern void drm_mm_remove_node(struct drm_mm_node *node); |
| 169 | extern void drm_mm_replace_node(struct drm_mm_node *old, struct drm_mm_node *new); | 186 | extern void drm_mm_replace_node(struct drm_mm_node *old, struct drm_mm_node *new); |
diff --git a/include/drm/exynos_drm.h b/include/drm/exynos_drm.h index 808dad29607..d6aeaf3c6d6 100644 --- a/include/drm/exynos_drm.h +++ b/include/drm/exynos_drm.h | |||
| @@ -6,24 +6,10 @@ | |||
| 6 | * Joonyoung Shim <jy0922.shim@samsung.com> | 6 | * Joonyoung Shim <jy0922.shim@samsung.com> |
| 7 | * Seung-Woo Kim <sw0312.kim@samsung.com> | 7 | * Seung-Woo Kim <sw0312.kim@samsung.com> |
| 8 | * | 8 | * |
| 9 | * Permission is hereby granted, free of charge, to any person obtaining a | 9 | * This program is free software; you can redistribute it and/or modify it |
| 10 | * copy of this software and associated documentation files (the "Software"), | 10 | * under the terms of the GNU General Public License as published by the |
| 11 | * to deal in the Software without restriction, including without limitation | 11 | * Free Software Foundation; either version 2 of the License, or (at your |
| 12 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, | 12 | * option) any later version. |
| 13 | * and/or sell copies of the Software, and to permit persons to whom the | ||
| 14 | * Software is furnished to do so, subject to the following conditions: | ||
| 15 | * | ||
| 16 | * The above copyright notice and this permission notice (including the next | ||
| 17 | * paragraph) shall be included in all copies or substantial portions of the | ||
| 18 | * Software. | ||
| 19 | * | ||
| 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
| 23 | * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||
| 24 | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
| 25 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
| 26 | * OTHER DEALINGS IN THE SOFTWARE. | ||
| 27 | */ | 13 | */ |
| 28 | #ifndef _EXYNOS_DRM_H_ | 14 | #ifndef _EXYNOS_DRM_H_ |
| 29 | #define _EXYNOS_DRM_H_ | 15 | #define _EXYNOS_DRM_H_ |
diff --git a/include/linux/Kbuild b/include/linux/Kbuild deleted file mode 100644 index 7fe2dae251e..00000000000 --- a/include/linux/Kbuild +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | header-y += dvb/ | ||
| 2 | header-y += hdlc/ | ||
| 3 | header-y += hsi/ | ||
| 4 | header-y += raid/ | ||
| 5 | header-y += usb/ | ||
diff --git a/include/linux/ata_platform.h b/include/linux/ata_platform.h index fe9989636b6..b9fde17f767 100644 --- a/include/linux/ata_platform.h +++ b/include/linux/ata_platform.h | |||
| @@ -15,12 +15,12 @@ struct pata_platform_info { | |||
| 15 | unsigned int irq_flags; | 15 | unsigned int irq_flags; |
| 16 | }; | 16 | }; |
| 17 | 17 | ||
| 18 | extern int __devinit __pata_platform_probe(struct device *dev, | 18 | extern int __pata_platform_probe(struct device *dev, |
| 19 | struct resource *io_res, | 19 | struct resource *io_res, |
| 20 | struct resource *ctl_res, | 20 | struct resource *ctl_res, |
| 21 | struct resource *irq_res, | 21 | struct resource *irq_res, |
| 22 | unsigned int ioport_shift, | 22 | unsigned int ioport_shift, |
| 23 | int __pio_mask); | 23 | int __pio_mask); |
| 24 | 24 | ||
| 25 | /* | 25 | /* |
| 26 | * Marvell SATA private data | 26 | * Marvell SATA private data |
diff --git a/include/linux/bcma/bcma_driver_gmac_cmn.h b/include/linux/bcma/bcma_driver_gmac_cmn.h index def894b83b0..4dd1f33e36a 100644 --- a/include/linux/bcma/bcma_driver_gmac_cmn.h +++ b/include/linux/bcma/bcma_driver_gmac_cmn.h | |||
| @@ -92,7 +92,7 @@ struct bcma_drv_gmac_cmn { | |||
| 92 | #define gmac_cmn_write32(gc, offset, val) bcma_write32((gc)->core, offset, val) | 92 | #define gmac_cmn_write32(gc, offset, val) bcma_write32((gc)->core, offset, val) |
| 93 | 93 | ||
| 94 | #ifdef CONFIG_BCMA_DRIVER_GMAC_CMN | 94 | #ifdef CONFIG_BCMA_DRIVER_GMAC_CMN |
| 95 | extern void __devinit bcma_core_gmac_cmn_init(struct bcma_drv_gmac_cmn *gc); | 95 | extern void bcma_core_gmac_cmn_init(struct bcma_drv_gmac_cmn *gc); |
| 96 | #else | 96 | #else |
| 97 | static inline void bcma_core_gmac_cmn_init(struct bcma_drv_gmac_cmn *gc) { } | 97 | static inline void bcma_core_gmac_cmn_init(struct bcma_drv_gmac_cmn *gc) { } |
| 98 | #endif | 98 | #endif |
diff --git a/include/linux/bcma/bcma_driver_pci.h b/include/linux/bcma/bcma_driver_pci.h index 41da581e161..c48d98d27b7 100644 --- a/include/linux/bcma/bcma_driver_pci.h +++ b/include/linux/bcma/bcma_driver_pci.h | |||
| @@ -214,7 +214,7 @@ struct bcma_drv_pci { | |||
| 214 | #define pcicore_write16(pc, offset, val) bcma_write16((pc)->core, offset, val) | 214 | #define pcicore_write16(pc, offset, val) bcma_write16((pc)->core, offset, val) |
| 215 | #define pcicore_write32(pc, offset, val) bcma_write32((pc)->core, offset, val) | 215 | #define pcicore_write32(pc, offset, val) bcma_write32((pc)->core, offset, val) |
| 216 | 216 | ||
| 217 | extern void __devinit bcma_core_pci_init(struct bcma_drv_pci *pc); | 217 | extern void bcma_core_pci_init(struct bcma_drv_pci *pc); |
| 218 | extern int bcma_core_pci_irq_ctl(struct bcma_drv_pci *pc, | 218 | extern int bcma_core_pci_irq_ctl(struct bcma_drv_pci *pc, |
| 219 | struct bcma_device *core, bool enable); | 219 | struct bcma_device *core, bool enable); |
| 220 | extern void bcma_core_pci_extend_L1timer(struct bcma_drv_pci *pc, bool extend); | 220 | extern void bcma_core_pci_extend_L1timer(struct bcma_drv_pci *pc, bool extend); |
diff --git a/include/linux/cred.h b/include/linux/cred.h index abb2cd50f6b..04421e82536 100644 --- a/include/linux/cred.h +++ b/include/linux/cred.h | |||
| @@ -128,7 +128,6 @@ struct cred { | |||
| 128 | struct key *process_keyring; /* keyring private to this process */ | 128 | struct key *process_keyring; /* keyring private to this process */ |
| 129 | struct key *thread_keyring; /* keyring private to this thread */ | 129 | struct key *thread_keyring; /* keyring private to this thread */ |
| 130 | struct key *request_key_auth; /* assumed request_key authority */ | 130 | struct key *request_key_auth; /* assumed request_key authority */ |
| 131 | struct thread_group_cred *tgcred; /* thread-group shared credentials */ | ||
| 132 | #endif | 131 | #endif |
| 133 | #ifdef CONFIG_SECURITY | 132 | #ifdef CONFIG_SECURITY |
| 134 | void *security; /* subjective LSM security */ | 133 | void *security; /* subjective LSM security */ |
diff --git a/include/linux/hdlc/Kbuild b/include/linux/hdlc/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/linux/hdlc/Kbuild +++ /dev/null | |||
diff --git a/include/linux/hsi/Kbuild b/include/linux/hsi/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/linux/hsi/Kbuild +++ /dev/null | |||
diff --git a/include/linux/ipc_namespace.h b/include/linux/ipc_namespace.h index fe771978e87..ae221a7b509 100644 --- a/include/linux/ipc_namespace.h +++ b/include/linux/ipc_namespace.h | |||
| @@ -24,6 +24,7 @@ struct ipc_ids { | |||
| 24 | unsigned short seq_max; | 24 | unsigned short seq_max; |
| 25 | struct rw_semaphore rw_mutex; | 25 | struct rw_semaphore rw_mutex; |
| 26 | struct idr ipcs_idr; | 26 | struct idr ipcs_idr; |
| 27 | int next_id; | ||
| 27 | }; | 28 | }; |
| 28 | 29 | ||
| 29 | struct ipc_namespace { | 30 | struct ipc_namespace { |
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index 1be23d9fdac..e30b6634694 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h | |||
| @@ -1098,7 +1098,7 @@ void jbd2_journal_set_triggers(struct buffer_head *, | |||
| 1098 | extern int jbd2_journal_dirty_metadata (handle_t *, struct buffer_head *); | 1098 | extern int jbd2_journal_dirty_metadata (handle_t *, struct buffer_head *); |
| 1099 | extern int jbd2_journal_forget (handle_t *, struct buffer_head *); | 1099 | extern int jbd2_journal_forget (handle_t *, struct buffer_head *); |
| 1100 | extern void journal_sync_buffer (struct buffer_head *); | 1100 | extern void journal_sync_buffer (struct buffer_head *); |
| 1101 | extern void jbd2_journal_invalidatepage(journal_t *, | 1101 | extern int jbd2_journal_invalidatepage(journal_t *, |
| 1102 | struct page *, unsigned long); | 1102 | struct page *, unsigned long); |
| 1103 | extern int jbd2_journal_try_to_free_buffers(journal_t *, struct page *, gfp_t); | 1103 | extern int jbd2_journal_try_to_free_buffers(journal_t *, struct page *, gfp_t); |
| 1104 | extern int jbd2_journal_stop(handle_t *); | 1104 | extern int jbd2_journal_stop(handle_t *); |
diff --git a/include/linux/mempolicy.h b/include/linux/mempolicy.h index 9adc270de7e..0d7df39a588 100644 --- a/include/linux/mempolicy.h +++ b/include/linux/mempolicy.h | |||
| @@ -123,7 +123,7 @@ struct sp_node { | |||
| 123 | 123 | ||
| 124 | struct shared_policy { | 124 | struct shared_policy { |
| 125 | struct rb_root root; | 125 | struct rb_root root; |
| 126 | struct mutex mutex; | 126 | spinlock_t lock; |
| 127 | }; | 127 | }; |
| 128 | 128 | ||
| 129 | void mpol_shared_policy_init(struct shared_policy *sp, struct mempolicy *mpol); | 129 | void mpol_shared_policy_init(struct shared_policy *sp, struct mempolicy *mpol); |
| @@ -165,11 +165,10 @@ int do_migrate_pages(struct mm_struct *mm, const nodemask_t *from, | |||
| 165 | 165 | ||
| 166 | 166 | ||
| 167 | #ifdef CONFIG_TMPFS | 167 | #ifdef CONFIG_TMPFS |
| 168 | extern int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context); | 168 | extern int mpol_parse_str(char *str, struct mempolicy **mpol); |
| 169 | #endif | 169 | #endif |
| 170 | 170 | ||
| 171 | extern int mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol, | 171 | extern int mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol); |
| 172 | int no_context); | ||
| 173 | 172 | ||
| 174 | /* Check if a vma is migratable */ | 173 | /* Check if a vma is migratable */ |
| 175 | static inline int vma_migratable(struct vm_area_struct *vma) | 174 | static inline int vma_migratable(struct vm_area_struct *vma) |
| @@ -296,15 +295,13 @@ static inline void check_highest_zone(int k) | |||
| 296 | } | 295 | } |
| 297 | 296 | ||
| 298 | #ifdef CONFIG_TMPFS | 297 | #ifdef CONFIG_TMPFS |
| 299 | static inline int mpol_parse_str(char *str, struct mempolicy **mpol, | 298 | static inline int mpol_parse_str(char *str, struct mempolicy **mpol) |
| 300 | int no_context) | ||
| 301 | { | 299 | { |
| 302 | return 1; /* error */ | 300 | return 1; /* error */ |
| 303 | } | 301 | } |
| 304 | #endif | 302 | #endif |
| 305 | 303 | ||
| 306 | static inline int mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol, | 304 | static inline int mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol) |
| 307 | int no_context) | ||
| 308 | { | 305 | { |
| 309 | return 0; | 306 | return 0; |
| 310 | } | 307 | } |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 4bec5be82ca..73b64a38b98 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
| @@ -503,14 +503,6 @@ struct zone { | |||
| 503 | * rarely used fields: | 503 | * rarely used fields: |
| 504 | */ | 504 | */ |
| 505 | const char *name; | 505 | const char *name; |
| 506 | #ifdef CONFIG_MEMORY_ISOLATION | ||
| 507 | /* | ||
| 508 | * the number of MIGRATE_ISOLATE *pageblock*. | ||
| 509 | * We need this for free page counting. Look at zone_watermark_ok_safe. | ||
| 510 | * It's protected by zone->lock | ||
| 511 | */ | ||
| 512 | int nr_pageblock_isolate; | ||
| 513 | #endif | ||
| 514 | } ____cacheline_internodealigned_in_smp; | 506 | } ____cacheline_internodealigned_in_smp; |
| 515 | 507 | ||
| 516 | typedef enum { | 508 | typedef enum { |
diff --git a/include/linux/msg.h b/include/linux/msg.h index 7a4b9e97d29..391af8d11cc 100644 --- a/include/linux/msg.h +++ b/include/linux/msg.h | |||
| @@ -34,7 +34,9 @@ struct msg_queue { | |||
| 34 | /* Helper routines for sys_msgsnd and sys_msgrcv */ | 34 | /* Helper routines for sys_msgsnd and sys_msgrcv */ |
| 35 | extern long do_msgsnd(int msqid, long mtype, void __user *mtext, | 35 | extern long do_msgsnd(int msqid, long mtype, void __user *mtext, |
| 36 | size_t msgsz, int msgflg); | 36 | size_t msgsz, int msgflg); |
| 37 | extern long do_msgrcv(int msqid, long *pmtype, void __user *mtext, | 37 | extern long do_msgrcv(int msqid, void __user *buf, size_t bufsz, long msgtyp, |
| 38 | size_t msgsz, long msgtyp, int msgflg); | 38 | int msgflg, |
| 39 | long (*msg_fill)(void __user *, struct msg_msg *, | ||
| 40 | size_t)); | ||
| 39 | 41 | ||
| 40 | #endif /* _LINUX_MSG_H */ | 42 | #endif /* _LINUX_MSG_H */ |
diff --git a/include/linux/namei.h b/include/linux/namei.h index e998c030061..5a5ff57ceed 100644 --- a/include/linux/namei.h +++ b/include/linux/namei.h | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | #define _LINUX_NAMEI_H | 2 | #define _LINUX_NAMEI_H |
| 3 | 3 | ||
| 4 | #include <linux/dcache.h> | 4 | #include <linux/dcache.h> |
| 5 | #include <linux/errno.h> | ||
| 5 | #include <linux/linkage.h> | 6 | #include <linux/linkage.h> |
| 6 | #include <linux/path.h> | 7 | #include <linux/path.h> |
| 7 | 8 | ||
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 02e0f6b156c..c599e4782d4 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -1576,7 +1576,7 @@ extern int call_netdevice_notifiers(unsigned long val, struct net_device *dev); | |||
| 1576 | 1576 | ||
| 1577 | extern rwlock_t dev_base_lock; /* Device list lock */ | 1577 | extern rwlock_t dev_base_lock; /* Device list lock */ |
| 1578 | 1578 | ||
| 1579 | extern seqlock_t devnet_rename_seq; /* Device rename lock */ | 1579 | extern seqcount_t devnet_rename_seq; /* Device rename seq */ |
| 1580 | 1580 | ||
| 1581 | 1581 | ||
| 1582 | #define for_each_netdev(net, d) \ | 1582 | #define for_each_netdev(net, d) \ |
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index b5d13841604..70473da47b3 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h | |||
| @@ -362,7 +362,7 @@ static inline void ClearPageCompound(struct page *page) | |||
| 362 | * pages on the LRU and/or pagecache. | 362 | * pages on the LRU and/or pagecache. |
| 363 | */ | 363 | */ |
| 364 | TESTPAGEFLAG(Compound, compound) | 364 | TESTPAGEFLAG(Compound, compound) |
| 365 | __PAGEFLAG(Head, compound) | 365 | __SETPAGEFLAG(Head, compound) __CLEARPAGEFLAG(Head, compound) |
| 366 | 366 | ||
| 367 | /* | 367 | /* |
| 368 | * PG_reclaim is used in combination with PG_compound to mark the | 368 | * PG_reclaim is used in combination with PG_compound to mark the |
| @@ -374,8 +374,14 @@ __PAGEFLAG(Head, compound) | |||
| 374 | * PG_compound & PG_reclaim => Tail page | 374 | * PG_compound & PG_reclaim => Tail page |
| 375 | * PG_compound & ~PG_reclaim => Head page | 375 | * PG_compound & ~PG_reclaim => Head page |
| 376 | */ | 376 | */ |
| 377 | #define PG_head_mask ((1L << PG_compound)) | ||
| 377 | #define PG_head_tail_mask ((1L << PG_compound) | (1L << PG_reclaim)) | 378 | #define PG_head_tail_mask ((1L << PG_compound) | (1L << PG_reclaim)) |
| 378 | 379 | ||
| 380 | static inline int PageHead(struct page *page) | ||
| 381 | { | ||
| 382 | return ((page->flags & PG_head_tail_mask) == PG_head_mask); | ||
| 383 | } | ||
| 384 | |||
| 379 | static inline int PageTail(struct page *page) | 385 | static inline int PageTail(struct page *page) |
| 380 | { | 386 | { |
| 381 | return ((page->flags & PG_head_tail_mask) == PG_head_tail_mask); | 387 | return ((page->flags & PG_head_tail_mask) == PG_head_tail_mask); |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 0f8447376dd..0eb65796bcb 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
| @@ -1568,6 +1568,7 @@ | |||
| 1568 | #define PCI_DEVICE_ID_RICOH_RL5C476 0x0476 | 1568 | #define PCI_DEVICE_ID_RICOH_RL5C476 0x0476 |
| 1569 | #define PCI_DEVICE_ID_RICOH_RL5C478 0x0478 | 1569 | #define PCI_DEVICE_ID_RICOH_RL5C478 0x0478 |
| 1570 | #define PCI_DEVICE_ID_RICOH_R5C822 0x0822 | 1570 | #define PCI_DEVICE_ID_RICOH_R5C822 0x0822 |
| 1571 | #define PCI_DEVICE_ID_RICOH_R5CE822 0xe822 | ||
| 1571 | #define PCI_DEVICE_ID_RICOH_R5CE823 0xe823 | 1572 | #define PCI_DEVICE_ID_RICOH_R5CE823 0xe823 |
| 1572 | #define PCI_DEVICE_ID_RICOH_R5C832 0x0832 | 1573 | #define PCI_DEVICE_ID_RICOH_R5C832 0x0832 |
| 1573 | #define PCI_DEVICE_ID_RICOH_R5C843 0x0843 | 1574 | #define PCI_DEVICE_ID_RICOH_R5C843 0x0843 |
diff --git a/include/linux/pid.h b/include/linux/pid.h index b152d44fb18..2381c973d89 100644 --- a/include/linux/pid.h +++ b/include/linux/pid.h | |||
| @@ -121,6 +121,7 @@ int next_pidmap(struct pid_namespace *pid_ns, unsigned int last); | |||
| 121 | 121 | ||
| 122 | extern struct pid *alloc_pid(struct pid_namespace *ns); | 122 | extern struct pid *alloc_pid(struct pid_namespace *ns); |
| 123 | extern void free_pid(struct pid *pid); | 123 | extern void free_pid(struct pid *pid); |
| 124 | extern void disable_pid_allocation(struct pid_namespace *ns); | ||
| 124 | 125 | ||
| 125 | /* | 126 | /* |
| 126 | * ns_of_pid() returns the pid namespace in which the specified pid was | 127 | * ns_of_pid() returns the pid namespace in which the specified pid was |
diff --git a/include/linux/pid_namespace.h b/include/linux/pid_namespace.h index bf285999273..215e5e3dda1 100644 --- a/include/linux/pid_namespace.h +++ b/include/linux/pid_namespace.h | |||
| @@ -21,7 +21,7 @@ struct pid_namespace { | |||
| 21 | struct kref kref; | 21 | struct kref kref; |
| 22 | struct pidmap pidmap[PIDMAP_ENTRIES]; | 22 | struct pidmap pidmap[PIDMAP_ENTRIES]; |
| 23 | int last_pid; | 23 | int last_pid; |
| 24 | int nr_hashed; | 24 | unsigned int nr_hashed; |
| 25 | struct task_struct *child_reaper; | 25 | struct task_struct *child_reaper; |
| 26 | struct kmem_cache *pid_cachep; | 26 | struct kmem_cache *pid_cachep; |
| 27 | unsigned int level; | 27 | unsigned int level; |
| @@ -42,6 +42,8 @@ struct pid_namespace { | |||
| 42 | 42 | ||
| 43 | extern struct pid_namespace init_pid_ns; | 43 | extern struct pid_namespace init_pid_ns; |
| 44 | 44 | ||
| 45 | #define PIDNS_HASH_ADDING (1U << 31) | ||
| 46 | |||
| 45 | #ifdef CONFIG_PID_NS | 47 | #ifdef CONFIG_PID_NS |
| 46 | static inline struct pid_namespace *get_pid_ns(struct pid_namespace *ns) | 48 | static inline struct pid_namespace *get_pid_ns(struct pid_namespace *ns) |
| 47 | { | 49 | { |
diff --git a/include/linux/pstore_ram.h b/include/linux/pstore_ram.h index 098d2a83829..cb6ab5feab6 100644 --- a/include/linux/pstore_ram.h +++ b/include/linux/pstore_ram.h | |||
| @@ -46,9 +46,8 @@ struct persistent_ram_zone { | |||
| 46 | size_t old_log_size; | 46 | size_t old_log_size; |
| 47 | }; | 47 | }; |
| 48 | 48 | ||
| 49 | struct persistent_ram_zone * __devinit persistent_ram_new(phys_addr_t start, | 49 | struct persistent_ram_zone *persistent_ram_new(phys_addr_t start, size_t size, |
| 50 | size_t size, u32 sig, | 50 | u32 sig, int ecc_size); |
| 51 | int ecc_size); | ||
| 52 | void persistent_ram_free(struct persistent_ram_zone *prz); | 51 | void persistent_ram_free(struct persistent_ram_zone *prz); |
| 53 | void persistent_ram_zap(struct persistent_ram_zone *prz); | 52 | void persistent_ram_zap(struct persistent_ram_zone *prz); |
| 54 | 53 | ||
diff --git a/include/linux/raid/Kbuild b/include/linux/raid/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/linux/raid/Kbuild +++ /dev/null | |||
diff --git a/include/linux/usb/Kbuild b/include/linux/usb/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/linux/usb/Kbuild +++ /dev/null | |||
diff --git a/include/net/netns/conntrack.h b/include/net/netns/conntrack.h index a1d83cc8bf8..923cb20051e 100644 --- a/include/net/netns/conntrack.h +++ b/include/net/netns/conntrack.h | |||
| @@ -71,6 +71,7 @@ struct netns_ct { | |||
| 71 | struct hlist_head *expect_hash; | 71 | struct hlist_head *expect_hash; |
| 72 | struct hlist_nulls_head unconfirmed; | 72 | struct hlist_nulls_head unconfirmed; |
| 73 | struct hlist_nulls_head dying; | 73 | struct hlist_nulls_head dying; |
| 74 | struct hlist_nulls_head tmpl; | ||
| 74 | struct ip_conntrack_stat __percpu *stat; | 75 | struct ip_conntrack_stat __percpu *stat; |
| 75 | struct nf_ct_event_notifier __rcu *nf_conntrack_event_cb; | 76 | struct nf_ct_event_notifier __rcu *nf_conntrack_event_cb; |
| 76 | struct nf_exp_event_notifier __rcu *nf_expect_event_cb; | 77 | struct nf_exp_event_notifier __rcu *nf_expect_event_cb; |
diff --git a/include/net/netns/x_tables.h b/include/net/netns/x_tables.h index 591db7d657a..c24060ee411 100644 --- a/include/net/netns/x_tables.h +++ b/include/net/netns/x_tables.h | |||
| @@ -8,6 +8,7 @@ struct ebt_table; | |||
| 8 | 8 | ||
| 9 | struct netns_xt { | 9 | struct netns_xt { |
| 10 | struct list_head tables[NFPROTO_NUMPROTO]; | 10 | struct list_head tables[NFPROTO_NUMPROTO]; |
| 11 | bool notrack_deprecated_warning; | ||
| 11 | #if defined(CONFIG_BRIDGE_NF_EBTABLES) || \ | 12 | #if defined(CONFIG_BRIDGE_NF_EBTABLES) || \ |
| 12 | defined(CONFIG_BRIDGE_NF_EBTABLES_MODULE) | 13 | defined(CONFIG_BRIDGE_NF_EBTABLES_MODULE) |
| 13 | struct ebt_table *broute_table; | 14 | struct ebt_table *broute_table; |
diff --git a/include/net/sock.h b/include/net/sock.h index 93a6745bfdb..182ca99405a 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
| @@ -367,7 +367,7 @@ struct sock { | |||
| 367 | unsigned short sk_ack_backlog; | 367 | unsigned short sk_ack_backlog; |
| 368 | unsigned short sk_max_ack_backlog; | 368 | unsigned short sk_max_ack_backlog; |
| 369 | __u32 sk_priority; | 369 | __u32 sk_priority; |
| 370 | #ifdef CONFIG_CGROUPS | 370 | #if IS_ENABLED(CONFIG_NETPRIO_CGROUP) |
| 371 | __u32 sk_cgrp_prioidx; | 371 | __u32 sk_cgrp_prioidx; |
| 372 | #endif | 372 | #endif |
| 373 | struct pid *sk_peer_pid; | 373 | struct pid *sk_peer_pid; |
diff --git a/include/rdma/Kbuild b/include/rdma/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/rdma/Kbuild +++ /dev/null | |||
diff --git a/include/sound/Kbuild b/include/sound/Kbuild deleted file mode 100644 index e69de29bb2d..00000000000 --- a/include/sound/Kbuild +++ /dev/null | |||
diff --git a/include/sound/cs4271.h b/include/sound/cs4271.h index 6d9e15ed1dc..dd8c48d14ed 100644 --- a/include/sound/cs4271.h +++ b/include/sound/cs4271.h | |||
| @@ -19,7 +19,7 @@ | |||
| 19 | 19 | ||
| 20 | struct cs4271_platform_data { | 20 | struct cs4271_platform_data { |
| 21 | int gpio_nreset; /* GPIO driving Reset pin, if any */ | 21 | int gpio_nreset; /* GPIO driving Reset pin, if any */ |
| 22 | int amutec_eq_bmutec:1; /* flag to enable AMUTEC=BMUTEC */ | 22 | bool amutec_eq_bmutec; /* flag to enable AMUTEC=BMUTEC */ |
| 23 | }; | 23 | }; |
| 24 | 24 | ||
| 25 | #endif /* __CS4271_H */ | 25 | #endif /* __CS4271_H */ |
diff --git a/include/sound/soc.h b/include/sound/soc.h index 769e27c774a..bc56738cb10 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h | |||
| @@ -58,8 +58,9 @@ | |||
| 58 | .info = snd_soc_info_volsw_range, .get = snd_soc_get_volsw_range, \ | 58 | .info = snd_soc_info_volsw_range, .get = snd_soc_get_volsw_range, \ |
| 59 | .put = snd_soc_put_volsw_range, \ | 59 | .put = snd_soc_put_volsw_range, \ |
| 60 | .private_value = (unsigned long)&(struct soc_mixer_control) \ | 60 | .private_value = (unsigned long)&(struct soc_mixer_control) \ |
| 61 | {.reg = xreg, .shift = xshift, .min = xmin,\ | 61 | {.reg = xreg, .rreg = xreg, .shift = xshift, \ |
| 62 | .max = xmax, .platform_max = xmax, .invert = xinvert} } | 62 | .rshift = xshift, .min = xmin, .max = xmax, \ |
| 63 | .platform_max = xmax, .invert = xinvert} } | ||
| 63 | #define SOC_SINGLE_TLV(xname, reg, shift, max, invert, tlv_array) \ | 64 | #define SOC_SINGLE_TLV(xname, reg, shift, max, invert, tlv_array) \ |
| 64 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ | 65 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ |
| 65 | .access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\ | 66 | .access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\ |
| @@ -88,8 +89,9 @@ | |||
| 88 | .info = snd_soc_info_volsw_range, \ | 89 | .info = snd_soc_info_volsw_range, \ |
| 89 | .get = snd_soc_get_volsw_range, .put = snd_soc_put_volsw_range, \ | 90 | .get = snd_soc_get_volsw_range, .put = snd_soc_put_volsw_range, \ |
| 90 | .private_value = (unsigned long)&(struct soc_mixer_control) \ | 91 | .private_value = (unsigned long)&(struct soc_mixer_control) \ |
| 91 | {.reg = xreg, .shift = xshift, .min = xmin,\ | 92 | {.reg = xreg, .rreg = xreg, .shift = xshift, \ |
| 92 | .max = xmax, .platform_max = xmax, .invert = xinvert} } | 93 | .rshift = xshift, .min = xmin, .max = xmax, \ |
| 94 | .platform_max = xmax, .invert = xinvert} } | ||
| 93 | #define SOC_DOUBLE(xname, reg, shift_left, shift_right, max, invert) \ | 95 | #define SOC_DOUBLE(xname, reg, shift_left, shift_right, max, invert) \ |
| 94 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname),\ | 96 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname),\ |
| 95 | .info = snd_soc_info_volsw, .get = snd_soc_get_volsw, \ | 97 | .info = snd_soc_info_volsw, .get = snd_soc_get_volsw, \ |
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index f6372b01136..7e8c36bc708 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h | |||
| @@ -451,7 +451,7 @@ DEFINE_EVENT(ext4__page_op, ext4_releasepage, | |||
| 451 | TP_ARGS(page) | 451 | TP_ARGS(page) |
| 452 | ); | 452 | ); |
| 453 | 453 | ||
| 454 | TRACE_EVENT(ext4_invalidatepage, | 454 | DECLARE_EVENT_CLASS(ext4_invalidatepage_op, |
| 455 | TP_PROTO(struct page *page, unsigned long offset), | 455 | TP_PROTO(struct page *page, unsigned long offset), |
| 456 | 456 | ||
| 457 | TP_ARGS(page, offset), | 457 | TP_ARGS(page, offset), |
| @@ -477,6 +477,18 @@ TRACE_EVENT(ext4_invalidatepage, | |||
| 477 | (unsigned long) __entry->index, __entry->offset) | 477 | (unsigned long) __entry->index, __entry->offset) |
| 478 | ); | 478 | ); |
| 479 | 479 | ||
| 480 | DEFINE_EVENT(ext4_invalidatepage_op, ext4_invalidatepage, | ||
| 481 | TP_PROTO(struct page *page, unsigned long offset), | ||
| 482 | |||
| 483 | TP_ARGS(page, offset) | ||
| 484 | ); | ||
| 485 | |||
| 486 | DEFINE_EVENT(ext4_invalidatepage_op, ext4_journalled_invalidatepage, | ||
| 487 | TP_PROTO(struct page *page, unsigned long offset), | ||
| 488 | |||
| 489 | TP_ARGS(page, offset) | ||
| 490 | ); | ||
| 491 | |||
| 480 | TRACE_EVENT(ext4_discard_blocks, | 492 | TRACE_EVENT(ext4_discard_blocks, |
| 481 | TP_PROTO(struct super_block *sb, unsigned long long blk, | 493 | TP_PROTO(struct super_block *sb, unsigned long long blk, |
| 482 | unsigned long long count), | 494 | unsigned long long count), |
diff --git a/include/uapi/drm/exynos_drm.h b/include/uapi/drm/exynos_drm.h index e7f52c33400..d5844122ff3 100644 --- a/include/uapi/drm/exynos_drm.h +++ b/include/uapi/drm/exynos_drm.h | |||
| @@ -6,24 +6,10 @@ | |||
| 6 | * Joonyoung Shim <jy0922.shim@samsung.com> | 6 | * Joonyoung Shim <jy0922.shim@samsung.com> |
| 7 | * Seung-Woo Kim <sw0312.kim@samsung.com> | 7 | * Seung-Woo Kim <sw0312.kim@samsung.com> |
| 8 | * | 8 | * |
| 9 | * Permission is hereby granted, free of charge, to any person obtaining a | 9 | * This program is free software; you can redistribute it and/or modify it |
| 10 | * copy of this software and associated documentation files (the "Software"), | 10 | * under the terms of the GNU General Public License as published by the |
| 11 | * to deal in the Software without restriction, including without limitation | 11 | * Free Software Foundation; either version 2 of the License, or (at your |
| 12 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, | 12 | * option) any later version. |
| 13 | * and/or sell copies of the Software, and to permit persons to whom the | ||
| 14 | * Software is furnished to do so, subject to the following conditions: | ||
| 15 | * | ||
| 16 | * The above copyright notice and this permission notice (including the next | ||
| 17 | * paragraph) shall be included in all copies or substantial portions of the | ||
| 18 | * Software. | ||
| 19 | * | ||
| 20 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 21 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 22 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
| 23 | * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||
| 24 | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
| 25 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
| 26 | * OTHER DEALINGS IN THE SOFTWARE. | ||
| 27 | */ | 13 | */ |
| 28 | 14 | ||
| 29 | #ifndef _UAPI_EXYNOS_DRM_H_ | 15 | #ifndef _UAPI_EXYNOS_DRM_H_ |
| @@ -185,6 +171,8 @@ enum drm_exynos_flip { | |||
| 185 | EXYNOS_DRM_FLIP_NONE = (0 << 0), | 171 | EXYNOS_DRM_FLIP_NONE = (0 << 0), |
| 186 | EXYNOS_DRM_FLIP_VERTICAL = (1 << 0), | 172 | EXYNOS_DRM_FLIP_VERTICAL = (1 << 0), |
| 187 | EXYNOS_DRM_FLIP_HORIZONTAL = (1 << 1), | 173 | EXYNOS_DRM_FLIP_HORIZONTAL = (1 << 1), |
| 174 | EXYNOS_DRM_FLIP_BOTH = EXYNOS_DRM_FLIP_VERTICAL | | ||
| 175 | EXYNOS_DRM_FLIP_HORIZONTAL, | ||
| 188 | }; | 176 | }; |
| 189 | 177 | ||
| 190 | enum drm_exynos_degree { | 178 | enum drm_exynos_degree { |
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h index b746a3cf5fa..c4d2e9c7400 100644 --- a/include/uapi/drm/i915_drm.h +++ b/include/uapi/drm/i915_drm.h | |||
| @@ -307,6 +307,7 @@ typedef struct drm_i915_irq_wait { | |||
| 307 | #define I915_PARAM_HAS_PRIME_VMAP_FLUSH 21 | 307 | #define I915_PARAM_HAS_PRIME_VMAP_FLUSH 21 |
| 308 | #define I915_PARAM_RSVD_FOR_FUTURE_USE 22 | 308 | #define I915_PARAM_RSVD_FOR_FUTURE_USE 22 |
| 309 | #define I915_PARAM_HAS_SECURE_BATCHES 23 | 309 | #define I915_PARAM_HAS_SECURE_BATCHES 23 |
| 310 | #define I915_PARAM_HAS_PINNED_BATCHES 24 | ||
| 310 | 311 | ||
| 311 | typedef struct drm_i915_getparam { | 312 | typedef struct drm_i915_getparam { |
| 312 | int param; | 313 | int param; |
| @@ -677,6 +678,15 @@ struct drm_i915_gem_execbuffer2 { | |||
| 677 | */ | 678 | */ |
| 678 | #define I915_EXEC_SECURE (1<<9) | 679 | #define I915_EXEC_SECURE (1<<9) |
| 679 | 680 | ||
| 681 | /** Inform the kernel that the batch is and will always be pinned. This | ||
| 682 | * negates the requirement for a workaround to be performed to avoid | ||
| 683 | * an incoherent CS (such as can be found on 830/845). If this flag is | ||
| 684 | * not passed, the kernel will endeavour to make sure the batch is | ||
| 685 | * coherent with the CS before execution. If this flag is passed, | ||
| 686 | * userspace assumes the responsibility for ensuring the same. | ||
| 687 | */ | ||
| 688 | #define I915_EXEC_IS_PINNED (1<<10) | ||
| 689 | |||
| 680 | #define I915_EXEC_CONTEXT_ID_MASK (0xffffffff) | 690 | #define I915_EXEC_CONTEXT_ID_MASK (0xffffffff) |
| 681 | #define i915_execbuffer2_set_context_id(eb2, context) \ | 691 | #define i915_execbuffer2_set_context_id(eb2, context) \ |
| 682 | (eb2).rsvd1 = context & I915_EXEC_CONTEXT_ID_MASK | 692 | (eb2).rsvd1 = context & I915_EXEC_CONTEXT_ID_MASK |
diff --git a/include/uapi/linux/msg.h b/include/uapi/linux/msg.h index 78dbd2f996a..22d95c6854e 100644 --- a/include/uapi/linux/msg.h +++ b/include/uapi/linux/msg.h | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | /* msgrcv options */ | 10 | /* msgrcv options */ |
| 11 | #define MSG_NOERROR 010000 /* no error if message is too big */ | 11 | #define MSG_NOERROR 010000 /* no error if message is too big */ |
| 12 | #define MSG_EXCEPT 020000 /* recv any msg except of specified type.*/ | 12 | #define MSG_EXCEPT 020000 /* recv any msg except of specified type.*/ |
| 13 | #define MSG_COPY 040000 /* copy (not remove) all queue messages */ | ||
| 13 | 14 | ||
| 14 | /* Obsolete, used only for backwards compatibility and libc5 compiles */ | 15 | /* Obsolete, used only for backwards compatibility and libc5 compiles */ |
| 15 | struct msqid_ds { | 16 | struct msqid_ds { |
diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h index 6b7b6f1e2fd..ebfadc56d1b 100644 --- a/include/uapi/linux/pci_regs.h +++ b/include/uapi/linux/pci_regs.h | |||
| @@ -458,6 +458,8 @@ | |||
| 458 | #define PCI_EXP_DEVSTA_TRPND 0x20 /* Transactions Pending */ | 458 | #define PCI_EXP_DEVSTA_TRPND 0x20 /* Transactions Pending */ |
| 459 | #define PCI_EXP_LNKCAP 12 /* Link Capabilities */ | 459 | #define PCI_EXP_LNKCAP 12 /* Link Capabilities */ |
| 460 | #define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */ | 460 | #define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */ |
| 461 | #define PCI_EXP_LNKCAP_SLS_2_5GB 0x1 /* LNKCAP2 SLS Vector bit 0 (2.5GT/s) */ | ||
| 462 | #define PCI_EXP_LNKCAP_SLS_5_0GB 0x2 /* LNKCAP2 SLS Vector bit 1 (5.0GT/s) */ | ||
| 461 | #define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */ | 463 | #define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */ |
| 462 | #define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */ | 464 | #define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */ |
| 463 | #define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */ | 465 | #define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */ |
