diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-02-01 15:50:26 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-02-01 15:50:26 -0500 |
| commit | 4cff7adbebf4d25f662b13c6582b945d9d549e25 (patch) | |
| tree | cfb6bc0aaab6ad7fa7ca2bb07453ed2fd139138c /include/linux | |
| parent | 7e3933df9874b70745548ce9177295d11c58fc21 (diff) | |
| parent | 36f90b0a2ddd60823fe193a85e60ff1906c2a9b3 (diff) | |
Merge 4.5-rc2 into staging-next
This fixes a merge issue with the panel driver, and picks up fixes in
iio and other drivers that we want here.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/cleancache.h | 16 | ||||
| -rw-r--r-- | include/linux/ftrace.h | 1 | ||||
| -rw-r--r-- | include/linux/hrtimer.h | 34 | ||||
| -rw-r--r-- | include/linux/iommu.h | 16 | ||||
| -rw-r--r-- | include/linux/irqdomain.h | 1 | ||||
| -rw-r--r-- | include/linux/perf_event.h | 9 | ||||
| -rw-r--r-- | include/linux/swiotlb.h | 3 | ||||
| -rw-r--r-- | include/linux/tty.h | 1 |
8 files changed, 58 insertions, 23 deletions
diff --git a/include/linux/cleancache.h b/include/linux/cleancache.h index bda5ec0b4b4d..fccf7f44139d 100644 --- a/include/linux/cleancache.h +++ b/include/linux/cleancache.h | |||
| @@ -37,7 +37,7 @@ struct cleancache_ops { | |||
| 37 | void (*invalidate_fs)(int); | 37 | void (*invalidate_fs)(int); |
| 38 | }; | 38 | }; |
| 39 | 39 | ||
| 40 | extern int cleancache_register_ops(struct cleancache_ops *ops); | 40 | extern int cleancache_register_ops(const struct cleancache_ops *ops); |
| 41 | extern void __cleancache_init_fs(struct super_block *); | 41 | extern void __cleancache_init_fs(struct super_block *); |
| 42 | extern void __cleancache_init_shared_fs(struct super_block *); | 42 | extern void __cleancache_init_shared_fs(struct super_block *); |
| 43 | extern int __cleancache_get_page(struct page *); | 43 | extern int __cleancache_get_page(struct page *); |
| @@ -48,14 +48,14 @@ extern void __cleancache_invalidate_fs(struct super_block *); | |||
| 48 | 48 | ||
| 49 | #ifdef CONFIG_CLEANCACHE | 49 | #ifdef CONFIG_CLEANCACHE |
| 50 | #define cleancache_enabled (1) | 50 | #define cleancache_enabled (1) |
| 51 | static inline bool cleancache_fs_enabled(struct page *page) | ||
| 52 | { | ||
| 53 | return page->mapping->host->i_sb->cleancache_poolid >= 0; | ||
| 54 | } | ||
| 55 | static inline bool cleancache_fs_enabled_mapping(struct address_space *mapping) | 51 | static inline bool cleancache_fs_enabled_mapping(struct address_space *mapping) |
| 56 | { | 52 | { |
| 57 | return mapping->host->i_sb->cleancache_poolid >= 0; | 53 | return mapping->host->i_sb->cleancache_poolid >= 0; |
| 58 | } | 54 | } |
| 55 | static inline bool cleancache_fs_enabled(struct page *page) | ||
| 56 | { | ||
| 57 | return cleancache_fs_enabled_mapping(page->mapping); | ||
| 58 | } | ||
| 59 | #else | 59 | #else |
| 60 | #define cleancache_enabled (0) | 60 | #define cleancache_enabled (0) |
| 61 | #define cleancache_fs_enabled(_page) (0) | 61 | #define cleancache_fs_enabled(_page) (0) |
| @@ -89,11 +89,9 @@ static inline void cleancache_init_shared_fs(struct super_block *sb) | |||
| 89 | 89 | ||
| 90 | static inline int cleancache_get_page(struct page *page) | 90 | static inline int cleancache_get_page(struct page *page) |
| 91 | { | 91 | { |
| 92 | int ret = -1; | ||
| 93 | |||
| 94 | if (cleancache_enabled && cleancache_fs_enabled(page)) | 92 | if (cleancache_enabled && cleancache_fs_enabled(page)) |
| 95 | ret = __cleancache_get_page(page); | 93 | return __cleancache_get_page(page); |
| 96 | return ret; | 94 | return -1; |
| 97 | } | 95 | } |
| 98 | 96 | ||
| 99 | static inline void cleancache_put_page(struct page *page) | 97 | static inline void cleancache_put_page(struct page *page) |
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 0639dcc98195..81de7123959d 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h | |||
| @@ -165,7 +165,6 @@ struct ftrace_ops { | |||
| 165 | ftrace_func_t saved_func; | 165 | ftrace_func_t saved_func; |
| 166 | int __percpu *disabled; | 166 | int __percpu *disabled; |
| 167 | #ifdef CONFIG_DYNAMIC_FTRACE | 167 | #ifdef CONFIG_DYNAMIC_FTRACE |
| 168 | int nr_trampolines; | ||
| 169 | struct ftrace_ops_hash local_hash; | 168 | struct ftrace_ops_hash local_hash; |
| 170 | struct ftrace_ops_hash *func_hash; | 169 | struct ftrace_ops_hash *func_hash; |
| 171 | struct ftrace_ops_hash old_hash; | 170 | struct ftrace_ops_hash old_hash; |
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 76dd4f0da5ca..2ead22dd74a0 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h | |||
| @@ -87,7 +87,8 @@ enum hrtimer_restart { | |||
| 87 | * @function: timer expiry callback function | 87 | * @function: timer expiry callback function |
| 88 | * @base: pointer to the timer base (per cpu and per clock) | 88 | * @base: pointer to the timer base (per cpu and per clock) |
| 89 | * @state: state information (See bit values above) | 89 | * @state: state information (See bit values above) |
| 90 | * @start_pid: timer statistics field to store the pid of the task which | 90 | * @is_rel: Set if the timer was armed relative |
| 91 | * @start_pid: timer statistics field to store the pid of the task which | ||
| 91 | * started the timer | 92 | * started the timer |
| 92 | * @start_site: timer statistics field to store the site where the timer | 93 | * @start_site: timer statistics field to store the site where the timer |
| 93 | * was started | 94 | * was started |
| @@ -101,7 +102,8 @@ struct hrtimer { | |||
| 101 | ktime_t _softexpires; | 102 | ktime_t _softexpires; |
| 102 | enum hrtimer_restart (*function)(struct hrtimer *); | 103 | enum hrtimer_restart (*function)(struct hrtimer *); |
| 103 | struct hrtimer_clock_base *base; | 104 | struct hrtimer_clock_base *base; |
| 104 | unsigned long state; | 105 | u8 state; |
| 106 | u8 is_rel; | ||
| 105 | #ifdef CONFIG_TIMER_STATS | 107 | #ifdef CONFIG_TIMER_STATS |
| 106 | int start_pid; | 108 | int start_pid; |
| 107 | void *start_site; | 109 | void *start_site; |
| @@ -321,6 +323,27 @@ static inline void clock_was_set_delayed(void) { } | |||
| 321 | 323 | ||
| 322 | #endif | 324 | #endif |
| 323 | 325 | ||
| 326 | static inline ktime_t | ||
| 327 | __hrtimer_expires_remaining_adjusted(const struct hrtimer *timer, ktime_t now) | ||
| 328 | { | ||
| 329 | ktime_t rem = ktime_sub(timer->node.expires, now); | ||
| 330 | |||
| 331 | /* | ||
| 332 | * Adjust relative timers for the extra we added in | ||
| 333 | * hrtimer_start_range_ns() to prevent short timeouts. | ||
| 334 | */ | ||
| 335 | if (IS_ENABLED(CONFIG_TIME_LOW_RES) && timer->is_rel) | ||
| 336 | rem.tv64 -= hrtimer_resolution; | ||
| 337 | return rem; | ||
| 338 | } | ||
| 339 | |||
| 340 | static inline ktime_t | ||
| 341 | hrtimer_expires_remaining_adjusted(const struct hrtimer *timer) | ||
| 342 | { | ||
| 343 | return __hrtimer_expires_remaining_adjusted(timer, | ||
| 344 | timer->base->get_time()); | ||
| 345 | } | ||
| 346 | |||
| 324 | extern void clock_was_set(void); | 347 | extern void clock_was_set(void); |
| 325 | #ifdef CONFIG_TIMERFD | 348 | #ifdef CONFIG_TIMERFD |
| 326 | extern void timerfd_clock_was_set(void); | 349 | extern void timerfd_clock_was_set(void); |
| @@ -390,7 +413,12 @@ static inline void hrtimer_restart(struct hrtimer *timer) | |||
| 390 | } | 413 | } |
| 391 | 414 | ||
| 392 | /* Query timers: */ | 415 | /* Query timers: */ |
| 393 | extern ktime_t hrtimer_get_remaining(const struct hrtimer *timer); | 416 | extern ktime_t __hrtimer_get_remaining(const struct hrtimer *timer, bool adjust); |
| 417 | |||
| 418 | static inline ktime_t hrtimer_get_remaining(const struct hrtimer *timer) | ||
| 419 | { | ||
| 420 | return __hrtimer_get_remaining(timer, false); | ||
| 421 | } | ||
| 394 | 422 | ||
| 395 | extern u64 hrtimer_get_next_event(void); | 423 | extern u64 hrtimer_get_next_event(void); |
| 396 | 424 | ||
diff --git a/include/linux/iommu.h b/include/linux/iommu.h index f28dff313b07..a5c539fa5d2b 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h | |||
| @@ -133,8 +133,9 @@ struct iommu_dm_region { | |||
| 133 | 133 | ||
| 134 | /** | 134 | /** |
| 135 | * struct iommu_ops - iommu ops and capabilities | 135 | * struct iommu_ops - iommu ops and capabilities |
| 136 | * @domain_init: init iommu domain | 136 | * @capable: check capability |
| 137 | * @domain_destroy: destroy iommu domain | 137 | * @domain_alloc: allocate iommu domain |
| 138 | * @domain_free: free iommu domain | ||
| 138 | * @attach_dev: attach device to an iommu domain | 139 | * @attach_dev: attach device to an iommu domain |
| 139 | * @detach_dev: detach device from an iommu domain | 140 | * @detach_dev: detach device from an iommu domain |
| 140 | * @map: map a physically contiguous memory region to an iommu domain | 141 | * @map: map a physically contiguous memory region to an iommu domain |
| @@ -144,8 +145,15 @@ struct iommu_dm_region { | |||
| 144 | * @iova_to_phys: translate iova to physical address | 145 | * @iova_to_phys: translate iova to physical address |
| 145 | * @add_device: add device to iommu grouping | 146 | * @add_device: add device to iommu grouping |
| 146 | * @remove_device: remove device from iommu grouping | 147 | * @remove_device: remove device from iommu grouping |
| 148 | * @device_group: find iommu group for a particular device | ||
| 147 | * @domain_get_attr: Query domain attributes | 149 | * @domain_get_attr: Query domain attributes |
| 148 | * @domain_set_attr: Change domain attributes | 150 | * @domain_set_attr: Change domain attributes |
| 151 | * @get_dm_regions: Request list of direct mapping requirements for a device | ||
| 152 | * @put_dm_regions: Free list of direct mapping requirements for a device | ||
| 153 | * @domain_window_enable: Configure and enable a particular window for a domain | ||
| 154 | * @domain_window_disable: Disable a particular window for a domain | ||
| 155 | * @domain_set_windows: Set the number of windows for a domain | ||
| 156 | * @domain_get_windows: Return the number of windows for a domain | ||
| 149 | * @of_xlate: add OF master IDs to iommu grouping | 157 | * @of_xlate: add OF master IDs to iommu grouping |
| 150 | * @pgsize_bitmap: bitmap of supported page sizes | 158 | * @pgsize_bitmap: bitmap of supported page sizes |
| 151 | * @priv: per-instance data private to the iommu driver | 159 | * @priv: per-instance data private to the iommu driver |
| @@ -182,9 +190,9 @@ struct iommu_ops { | |||
| 182 | int (*domain_window_enable)(struct iommu_domain *domain, u32 wnd_nr, | 190 | int (*domain_window_enable)(struct iommu_domain *domain, u32 wnd_nr, |
| 183 | phys_addr_t paddr, u64 size, int prot); | 191 | phys_addr_t paddr, u64 size, int prot); |
| 184 | void (*domain_window_disable)(struct iommu_domain *domain, u32 wnd_nr); | 192 | void (*domain_window_disable)(struct iommu_domain *domain, u32 wnd_nr); |
| 185 | /* Set the numer of window per domain */ | 193 | /* Set the number of windows per domain */ |
| 186 | int (*domain_set_windows)(struct iommu_domain *domain, u32 w_count); | 194 | int (*domain_set_windows)(struct iommu_domain *domain, u32 w_count); |
| 187 | /* Get the numer of window per domain */ | 195 | /* Get the number of windows per domain */ |
| 188 | u32 (*domain_get_windows)(struct iommu_domain *domain); | 196 | u32 (*domain_get_windows)(struct iommu_domain *domain); |
| 189 | 197 | ||
| 190 | #ifdef CONFIG_OF_IOMMU | 198 | #ifdef CONFIG_OF_IOMMU |
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index f64622ad02c1..04579d9fbce4 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h | |||
| @@ -70,6 +70,7 @@ struct irq_fwspec { | |||
| 70 | */ | 70 | */ |
| 71 | enum irq_domain_bus_token { | 71 | enum irq_domain_bus_token { |
| 72 | DOMAIN_BUS_ANY = 0, | 72 | DOMAIN_BUS_ANY = 0, |
| 73 | DOMAIN_BUS_WIRED, | ||
| 73 | DOMAIN_BUS_PCI_MSI, | 74 | DOMAIN_BUS_PCI_MSI, |
| 74 | DOMAIN_BUS_PLATFORM_MSI, | 75 | DOMAIN_BUS_PLATFORM_MSI, |
| 75 | DOMAIN_BUS_NEXUS, | 76 | DOMAIN_BUS_NEXUS, |
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index f9828a48f16a..b35a61a481fa 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h | |||
| @@ -634,9 +634,6 @@ struct perf_event_context { | |||
| 634 | int nr_cgroups; /* cgroup evts */ | 634 | int nr_cgroups; /* cgroup evts */ |
| 635 | void *task_ctx_data; /* pmu specific data */ | 635 | void *task_ctx_data; /* pmu specific data */ |
| 636 | struct rcu_head rcu_head; | 636 | struct rcu_head rcu_head; |
| 637 | |||
| 638 | struct delayed_work orphans_remove; | ||
| 639 | bool orphans_remove_sched; | ||
| 640 | }; | 637 | }; |
| 641 | 638 | ||
| 642 | /* | 639 | /* |
| @@ -729,7 +726,7 @@ extern int perf_event_init_task(struct task_struct *child); | |||
| 729 | extern void perf_event_exit_task(struct task_struct *child); | 726 | extern void perf_event_exit_task(struct task_struct *child); |
| 730 | extern void perf_event_free_task(struct task_struct *task); | 727 | extern void perf_event_free_task(struct task_struct *task); |
| 731 | extern void perf_event_delayed_put(struct task_struct *task); | 728 | extern void perf_event_delayed_put(struct task_struct *task); |
| 732 | extern struct perf_event *perf_event_get(unsigned int fd); | 729 | extern struct file *perf_event_get(unsigned int fd); |
| 733 | extern const struct perf_event_attr *perf_event_attrs(struct perf_event *event); | 730 | extern const struct perf_event_attr *perf_event_attrs(struct perf_event *event); |
| 734 | extern void perf_event_print_debug(void); | 731 | extern void perf_event_print_debug(void); |
| 735 | extern void perf_pmu_disable(struct pmu *pmu); | 732 | extern void perf_pmu_disable(struct pmu *pmu); |
| @@ -1044,7 +1041,7 @@ extern void perf_swevent_put_recursion_context(int rctx); | |||
| 1044 | extern u64 perf_swevent_set_period(struct perf_event *event); | 1041 | extern u64 perf_swevent_set_period(struct perf_event *event); |
| 1045 | extern void perf_event_enable(struct perf_event *event); | 1042 | extern void perf_event_enable(struct perf_event *event); |
| 1046 | extern void perf_event_disable(struct perf_event *event); | 1043 | extern void perf_event_disable(struct perf_event *event); |
| 1047 | extern int __perf_event_disable(void *info); | 1044 | extern void perf_event_disable_local(struct perf_event *event); |
| 1048 | extern void perf_event_task_tick(void); | 1045 | extern void perf_event_task_tick(void); |
| 1049 | #else /* !CONFIG_PERF_EVENTS: */ | 1046 | #else /* !CONFIG_PERF_EVENTS: */ |
| 1050 | static inline void * | 1047 | static inline void * |
| @@ -1070,7 +1067,7 @@ static inline int perf_event_init_task(struct task_struct *child) { return 0; } | |||
| 1070 | static inline void perf_event_exit_task(struct task_struct *child) { } | 1067 | static inline void perf_event_exit_task(struct task_struct *child) { } |
| 1071 | static inline void perf_event_free_task(struct task_struct *task) { } | 1068 | static inline void perf_event_free_task(struct task_struct *task) { } |
| 1072 | static inline void perf_event_delayed_put(struct task_struct *task) { } | 1069 | static inline void perf_event_delayed_put(struct task_struct *task) { } |
| 1073 | static inline struct perf_event *perf_event_get(unsigned int fd) { return ERR_PTR(-EINVAL); } | 1070 | static inline struct file *perf_event_get(unsigned int fd) { return ERR_PTR(-EINVAL); } |
| 1074 | static inline const struct perf_event_attr *perf_event_attrs(struct perf_event *event) | 1071 | static inline const struct perf_event_attr *perf_event_attrs(struct perf_event *event) |
| 1075 | { | 1072 | { |
| 1076 | return ERR_PTR(-EINVAL); | 1073 | return ERR_PTR(-EINVAL); |
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h index e7a018eaf3a2..017fced60242 100644 --- a/include/linux/swiotlb.h +++ b/include/linux/swiotlb.h | |||
| @@ -1,10 +1,13 @@ | |||
| 1 | #ifndef __LINUX_SWIOTLB_H | 1 | #ifndef __LINUX_SWIOTLB_H |
| 2 | #define __LINUX_SWIOTLB_H | 2 | #define __LINUX_SWIOTLB_H |
| 3 | 3 | ||
| 4 | #include <linux/dma-direction.h> | ||
| 5 | #include <linux/init.h> | ||
| 4 | #include <linux/types.h> | 6 | #include <linux/types.h> |
| 5 | 7 | ||
| 6 | struct device; | 8 | struct device; |
| 7 | struct dma_attrs; | 9 | struct dma_attrs; |
| 10 | struct page; | ||
| 8 | struct scatterlist; | 11 | struct scatterlist; |
| 9 | 12 | ||
| 10 | extern int swiotlb_force; | 13 | extern int swiotlb_force; |
diff --git a/include/linux/tty.h b/include/linux/tty.h index 2fd8708ea888..d9fb4b043f56 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h | |||
| @@ -649,6 +649,7 @@ extern long vt_compat_ioctl(struct tty_struct *tty, | |||
| 649 | /* tty_mutex.c */ | 649 | /* tty_mutex.c */ |
| 650 | /* functions for preparation of BKL removal */ | 650 | /* functions for preparation of BKL removal */ |
| 651 | extern void __lockfunc tty_lock(struct tty_struct *tty); | 651 | extern void __lockfunc tty_lock(struct tty_struct *tty); |
| 652 | extern int tty_lock_interruptible(struct tty_struct *tty); | ||
| 652 | extern void __lockfunc tty_unlock(struct tty_struct *tty); | 653 | extern void __lockfunc tty_unlock(struct tty_struct *tty); |
| 653 | extern void __lockfunc tty_lock_slave(struct tty_struct *tty); | 654 | extern void __lockfunc tty_lock_slave(struct tty_struct *tty); |
| 654 | extern void __lockfunc tty_unlock_slave(struct tty_struct *tty); | 655 | extern void __lockfunc tty_unlock_slave(struct tty_struct *tty); |
