diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/blkdev.h | 2 | ||||
| -rw-r--r-- | include/linux/compiler-gcc.h | 14 | ||||
| -rw-r--r-- | include/linux/compiler_types.h | 8 | ||||
| -rw-r--r-- | include/linux/fs.h | 5 | ||||
| -rw-r--r-- | include/linux/hid.h | 1 | ||||
| -rw-r--r-- | include/linux/kvm_host.h | 2 | ||||
| -rw-r--r-- | include/linux/mlx5/driver.h | 8 | ||||
| -rw-r--r-- | include/linux/mm_types.h | 2 | ||||
| -rw-r--r-- | include/linux/mm_types_task.h | 2 | ||||
| -rw-r--r-- | include/linux/mod_devicetable.h | 1 | ||||
| -rw-r--r-- | include/linux/pci.h | 3 | ||||
| -rw-r--r-- | include/linux/vga_switcheroo.h | 3 | ||||
| -rw-r--r-- | include/linux/vm_event_item.h | 1 | ||||
| -rw-r--r-- | include/linux/vmacache.h | 5 |
14 files changed, 28 insertions, 29 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index d6869e0e2b64..6980014357d4 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
| @@ -54,7 +54,7 @@ struct blk_stat_callback; | |||
| 54 | * Maximum number of blkcg policies allowed to be registered concurrently. | 54 | * Maximum number of blkcg policies allowed to be registered concurrently. |
| 55 | * Defined here to simplify include dependency. | 55 | * Defined here to simplify include dependency. |
| 56 | */ | 56 | */ |
| 57 | #define BLKCG_MAX_POLS 3 | 57 | #define BLKCG_MAX_POLS 5 |
| 58 | 58 | ||
| 59 | typedef void (rq_end_io_fn)(struct request *, blk_status_t); | 59 | typedef void (rq_end_io_fn)(struct request *, blk_status_t); |
| 60 | 60 | ||
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index 763bbad1e258..4d36b27214fd 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h | |||
| @@ -79,20 +79,6 @@ | |||
| 79 | #define __noretpoline __attribute__((indirect_branch("keep"))) | 79 | #define __noretpoline __attribute__((indirect_branch("keep"))) |
| 80 | #endif | 80 | #endif |
| 81 | 81 | ||
| 82 | /* | ||
| 83 | * it doesn't make sense on ARM (currently the only user of __naked) | ||
| 84 | * to trace naked functions because then mcount is called without | ||
| 85 | * stack and frame pointer being set up and there is no chance to | ||
| 86 | * restore the lr register to the value before mcount was called. | ||
| 87 | * | ||
| 88 | * The asm() bodies of naked functions often depend on standard calling | ||
| 89 | * conventions, therefore they must be noinline and noclone. | ||
| 90 | * | ||
| 91 | * GCC 4.[56] currently fail to enforce this, so we must do so ourselves. | ||
| 92 | * See GCC PR44290. | ||
| 93 | */ | ||
| 94 | #define __naked __attribute__((naked)) noinline __noclone notrace | ||
| 95 | |||
| 96 | #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) | 82 | #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) |
| 97 | 83 | ||
| 98 | #define __optimize(level) __attribute__((__optimize__(level))) | 84 | #define __optimize(level) __attribute__((__optimize__(level))) |
diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h index 3525c179698c..db192becfec4 100644 --- a/include/linux/compiler_types.h +++ b/include/linux/compiler_types.h | |||
| @@ -226,6 +226,14 @@ struct ftrace_likely_data { | |||
| 226 | #define notrace __attribute__((no_instrument_function)) | 226 | #define notrace __attribute__((no_instrument_function)) |
| 227 | #endif | 227 | #endif |
| 228 | 228 | ||
| 229 | /* | ||
| 230 | * it doesn't make sense on ARM (currently the only user of __naked) | ||
| 231 | * to trace naked functions because then mcount is called without | ||
| 232 | * stack and frame pointer being set up and there is no chance to | ||
| 233 | * restore the lr register to the value before mcount was called. | ||
| 234 | */ | ||
| 235 | #define __naked __attribute__((naked)) notrace | ||
| 236 | |||
| 229 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) | 237 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b) |
| 230 | 238 | ||
| 231 | /* | 239 | /* |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 33322702c910..6c0b4a1c22ff 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -1763,6 +1763,7 @@ struct file_operations { | |||
| 1763 | u64); | 1763 | u64); |
| 1764 | int (*dedupe_file_range)(struct file *, loff_t, struct file *, loff_t, | 1764 | int (*dedupe_file_range)(struct file *, loff_t, struct file *, loff_t, |
| 1765 | u64); | 1765 | u64); |
| 1766 | int (*fadvise)(struct file *, loff_t, loff_t, int); | ||
| 1766 | } __randomize_layout; | 1767 | } __randomize_layout; |
| 1767 | 1768 | ||
| 1768 | struct inode_operations { | 1769 | struct inode_operations { |
| @@ -3459,4 +3460,8 @@ static inline bool dir_relax_shared(struct inode *inode) | |||
| 3459 | extern bool path_noexec(const struct path *path); | 3460 | extern bool path_noexec(const struct path *path); |
| 3460 | extern void inode_nohighmem(struct inode *inode); | 3461 | extern void inode_nohighmem(struct inode *inode); |
| 3461 | 3462 | ||
| 3463 | /* mm/fadvise.c */ | ||
| 3464 | extern int vfs_fadvise(struct file *file, loff_t offset, loff_t len, | ||
| 3465 | int advice); | ||
| 3466 | |||
| 3462 | #endif /* _LINUX_FS_H */ | 3467 | #endif /* _LINUX_FS_H */ |
diff --git a/include/linux/hid.h b/include/linux/hid.h index 834e6461a690..d44a78362942 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h | |||
| @@ -526,6 +526,7 @@ struct hid_input { | |||
| 526 | const char *name; | 526 | const char *name; |
| 527 | bool registered; | 527 | bool registered; |
| 528 | struct list_head reports; /* the list of reports */ | 528 | struct list_head reports; /* the list of reports */ |
| 529 | unsigned int application; /* application usage for this input */ | ||
| 529 | }; | 530 | }; |
| 530 | 531 | ||
| 531 | enum hid_type { | 532 | enum hid_type { |
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 0205aee44ded..c926698040e0 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h | |||
| @@ -733,8 +733,6 @@ bool kvm_vcpu_wake_up(struct kvm_vcpu *vcpu); | |||
| 733 | void kvm_vcpu_kick(struct kvm_vcpu *vcpu); | 733 | void kvm_vcpu_kick(struct kvm_vcpu *vcpu); |
| 734 | int kvm_vcpu_yield_to(struct kvm_vcpu *target); | 734 | int kvm_vcpu_yield_to(struct kvm_vcpu *target); |
| 735 | void kvm_vcpu_on_spin(struct kvm_vcpu *vcpu, bool usermode_vcpu_not_eligible); | 735 | void kvm_vcpu_on_spin(struct kvm_vcpu *vcpu, bool usermode_vcpu_not_eligible); |
| 736 | void kvm_load_guest_fpu(struct kvm_vcpu *vcpu); | ||
| 737 | void kvm_put_guest_fpu(struct kvm_vcpu *vcpu); | ||
| 738 | 736 | ||
| 739 | void kvm_flush_remote_tlbs(struct kvm *kvm); | 737 | void kvm_flush_remote_tlbs(struct kvm *kvm); |
| 740 | void kvm_reload_remote_mmus(struct kvm *kvm); | 738 | void kvm_reload_remote_mmus(struct kvm *kvm); |
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index 7a452716de4b..66d94b4557cf 100644 --- a/include/linux/mlx5/driver.h +++ b/include/linux/mlx5/driver.h | |||
| @@ -362,8 +362,8 @@ struct mlx5_frag_buf { | |||
| 362 | struct mlx5_frag_buf_ctrl { | 362 | struct mlx5_frag_buf_ctrl { |
| 363 | struct mlx5_frag_buf frag_buf; | 363 | struct mlx5_frag_buf frag_buf; |
| 364 | u32 sz_m1; | 364 | u32 sz_m1; |
| 365 | u32 frag_sz_m1; | 365 | u16 frag_sz_m1; |
| 366 | u32 strides_offset; | 366 | u16 strides_offset; |
| 367 | u8 log_sz; | 367 | u8 log_sz; |
| 368 | u8 log_stride; | 368 | u8 log_stride; |
| 369 | u8 log_frag_strides; | 369 | u8 log_frag_strides; |
| @@ -995,7 +995,7 @@ static inline u32 mlx5_base_mkey(const u32 key) | |||
| 995 | } | 995 | } |
| 996 | 996 | ||
| 997 | static inline void mlx5_fill_fbc_offset(u8 log_stride, u8 log_sz, | 997 | static inline void mlx5_fill_fbc_offset(u8 log_stride, u8 log_sz, |
| 998 | u32 strides_offset, | 998 | u16 strides_offset, |
| 999 | struct mlx5_frag_buf_ctrl *fbc) | 999 | struct mlx5_frag_buf_ctrl *fbc) |
| 1000 | { | 1000 | { |
| 1001 | fbc->log_stride = log_stride; | 1001 | fbc->log_stride = log_stride; |
| @@ -1052,7 +1052,7 @@ int mlx5_cmd_free_uar(struct mlx5_core_dev *dev, u32 uarn); | |||
| 1052 | void mlx5_health_cleanup(struct mlx5_core_dev *dev); | 1052 | void mlx5_health_cleanup(struct mlx5_core_dev *dev); |
| 1053 | int mlx5_health_init(struct mlx5_core_dev *dev); | 1053 | int mlx5_health_init(struct mlx5_core_dev *dev); |
| 1054 | void mlx5_start_health_poll(struct mlx5_core_dev *dev); | 1054 | void mlx5_start_health_poll(struct mlx5_core_dev *dev); |
| 1055 | void mlx5_stop_health_poll(struct mlx5_core_dev *dev); | 1055 | void mlx5_stop_health_poll(struct mlx5_core_dev *dev, bool disable_health); |
| 1056 | void mlx5_drain_health_wq(struct mlx5_core_dev *dev); | 1056 | void mlx5_drain_health_wq(struct mlx5_core_dev *dev); |
| 1057 | void mlx5_trigger_health_work(struct mlx5_core_dev *dev); | 1057 | void mlx5_trigger_health_work(struct mlx5_core_dev *dev); |
| 1058 | void mlx5_drain_health_recovery(struct mlx5_core_dev *dev); | 1058 | void mlx5_drain_health_recovery(struct mlx5_core_dev *dev); |
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index cd2bc939efd0..5ed8f6292a53 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
| @@ -341,7 +341,7 @@ struct mm_struct { | |||
| 341 | struct { | 341 | struct { |
| 342 | struct vm_area_struct *mmap; /* list of VMAs */ | 342 | struct vm_area_struct *mmap; /* list of VMAs */ |
| 343 | struct rb_root mm_rb; | 343 | struct rb_root mm_rb; |
| 344 | u32 vmacache_seqnum; /* per-thread vmacache */ | 344 | u64 vmacache_seqnum; /* per-thread vmacache */ |
| 345 | #ifdef CONFIG_MMU | 345 | #ifdef CONFIG_MMU |
| 346 | unsigned long (*get_unmapped_area) (struct file *filp, | 346 | unsigned long (*get_unmapped_area) (struct file *filp, |
| 347 | unsigned long addr, unsigned long len, | 347 | unsigned long addr, unsigned long len, |
diff --git a/include/linux/mm_types_task.h b/include/linux/mm_types_task.h index 5fe87687664c..d7016dcb245e 100644 --- a/include/linux/mm_types_task.h +++ b/include/linux/mm_types_task.h | |||
| @@ -32,7 +32,7 @@ | |||
| 32 | #define VMACACHE_MASK (VMACACHE_SIZE - 1) | 32 | #define VMACACHE_MASK (VMACACHE_SIZE - 1) |
| 33 | 33 | ||
| 34 | struct vmacache { | 34 | struct vmacache { |
| 35 | u32 seqnum; | 35 | u64 seqnum; |
| 36 | struct vm_area_struct *vmas[VMACACHE_SIZE]; | 36 | struct vm_area_struct *vmas[VMACACHE_SIZE]; |
| 37 | }; | 37 | }; |
| 38 | 38 | ||
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 1298a7daa57d..01797cb4587e 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h | |||
| @@ -754,6 +754,7 @@ struct tb_service_id { | |||
| 754 | * struct typec_device_id - USB Type-C alternate mode identifiers | 754 | * struct typec_device_id - USB Type-C alternate mode identifiers |
| 755 | * @svid: Standard or Vendor ID | 755 | * @svid: Standard or Vendor ID |
| 756 | * @mode: Mode index | 756 | * @mode: Mode index |
| 757 | * @driver_data: Driver specific data | ||
| 757 | */ | 758 | */ |
| 758 | struct typec_device_id { | 759 | struct typec_device_id { |
| 759 | __u16 svid; | 760 | __u16 svid; |
diff --git a/include/linux/pci.h b/include/linux/pci.h index e72ca8dd6241..6925828f9f25 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -1235,6 +1235,9 @@ void pci_bus_remove_resources(struct pci_bus *bus); | |||
| 1235 | int devm_request_pci_bus_resources(struct device *dev, | 1235 | int devm_request_pci_bus_resources(struct device *dev, |
| 1236 | struct list_head *resources); | 1236 | struct list_head *resources); |
| 1237 | 1237 | ||
| 1238 | /* Temporary until new and working PCI SBR API in place */ | ||
| 1239 | int pci_bridge_secondary_bus_reset(struct pci_dev *dev); | ||
| 1240 | |||
| 1238 | #define pci_bus_for_each_resource(bus, res, i) \ | 1241 | #define pci_bus_for_each_resource(bus, res, i) \ |
| 1239 | for (i = 0; \ | 1242 | for (i = 0; \ |
| 1240 | (res = pci_bus_resource_n(bus, i)) || i < PCI_BRIDGE_RESOURCE_NUM; \ | 1243 | (res = pci_bus_resource_n(bus, i)) || i < PCI_BRIDGE_RESOURCE_NUM; \ |
diff --git a/include/linux/vga_switcheroo.h b/include/linux/vga_switcheroo.h index a34539b7f750..7e6ac0114d55 100644 --- a/include/linux/vga_switcheroo.h +++ b/include/linux/vga_switcheroo.h | |||
| @@ -133,15 +133,18 @@ struct vga_switcheroo_handler { | |||
| 133 | * @can_switch: check if the device is in a position to switch now. | 133 | * @can_switch: check if the device is in a position to switch now. |
| 134 | * Mandatory. The client should return false if a user space process | 134 | * Mandatory. The client should return false if a user space process |
| 135 | * has one of its device files open | 135 | * has one of its device files open |
| 136 | * @gpu_bound: notify the client id to audio client when the GPU is bound. | ||
| 136 | * | 137 | * |
| 137 | * Client callbacks. A client can be either a GPU or an audio device on a GPU. | 138 | * Client callbacks. A client can be either a GPU or an audio device on a GPU. |
| 138 | * The @set_gpu_state and @can_switch methods are mandatory, @reprobe may be | 139 | * The @set_gpu_state and @can_switch methods are mandatory, @reprobe may be |
| 139 | * set to NULL. For audio clients, the @reprobe member is bogus. | 140 | * set to NULL. For audio clients, the @reprobe member is bogus. |
| 141 | * OTOH, @gpu_bound is only for audio clients, and not used for GPU clients. | ||
| 140 | */ | 142 | */ |
| 141 | struct vga_switcheroo_client_ops { | 143 | struct vga_switcheroo_client_ops { |
| 142 | void (*set_gpu_state)(struct pci_dev *dev, enum vga_switcheroo_state); | 144 | void (*set_gpu_state)(struct pci_dev *dev, enum vga_switcheroo_state); |
| 143 | void (*reprobe)(struct pci_dev *dev); | 145 | void (*reprobe)(struct pci_dev *dev); |
| 144 | bool (*can_switch)(struct pci_dev *dev); | 146 | bool (*can_switch)(struct pci_dev *dev); |
| 147 | void (*gpu_bound)(struct pci_dev *dev, enum vga_switcheroo_client_id); | ||
| 145 | }; | 148 | }; |
| 146 | 149 | ||
| 147 | #if defined(CONFIG_VGA_SWITCHEROO) | 150 | #if defined(CONFIG_VGA_SWITCHEROO) |
diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h index 5c7f010676a7..47a3441cf4c4 100644 --- a/include/linux/vm_event_item.h +++ b/include/linux/vm_event_item.h | |||
| @@ -105,7 +105,6 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, | |||
| 105 | #ifdef CONFIG_DEBUG_VM_VMACACHE | 105 | #ifdef CONFIG_DEBUG_VM_VMACACHE |
| 106 | VMACACHE_FIND_CALLS, | 106 | VMACACHE_FIND_CALLS, |
| 107 | VMACACHE_FIND_HITS, | 107 | VMACACHE_FIND_HITS, |
| 108 | VMACACHE_FULL_FLUSHES, | ||
| 109 | #endif | 108 | #endif |
| 110 | #ifdef CONFIG_SWAP | 109 | #ifdef CONFIG_SWAP |
| 111 | SWAP_RA, | 110 | SWAP_RA, |
diff --git a/include/linux/vmacache.h b/include/linux/vmacache.h index 3e9a963edd6a..6fce268a4588 100644 --- a/include/linux/vmacache.h +++ b/include/linux/vmacache.h | |||
| @@ -10,7 +10,6 @@ static inline void vmacache_flush(struct task_struct *tsk) | |||
| 10 | memset(tsk->vmacache.vmas, 0, sizeof(tsk->vmacache.vmas)); | 10 | memset(tsk->vmacache.vmas, 0, sizeof(tsk->vmacache.vmas)); |
| 11 | } | 11 | } |
| 12 | 12 | ||
| 13 | extern void vmacache_flush_all(struct mm_struct *mm); | ||
| 14 | extern void vmacache_update(unsigned long addr, struct vm_area_struct *newvma); | 13 | extern void vmacache_update(unsigned long addr, struct vm_area_struct *newvma); |
| 15 | extern struct vm_area_struct *vmacache_find(struct mm_struct *mm, | 14 | extern struct vm_area_struct *vmacache_find(struct mm_struct *mm, |
| 16 | unsigned long addr); | 15 | unsigned long addr); |
| @@ -24,10 +23,6 @@ extern struct vm_area_struct *vmacache_find_exact(struct mm_struct *mm, | |||
| 24 | static inline void vmacache_invalidate(struct mm_struct *mm) | 23 | static inline void vmacache_invalidate(struct mm_struct *mm) |
| 25 | { | 24 | { |
| 26 | mm->vmacache_seqnum++; | 25 | mm->vmacache_seqnum++; |
| 27 | |||
| 28 | /* deal with overflows */ | ||
| 29 | if (unlikely(mm->vmacache_seqnum == 0)) | ||
| 30 | vmacache_flush_all(mm); | ||
| 31 | } | 26 | } |
| 32 | 27 | ||
| 33 | #endif /* __LINUX_VMACACHE_H */ | 28 | #endif /* __LINUX_VMACACHE_H */ |
