diff options
Diffstat (limited to 'include')
30 files changed, 145 insertions, 77 deletions
diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h index a24addfdfcec..0de6290df4da 100644 --- a/include/drm/drm_mm.h +++ b/include/drm/drm_mm.h | |||
@@ -68,8 +68,8 @@ struct drm_mm_node { | |||
68 | unsigned scanned_preceeds_hole : 1; | 68 | unsigned scanned_preceeds_hole : 1; |
69 | unsigned allocated : 1; | 69 | unsigned allocated : 1; |
70 | unsigned long color; | 70 | unsigned long color; |
71 | unsigned long start; | 71 | u64 start; |
72 | unsigned long size; | 72 | u64 size; |
73 | struct drm_mm *mm; | 73 | struct drm_mm *mm; |
74 | }; | 74 | }; |
75 | 75 | ||
@@ -82,16 +82,16 @@ struct drm_mm { | |||
82 | unsigned int scan_check_range : 1; | 82 | unsigned int scan_check_range : 1; |
83 | unsigned scan_alignment; | 83 | unsigned scan_alignment; |
84 | unsigned long scan_color; | 84 | unsigned long scan_color; |
85 | unsigned long scan_size; | 85 | u64 scan_size; |
86 | unsigned long scan_hit_start; | 86 | u64 scan_hit_start; |
87 | unsigned long scan_hit_end; | 87 | u64 scan_hit_end; |
88 | unsigned scanned_blocks; | 88 | unsigned scanned_blocks; |
89 | unsigned long scan_start; | 89 | u64 scan_start; |
90 | unsigned long scan_end; | 90 | u64 scan_end; |
91 | struct drm_mm_node *prev_scanned_node; | 91 | struct drm_mm_node *prev_scanned_node; |
92 | 92 | ||
93 | void (*color_adjust)(struct drm_mm_node *node, unsigned long color, | 93 | void (*color_adjust)(struct drm_mm_node *node, unsigned long color, |
94 | unsigned long *start, unsigned long *end); | 94 | u64 *start, u64 *end); |
95 | }; | 95 | }; |
96 | 96 | ||
97 | /** | 97 | /** |
@@ -124,7 +124,7 @@ static inline bool drm_mm_initialized(struct drm_mm *mm) | |||
124 | return mm->hole_stack.next; | 124 | return mm->hole_stack.next; |
125 | } | 125 | } |
126 | 126 | ||
127 | static inline unsigned long __drm_mm_hole_node_start(struct drm_mm_node *hole_node) | 127 | static inline u64 __drm_mm_hole_node_start(struct drm_mm_node *hole_node) |
128 | { | 128 | { |
129 | return hole_node->start + hole_node->size; | 129 | return hole_node->start + hole_node->size; |
130 | } | 130 | } |
@@ -140,13 +140,13 @@ static inline unsigned long __drm_mm_hole_node_start(struct drm_mm_node *hole_no | |||
140 | * Returns: | 140 | * Returns: |
141 | * Start of the subsequent hole. | 141 | * Start of the subsequent hole. |
142 | */ | 142 | */ |
143 | static inline unsigned long drm_mm_hole_node_start(struct drm_mm_node *hole_node) | 143 | static inline u64 drm_mm_hole_node_start(struct drm_mm_node *hole_node) |
144 | { | 144 | { |
145 | BUG_ON(!hole_node->hole_follows); | 145 | BUG_ON(!hole_node->hole_follows); |
146 | return __drm_mm_hole_node_start(hole_node); | 146 | return __drm_mm_hole_node_start(hole_node); |
147 | } | 147 | } |
148 | 148 | ||
149 | static inline unsigned long __drm_mm_hole_node_end(struct drm_mm_node *hole_node) | 149 | static inline u64 __drm_mm_hole_node_end(struct drm_mm_node *hole_node) |
150 | { | 150 | { |
151 | return list_entry(hole_node->node_list.next, | 151 | return list_entry(hole_node->node_list.next, |
152 | struct drm_mm_node, node_list)->start; | 152 | struct drm_mm_node, node_list)->start; |
@@ -163,7 +163,7 @@ static inline unsigned long __drm_mm_hole_node_end(struct drm_mm_node *hole_node | |||
163 | * Returns: | 163 | * Returns: |
164 | * End of the subsequent hole. | 164 | * End of the subsequent hole. |
165 | */ | 165 | */ |
166 | static inline unsigned long drm_mm_hole_node_end(struct drm_mm_node *hole_node) | 166 | static inline u64 drm_mm_hole_node_end(struct drm_mm_node *hole_node) |
167 | { | 167 | { |
168 | return __drm_mm_hole_node_end(hole_node); | 168 | return __drm_mm_hole_node_end(hole_node); |
169 | } | 169 | } |
@@ -222,7 +222,7 @@ int drm_mm_reserve_node(struct drm_mm *mm, struct drm_mm_node *node); | |||
222 | 222 | ||
223 | int drm_mm_insert_node_generic(struct drm_mm *mm, | 223 | int drm_mm_insert_node_generic(struct drm_mm *mm, |
224 | struct drm_mm_node *node, | 224 | struct drm_mm_node *node, |
225 | unsigned long size, | 225 | u64 size, |
226 | unsigned alignment, | 226 | unsigned alignment, |
227 | unsigned long color, | 227 | unsigned long color, |
228 | enum drm_mm_search_flags sflags, | 228 | enum drm_mm_search_flags sflags, |
@@ -245,7 +245,7 @@ int drm_mm_insert_node_generic(struct drm_mm *mm, | |||
245 | */ | 245 | */ |
246 | static inline int drm_mm_insert_node(struct drm_mm *mm, | 246 | static inline int drm_mm_insert_node(struct drm_mm *mm, |
247 | struct drm_mm_node *node, | 247 | struct drm_mm_node *node, |
248 | unsigned long size, | 248 | u64 size, |
249 | unsigned alignment, | 249 | unsigned alignment, |
250 | enum drm_mm_search_flags flags) | 250 | enum drm_mm_search_flags flags) |
251 | { | 251 | { |
@@ -255,11 +255,11 @@ static inline int drm_mm_insert_node(struct drm_mm *mm, | |||
255 | 255 | ||
256 | int drm_mm_insert_node_in_range_generic(struct drm_mm *mm, | 256 | int drm_mm_insert_node_in_range_generic(struct drm_mm *mm, |
257 | struct drm_mm_node *node, | 257 | struct drm_mm_node *node, |
258 | unsigned long size, | 258 | u64 size, |
259 | unsigned alignment, | 259 | unsigned alignment, |
260 | unsigned long color, | 260 | unsigned long color, |
261 | unsigned long start, | 261 | u64 start, |
262 | unsigned long end, | 262 | u64 end, |
263 | enum drm_mm_search_flags sflags, | 263 | enum drm_mm_search_flags sflags, |
264 | enum drm_mm_allocator_flags aflags); | 264 | enum drm_mm_allocator_flags aflags); |
265 | /** | 265 | /** |
@@ -282,10 +282,10 @@ int drm_mm_insert_node_in_range_generic(struct drm_mm *mm, | |||
282 | */ | 282 | */ |
283 | static inline int drm_mm_insert_node_in_range(struct drm_mm *mm, | 283 | static inline int drm_mm_insert_node_in_range(struct drm_mm *mm, |
284 | struct drm_mm_node *node, | 284 | struct drm_mm_node *node, |
285 | unsigned long size, | 285 | u64 size, |
286 | unsigned alignment, | 286 | unsigned alignment, |
287 | unsigned long start, | 287 | u64 start, |
288 | unsigned long end, | 288 | u64 end, |
289 | enum drm_mm_search_flags flags) | 289 | enum drm_mm_search_flags flags) |
290 | { | 290 | { |
291 | return drm_mm_insert_node_in_range_generic(mm, node, size, alignment, | 291 | return drm_mm_insert_node_in_range_generic(mm, node, size, alignment, |
@@ -296,21 +296,21 @@ static inline int drm_mm_insert_node_in_range(struct drm_mm *mm, | |||
296 | void drm_mm_remove_node(struct drm_mm_node *node); | 296 | void drm_mm_remove_node(struct drm_mm_node *node); |
297 | void drm_mm_replace_node(struct drm_mm_node *old, struct drm_mm_node *new); | 297 | void drm_mm_replace_node(struct drm_mm_node *old, struct drm_mm_node *new); |
298 | void drm_mm_init(struct drm_mm *mm, | 298 | void drm_mm_init(struct drm_mm *mm, |
299 | unsigned long start, | 299 | u64 start, |
300 | unsigned long size); | 300 | u64 size); |
301 | void drm_mm_takedown(struct drm_mm *mm); | 301 | void drm_mm_takedown(struct drm_mm *mm); |
302 | bool drm_mm_clean(struct drm_mm *mm); | 302 | bool drm_mm_clean(struct drm_mm *mm); |
303 | 303 | ||
304 | void drm_mm_init_scan(struct drm_mm *mm, | 304 | void drm_mm_init_scan(struct drm_mm *mm, |
305 | unsigned long size, | 305 | u64 size, |
306 | unsigned alignment, | 306 | unsigned alignment, |
307 | unsigned long color); | 307 | unsigned long color); |
308 | void drm_mm_init_scan_with_range(struct drm_mm *mm, | 308 | void drm_mm_init_scan_with_range(struct drm_mm *mm, |
309 | unsigned long size, | 309 | u64 size, |
310 | unsigned alignment, | 310 | unsigned alignment, |
311 | unsigned long color, | 311 | unsigned long color, |
312 | unsigned long start, | 312 | u64 start, |
313 | unsigned long end); | 313 | u64 end); |
314 | bool drm_mm_scan_add_block(struct drm_mm_node *node); | 314 | bool drm_mm_scan_add_block(struct drm_mm_node *node); |
315 | bool drm_mm_scan_remove_block(struct drm_mm_node *node); | 315 | bool drm_mm_scan_remove_block(struct drm_mm_node *node); |
316 | 316 | ||
diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h index 0ccf7f267ff9..c768ddfbe53c 100644 --- a/include/drm/ttm/ttm_bo_api.h +++ b/include/drm/ttm/ttm_bo_api.h | |||
@@ -249,7 +249,7 @@ struct ttm_buffer_object { | |||
249 | * either of these locks held. | 249 | * either of these locks held. |
250 | */ | 250 | */ |
251 | 251 | ||
252 | unsigned long offset; | 252 | uint64_t offset; /* GPU address space is independent of CPU word size */ |
253 | uint32_t cur_placement; | 253 | uint32_t cur_placement; |
254 | 254 | ||
255 | struct sg_table *sg; | 255 | struct sg_table *sg; |
diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h index 142d752fc450..813042cede57 100644 --- a/include/drm/ttm/ttm_bo_driver.h +++ b/include/drm/ttm/ttm_bo_driver.h | |||
@@ -277,7 +277,7 @@ struct ttm_mem_type_manager { | |||
277 | bool has_type; | 277 | bool has_type; |
278 | bool use_type; | 278 | bool use_type; |
279 | uint32_t flags; | 279 | uint32_t flags; |
280 | unsigned long gpu_offset; | 280 | uint64_t gpu_offset; /* GPU address space is independent of CPU word size */ |
281 | uint64_t size; | 281 | uint64_t size; |
282 | uint32_t available_caching; | 282 | uint32_t available_caching; |
283 | uint32_t default_caching; | 283 | uint32_t default_caching; |
diff --git a/include/dt-bindings/pinctrl/am33xx.h b/include/dt-bindings/pinctrl/am33xx.h index 2fbc804e1a45..226f77246a70 100644 --- a/include/dt-bindings/pinctrl/am33xx.h +++ b/include/dt-bindings/pinctrl/am33xx.h | |||
@@ -13,7 +13,8 @@ | |||
13 | 13 | ||
14 | #define PULL_DISABLE (1 << 3) | 14 | #define PULL_DISABLE (1 << 3) |
15 | #define INPUT_EN (1 << 5) | 15 | #define INPUT_EN (1 << 5) |
16 | #define SLEWCTRL_FAST (1 << 6) | 16 | #define SLEWCTRL_SLOW (1 << 6) |
17 | #define SLEWCTRL_FAST 0 | ||
17 | 18 | ||
18 | /* update macro depending on INPUT_EN and PULL_ENA */ | 19 | /* update macro depending on INPUT_EN and PULL_ENA */ |
19 | #undef PIN_OUTPUT | 20 | #undef PIN_OUTPUT |
diff --git a/include/dt-bindings/pinctrl/am43xx.h b/include/dt-bindings/pinctrl/am43xx.h index 9c2e4f82381e..5f4d01898c9c 100644 --- a/include/dt-bindings/pinctrl/am43xx.h +++ b/include/dt-bindings/pinctrl/am43xx.h | |||
@@ -18,7 +18,8 @@ | |||
18 | #define PULL_DISABLE (1 << 16) | 18 | #define PULL_DISABLE (1 << 16) |
19 | #define PULL_UP (1 << 17) | 19 | #define PULL_UP (1 << 17) |
20 | #define INPUT_EN (1 << 18) | 20 | #define INPUT_EN (1 << 18) |
21 | #define SLEWCTRL_FAST (1 << 19) | 21 | #define SLEWCTRL_SLOW (1 << 19) |
22 | #define SLEWCTRL_FAST 0 | ||
22 | #define DS0_PULL_UP_DOWN_EN (1 << 27) | 23 | #define DS0_PULL_UP_DOWN_EN (1 << 27) |
23 | 24 | ||
24 | #define PIN_OUTPUT (PULL_DISABLE) | 25 | #define PIN_OUTPUT (PULL_DISABLE) |
diff --git a/include/linux/clk.h b/include/linux/clk.h index 8381bbfbc308..68c16a6bedb3 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h | |||
@@ -125,6 +125,19 @@ int clk_set_phase(struct clk *clk, int degrees); | |||
125 | */ | 125 | */ |
126 | int clk_get_phase(struct clk *clk); | 126 | int clk_get_phase(struct clk *clk); |
127 | 127 | ||
128 | /** | ||
129 | * clk_is_match - check if two clk's point to the same hardware clock | ||
130 | * @p: clk compared against q | ||
131 | * @q: clk compared against p | ||
132 | * | ||
133 | * Returns true if the two struct clk pointers both point to the same hardware | ||
134 | * clock node. Put differently, returns true if struct clk *p and struct clk *q | ||
135 | * share the same struct clk_core object. | ||
136 | * | ||
137 | * Returns false otherwise. Note that two NULL clks are treated as matching. | ||
138 | */ | ||
139 | bool clk_is_match(const struct clk *p, const struct clk *q); | ||
140 | |||
128 | #else | 141 | #else |
129 | 142 | ||
130 | static inline long clk_get_accuracy(struct clk *clk) | 143 | static inline long clk_get_accuracy(struct clk *clk) |
@@ -142,6 +155,11 @@ static inline long clk_get_phase(struct clk *clk) | |||
142 | return -ENOTSUPP; | 155 | return -ENOTSUPP; |
143 | } | 156 | } |
144 | 157 | ||
158 | static inline bool clk_is_match(const struct clk *p, const struct clk *q) | ||
159 | { | ||
160 | return p == q; | ||
161 | } | ||
162 | |||
145 | #endif | 163 | #endif |
146 | 164 | ||
147 | /** | 165 | /** |
diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h index f551a9299ac9..306178d7309f 100644 --- a/include/linux/cpuidle.h +++ b/include/linux/cpuidle.h | |||
@@ -126,6 +126,8 @@ struct cpuidle_driver { | |||
126 | 126 | ||
127 | #ifdef CONFIG_CPU_IDLE | 127 | #ifdef CONFIG_CPU_IDLE |
128 | extern void disable_cpuidle(void); | 128 | extern void disable_cpuidle(void); |
129 | extern bool cpuidle_not_available(struct cpuidle_driver *drv, | ||
130 | struct cpuidle_device *dev); | ||
129 | 131 | ||
130 | extern int cpuidle_select(struct cpuidle_driver *drv, | 132 | extern int cpuidle_select(struct cpuidle_driver *drv, |
131 | struct cpuidle_device *dev); | 133 | struct cpuidle_device *dev); |
@@ -150,11 +152,17 @@ extern void cpuidle_resume(void); | |||
150 | extern int cpuidle_enable_device(struct cpuidle_device *dev); | 152 | extern int cpuidle_enable_device(struct cpuidle_device *dev); |
151 | extern void cpuidle_disable_device(struct cpuidle_device *dev); | 153 | extern void cpuidle_disable_device(struct cpuidle_device *dev); |
152 | extern int cpuidle_play_dead(void); | 154 | extern int cpuidle_play_dead(void); |
153 | extern void cpuidle_enter_freeze(void); | 155 | extern int cpuidle_find_deepest_state(struct cpuidle_driver *drv, |
156 | struct cpuidle_device *dev); | ||
157 | extern int cpuidle_enter_freeze(struct cpuidle_driver *drv, | ||
158 | struct cpuidle_device *dev); | ||
154 | 159 | ||
155 | extern struct cpuidle_driver *cpuidle_get_cpu_driver(struct cpuidle_device *dev); | 160 | extern struct cpuidle_driver *cpuidle_get_cpu_driver(struct cpuidle_device *dev); |
156 | #else | 161 | #else |
157 | static inline void disable_cpuidle(void) { } | 162 | static inline void disable_cpuidle(void) { } |
163 | static inline bool cpuidle_not_available(struct cpuidle_driver *drv, | ||
164 | struct cpuidle_device *dev) | ||
165 | {return true; } | ||
158 | static inline int cpuidle_select(struct cpuidle_driver *drv, | 166 | static inline int cpuidle_select(struct cpuidle_driver *drv, |
159 | struct cpuidle_device *dev) | 167 | struct cpuidle_device *dev) |
160 | {return -ENODEV; } | 168 | {return -ENODEV; } |
@@ -183,7 +191,12 @@ static inline int cpuidle_enable_device(struct cpuidle_device *dev) | |||
183 | {return -ENODEV; } | 191 | {return -ENODEV; } |
184 | static inline void cpuidle_disable_device(struct cpuidle_device *dev) { } | 192 | static inline void cpuidle_disable_device(struct cpuidle_device *dev) { } |
185 | static inline int cpuidle_play_dead(void) {return -ENODEV; } | 193 | static inline int cpuidle_play_dead(void) {return -ENODEV; } |
186 | static inline void cpuidle_enter_freeze(void) { } | 194 | static inline int cpuidle_find_deepest_state(struct cpuidle_driver *drv, |
195 | struct cpuidle_device *dev) | ||
196 | {return -ENODEV; } | ||
197 | static inline int cpuidle_enter_freeze(struct cpuidle_driver *drv, | ||
198 | struct cpuidle_device *dev) | ||
199 | {return -ENODEV; } | ||
187 | static inline struct cpuidle_driver *cpuidle_get_cpu_driver( | 200 | static inline struct cpuidle_driver *cpuidle_get_cpu_driver( |
188 | struct cpuidle_device *dev) {return NULL; } | 201 | struct cpuidle_device *dev) {return NULL; } |
189 | #endif | 202 | #endif |
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index d9b05b5bf8c7..2e88580194f0 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
@@ -52,11 +52,17 @@ | |||
52 | * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished. | 52 | * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished. |
53 | * Used by threaded interrupts which need to keep the | 53 | * Used by threaded interrupts which need to keep the |
54 | * irq line disabled until the threaded handler has been run. | 54 | * irq line disabled until the threaded handler has been run. |
55 | * IRQF_NO_SUSPEND - Do not disable this IRQ during suspend | 55 | * IRQF_NO_SUSPEND - Do not disable this IRQ during suspend. Does not guarantee |
56 | * that this interrupt will wake the system from a suspended | ||
57 | * state. See Documentation/power/suspend-and-interrupts.txt | ||
56 | * IRQF_FORCE_RESUME - Force enable it on resume even if IRQF_NO_SUSPEND is set | 58 | * IRQF_FORCE_RESUME - Force enable it on resume even if IRQF_NO_SUSPEND is set |
57 | * IRQF_NO_THREAD - Interrupt cannot be threaded | 59 | * IRQF_NO_THREAD - Interrupt cannot be threaded |
58 | * IRQF_EARLY_RESUME - Resume IRQ early during syscore instead of at device | 60 | * IRQF_EARLY_RESUME - Resume IRQ early during syscore instead of at device |
59 | * resume time. | 61 | * resume time. |
62 | * IRQF_COND_SUSPEND - If the IRQ is shared with a NO_SUSPEND user, execute this | ||
63 | * interrupt handler after suspending interrupts. For system | ||
64 | * wakeup devices users need to implement wakeup detection in | ||
65 | * their interrupt handlers. | ||
60 | */ | 66 | */ |
61 | #define IRQF_DISABLED 0x00000020 | 67 | #define IRQF_DISABLED 0x00000020 |
62 | #define IRQF_SHARED 0x00000080 | 68 | #define IRQF_SHARED 0x00000080 |
@@ -70,6 +76,7 @@ | |||
70 | #define IRQF_FORCE_RESUME 0x00008000 | 76 | #define IRQF_FORCE_RESUME 0x00008000 |
71 | #define IRQF_NO_THREAD 0x00010000 | 77 | #define IRQF_NO_THREAD 0x00010000 |
72 | #define IRQF_EARLY_RESUME 0x00020000 | 78 | #define IRQF_EARLY_RESUME 0x00020000 |
79 | #define IRQF_COND_SUSPEND 0x00040000 | ||
73 | 80 | ||
74 | #define IRQF_TIMER (__IRQF_TIMER | IRQF_NO_SUSPEND | IRQF_NO_THREAD) | 81 | #define IRQF_TIMER (__IRQF_TIMER | IRQF_NO_SUSPEND | IRQF_NO_THREAD) |
75 | 82 | ||
diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h index 800544bc7bfd..781974afff9f 100644 --- a/include/linux/irqchip/arm-gic-v3.h +++ b/include/linux/irqchip/arm-gic-v3.h | |||
@@ -166,6 +166,11 @@ | |||
166 | 166 | ||
167 | #define GITS_TRANSLATER 0x10040 | 167 | #define GITS_TRANSLATER 0x10040 |
168 | 168 | ||
169 | #define GITS_CTLR_ENABLE (1U << 0) | ||
170 | #define GITS_CTLR_QUIESCENT (1U << 31) | ||
171 | |||
172 | #define GITS_TYPER_DEVBITS_SHIFT 13 | ||
173 | #define GITS_TYPER_DEVBITS(r) ((((r) >> GITS_TYPER_DEVBITS_SHIFT) & 0x1f) + 1) | ||
169 | #define GITS_TYPER_PTA (1UL << 19) | 174 | #define GITS_TYPER_PTA (1UL << 19) |
170 | 175 | ||
171 | #define GITS_CBASER_VALID (1UL << 63) | 176 | #define GITS_CBASER_VALID (1UL << 63) |
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h index faf433af425e..dd1109fb241e 100644 --- a/include/linux/irqdesc.h +++ b/include/linux/irqdesc.h | |||
@@ -78,6 +78,7 @@ struct irq_desc { | |||
78 | #ifdef CONFIG_PM_SLEEP | 78 | #ifdef CONFIG_PM_SLEEP |
79 | unsigned int nr_actions; | 79 | unsigned int nr_actions; |
80 | unsigned int no_suspend_depth; | 80 | unsigned int no_suspend_depth; |
81 | unsigned int cond_suspend_depth; | ||
81 | unsigned int force_resume_depth; | 82 | unsigned int force_resume_depth; |
82 | #endif | 83 | #endif |
83 | #ifdef CONFIG_PROC_FS | 84 | #ifdef CONFIG_PROC_FS |
diff --git a/include/linux/kasan.h b/include/linux/kasan.h index 72ba725ddf9c..5bb074431eb0 100644 --- a/include/linux/kasan.h +++ b/include/linux/kasan.h | |||
@@ -5,6 +5,7 @@ | |||
5 | 5 | ||
6 | struct kmem_cache; | 6 | struct kmem_cache; |
7 | struct page; | 7 | struct page; |
8 | struct vm_struct; | ||
8 | 9 | ||
9 | #ifdef CONFIG_KASAN | 10 | #ifdef CONFIG_KASAN |
10 | 11 | ||
@@ -49,15 +50,11 @@ void kasan_krealloc(const void *object, size_t new_size); | |||
49 | void kasan_slab_alloc(struct kmem_cache *s, void *object); | 50 | void kasan_slab_alloc(struct kmem_cache *s, void *object); |
50 | void kasan_slab_free(struct kmem_cache *s, void *object); | 51 | void kasan_slab_free(struct kmem_cache *s, void *object); |
51 | 52 | ||
52 | #define MODULE_ALIGN (PAGE_SIZE << KASAN_SHADOW_SCALE_SHIFT) | ||
53 | |||
54 | int kasan_module_alloc(void *addr, size_t size); | 53 | int kasan_module_alloc(void *addr, size_t size); |
55 | void kasan_module_free(void *addr); | 54 | void kasan_free_shadow(const struct vm_struct *vm); |
56 | 55 | ||
57 | #else /* CONFIG_KASAN */ | 56 | #else /* CONFIG_KASAN */ |
58 | 57 | ||
59 | #define MODULE_ALIGN 1 | ||
60 | |||
61 | static inline void kasan_unpoison_shadow(const void *address, size_t size) {} | 58 | static inline void kasan_unpoison_shadow(const void *address, size_t size) {} |
62 | 59 | ||
63 | static inline void kasan_enable_current(void) {} | 60 | static inline void kasan_enable_current(void) {} |
@@ -82,7 +79,7 @@ static inline void kasan_slab_alloc(struct kmem_cache *s, void *object) {} | |||
82 | static inline void kasan_slab_free(struct kmem_cache *s, void *object) {} | 79 | static inline void kasan_slab_free(struct kmem_cache *s, void *object) {} |
83 | 80 | ||
84 | static inline int kasan_module_alloc(void *addr, size_t size) { return 0; } | 81 | static inline int kasan_module_alloc(void *addr, size_t size) { return 0; } |
85 | static inline void kasan_module_free(void *addr) {} | 82 | static inline void kasan_free_shadow(const struct vm_struct *vm) {} |
86 | 83 | ||
87 | #endif /* CONFIG_KASAN */ | 84 | #endif /* CONFIG_KASAN */ |
88 | 85 | ||
diff --git a/include/linux/mlx4/qp.h b/include/linux/mlx4/qp.h index 2bbc62aa818a..551f85456c11 100644 --- a/include/linux/mlx4/qp.h +++ b/include/linux/mlx4/qp.h | |||
@@ -427,7 +427,7 @@ struct mlx4_wqe_inline_seg { | |||
427 | 427 | ||
428 | enum mlx4_update_qp_attr { | 428 | enum mlx4_update_qp_attr { |
429 | MLX4_UPDATE_QP_SMAC = 1 << 0, | 429 | MLX4_UPDATE_QP_SMAC = 1 << 0, |
430 | MLX4_UPDATE_QP_VSD = 1 << 2, | 430 | MLX4_UPDATE_QP_VSD = 1 << 1, |
431 | MLX4_UPDATE_QP_SUPPORTED_ATTRS = (1 << 2) - 1 | 431 | MLX4_UPDATE_QP_SUPPORTED_ATTRS = (1 << 2) - 1 |
432 | }; | 432 | }; |
433 | 433 | ||
diff --git a/include/linux/moduleloader.h b/include/linux/moduleloader.h index f7556261fe3c..4d0cb9bba93e 100644 --- a/include/linux/moduleloader.h +++ b/include/linux/moduleloader.h | |||
@@ -84,4 +84,12 @@ void module_arch_cleanup(struct module *mod); | |||
84 | 84 | ||
85 | /* Any cleanup before freeing mod->module_init */ | 85 | /* Any cleanup before freeing mod->module_init */ |
86 | void module_arch_freeing_init(struct module *mod); | 86 | void module_arch_freeing_init(struct module *mod); |
87 | |||
88 | #ifdef CONFIG_KASAN | ||
89 | #include <linux/kasan.h> | ||
90 | #define MODULE_ALIGN (PAGE_SIZE << KASAN_SHADOW_SCALE_SHIFT) | ||
91 | #else | ||
92 | #define MODULE_ALIGN PAGE_SIZE | ||
93 | #endif | ||
94 | |||
87 | #endif | 95 | #endif |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 5897b4ea5a3f..429d1790a27e 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -2342,6 +2342,7 @@ struct gro_remcsum { | |||
2342 | 2342 | ||
2343 | static inline void skb_gro_remcsum_init(struct gro_remcsum *grc) | 2343 | static inline void skb_gro_remcsum_init(struct gro_remcsum *grc) |
2344 | { | 2344 | { |
2345 | grc->offset = 0; | ||
2345 | grc->delta = 0; | 2346 | grc->delta = 0; |
2346 | } | 2347 | } |
2347 | 2348 | ||
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 2f77e0c651c8..b01ccf371fdc 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -343,6 +343,7 @@ extern struct inode *nfs_fhget(struct super_block *, struct nfs_fh *, | |||
343 | extern int nfs_refresh_inode(struct inode *, struct nfs_fattr *); | 343 | extern int nfs_refresh_inode(struct inode *, struct nfs_fattr *); |
344 | extern int nfs_post_op_update_inode(struct inode *inode, struct nfs_fattr *fattr); | 344 | extern int nfs_post_op_update_inode(struct inode *inode, struct nfs_fattr *fattr); |
345 | extern int nfs_post_op_update_inode_force_wcc(struct inode *inode, struct nfs_fattr *fattr); | 345 | extern int nfs_post_op_update_inode_force_wcc(struct inode *inode, struct nfs_fattr *fattr); |
346 | extern int nfs_post_op_update_inode_force_wcc_locked(struct inode *inode, struct nfs_fattr *fattr); | ||
346 | extern int nfs_getattr(struct vfsmount *, struct dentry *, struct kstat *); | 347 | extern int nfs_getattr(struct vfsmount *, struct dentry *, struct kstat *); |
347 | extern void nfs_access_add_cache(struct inode *, struct nfs_access_entry *); | 348 | extern void nfs_access_add_cache(struct inode *, struct nfs_access_entry *); |
348 | extern void nfs_access_set_mask(struct nfs_access_entry *, u32); | 349 | extern void nfs_access_set_mask(struct nfs_access_entry *, u32); |
@@ -355,8 +356,9 @@ extern int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode); | |||
355 | extern int nfs_revalidate_inode_rcu(struct nfs_server *server, struct inode *inode); | 356 | extern int nfs_revalidate_inode_rcu(struct nfs_server *server, struct inode *inode); |
356 | extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *); | 357 | extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *); |
357 | extern int nfs_revalidate_mapping(struct inode *inode, struct address_space *mapping); | 358 | extern int nfs_revalidate_mapping(struct inode *inode, struct address_space *mapping); |
359 | extern int nfs_revalidate_mapping_protected(struct inode *inode, struct address_space *mapping); | ||
358 | extern int nfs_setattr(struct dentry *, struct iattr *); | 360 | extern int nfs_setattr(struct dentry *, struct iattr *); |
359 | extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr); | 361 | extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr, struct nfs_fattr *); |
360 | extern void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr, | 362 | extern void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr, |
361 | struct nfs4_label *label); | 363 | struct nfs4_label *label); |
362 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); | 364 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); |
@@ -369,6 +371,7 @@ extern struct nfs_lock_context *nfs_get_lock_context(struct nfs_open_context *ct | |||
369 | extern void nfs_put_lock_context(struct nfs_lock_context *l_ctx); | 371 | extern void nfs_put_lock_context(struct nfs_lock_context *l_ctx); |
370 | extern u64 nfs_compat_user_ino64(u64 fileid); | 372 | extern u64 nfs_compat_user_ino64(u64 fileid); |
371 | extern void nfs_fattr_init(struct nfs_fattr *fattr); | 373 | extern void nfs_fattr_init(struct nfs_fattr *fattr); |
374 | extern void nfs_fattr_set_barrier(struct nfs_fattr *fattr); | ||
372 | extern unsigned long nfs_inc_attr_generation_counter(void); | 375 | extern unsigned long nfs_inc_attr_generation_counter(void); |
373 | 376 | ||
374 | extern struct nfs_fattr *nfs_alloc_fattr(void); | 377 | extern struct nfs_fattr *nfs_alloc_fattr(void); |
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h index 8a860f096c35..611a691145c4 100644 --- a/include/linux/of_platform.h +++ b/include/linux/of_platform.h | |||
@@ -84,7 +84,7 @@ static inline int of_platform_populate(struct device_node *root, | |||
84 | static inline void of_platform_depopulate(struct device *parent) { } | 84 | static inline void of_platform_depopulate(struct device *parent) { } |
85 | #endif | 85 | #endif |
86 | 86 | ||
87 | #ifdef CONFIG_OF_DYNAMIC | 87 | #if defined(CONFIG_OF_DYNAMIC) && defined(CONFIG_OF_ADDRESS) |
88 | extern void of_platform_register_reconfig_notifier(void); | 88 | extern void of_platform_register_reconfig_notifier(void); |
89 | #else | 89 | #else |
90 | static inline void of_platform_register_reconfig_notifier(void) { } | 90 | static inline void of_platform_register_reconfig_notifier(void) { } |
diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h index 58851275fed9..d438eeb08bff 100644 --- a/include/linux/rhashtable.h +++ b/include/linux/rhashtable.h | |||
@@ -54,10 +54,11 @@ struct rhash_head { | |||
54 | * @buckets: size * hash buckets | 54 | * @buckets: size * hash buckets |
55 | */ | 55 | */ |
56 | struct bucket_table { | 56 | struct bucket_table { |
57 | size_t size; | 57 | size_t size; |
58 | unsigned int locks_mask; | 58 | unsigned int locks_mask; |
59 | spinlock_t *locks; | 59 | spinlock_t *locks; |
60 | struct rhash_head __rcu *buckets[]; | 60 | |
61 | struct rhash_head __rcu *buckets[] ____cacheline_aligned_in_smp; | ||
61 | }; | 62 | }; |
62 | 63 | ||
63 | typedef u32 (*rht_hashfn_t)(const void *data, u32 len, u32 seed); | 64 | typedef u32 (*rht_hashfn_t)(const void *data, u32 len, u32 seed); |
@@ -78,12 +79,6 @@ struct rhashtable; | |||
78 | * @locks_mul: Number of bucket locks to allocate per cpu (default: 128) | 79 | * @locks_mul: Number of bucket locks to allocate per cpu (default: 128) |
79 | * @hashfn: Function to hash key | 80 | * @hashfn: Function to hash key |
80 | * @obj_hashfn: Function to hash object | 81 | * @obj_hashfn: Function to hash object |
81 | * @grow_decision: If defined, may return true if table should expand | ||
82 | * @shrink_decision: If defined, may return true if table should shrink | ||
83 | * | ||
84 | * Note: when implementing the grow and shrink decision function, min/max | ||
85 | * shift must be enforced, otherwise, resizing watermarks they set may be | ||
86 | * useless. | ||
87 | */ | 82 | */ |
88 | struct rhashtable_params { | 83 | struct rhashtable_params { |
89 | size_t nelem_hint; | 84 | size_t nelem_hint; |
@@ -97,10 +92,6 @@ struct rhashtable_params { | |||
97 | size_t locks_mul; | 92 | size_t locks_mul; |
98 | rht_hashfn_t hashfn; | 93 | rht_hashfn_t hashfn; |
99 | rht_obj_hashfn_t obj_hashfn; | 94 | rht_obj_hashfn_t obj_hashfn; |
100 | bool (*grow_decision)(const struct rhashtable *ht, | ||
101 | size_t new_size); | ||
102 | bool (*shrink_decision)(const struct rhashtable *ht, | ||
103 | size_t new_size); | ||
104 | }; | 95 | }; |
105 | 96 | ||
106 | /** | 97 | /** |
@@ -192,9 +183,6 @@ int rhashtable_init(struct rhashtable *ht, struct rhashtable_params *params); | |||
192 | void rhashtable_insert(struct rhashtable *ht, struct rhash_head *node); | 183 | void rhashtable_insert(struct rhashtable *ht, struct rhash_head *node); |
193 | bool rhashtable_remove(struct rhashtable *ht, struct rhash_head *node); | 184 | bool rhashtable_remove(struct rhashtable *ht, struct rhash_head *node); |
194 | 185 | ||
195 | bool rht_grow_above_75(const struct rhashtable *ht, size_t new_size); | ||
196 | bool rht_shrink_below_30(const struct rhashtable *ht, size_t new_size); | ||
197 | |||
198 | int rhashtable_expand(struct rhashtable *ht); | 186 | int rhashtable_expand(struct rhashtable *ht); |
199 | int rhashtable_shrink(struct rhashtable *ht); | 187 | int rhashtable_shrink(struct rhashtable *ht); |
200 | 188 | ||
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index baf3e1d08416..d10965f0d8a4 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h | |||
@@ -143,13 +143,13 @@ struct uart_port { | |||
143 | unsigned char iotype; /* io access style */ | 143 | unsigned char iotype; /* io access style */ |
144 | unsigned char unused1; | 144 | unsigned char unused1; |
145 | 145 | ||
146 | #define UPIO_PORT (0) /* 8b I/O port access */ | 146 | #define UPIO_PORT (SERIAL_IO_PORT) /* 8b I/O port access */ |
147 | #define UPIO_HUB6 (1) /* Hub6 ISA card */ | 147 | #define UPIO_HUB6 (SERIAL_IO_HUB6) /* Hub6 ISA card */ |
148 | #define UPIO_MEM (2) /* 8b MMIO access */ | 148 | #define UPIO_MEM (SERIAL_IO_MEM) /* 8b MMIO access */ |
149 | #define UPIO_MEM32 (3) /* 32b little endian */ | 149 | #define UPIO_MEM32 (SERIAL_IO_MEM32) /* 32b little endian */ |
150 | #define UPIO_MEM32BE (4) /* 32b big endian */ | 150 | #define UPIO_AU (SERIAL_IO_AU) /* Au1x00 and RT288x type IO */ |
151 | #define UPIO_AU (5) /* Au1x00 and RT288x type IO */ | 151 | #define UPIO_TSI (SERIAL_IO_TSI) /* Tsi108/109 type IO */ |
152 | #define UPIO_TSI (6) /* Tsi108/109 type IO */ | 152 | #define UPIO_MEM32BE (SERIAL_IO_MEM32BE) /* 32b big endian */ |
153 | 153 | ||
154 | unsigned int read_status_mask; /* driver specific */ | 154 | unsigned int read_status_mask; /* driver specific */ |
155 | unsigned int ignore_status_mask; /* driver specific */ | 155 | unsigned int ignore_status_mask; /* driver specific */ |
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index ed9489d893a4..856d34dde79b 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h | |||
@@ -649,7 +649,7 @@ struct spi_transfer { | |||
649 | * sequence completes. On some systems, many such sequences can execute as | 649 | * sequence completes. On some systems, many such sequences can execute as |
650 | * as single programmed DMA transfer. On all systems, these messages are | 650 | * as single programmed DMA transfer. On all systems, these messages are |
651 | * queued, and might complete after transactions to other devices. Messages | 651 | * queued, and might complete after transactions to other devices. Messages |
652 | * sent to a given spi_device are alway executed in FIFO order. | 652 | * sent to a given spi_device are always executed in FIFO order. |
653 | * | 653 | * |
654 | * The code that submits an spi_message (and its spi_transfers) | 654 | * The code that submits an spi_message (and its spi_transfers) |
655 | * to the lower layers is responsible for managing its memory. | 655 | * to the lower layers is responsible for managing its memory. |
diff --git a/include/linux/uio.h b/include/linux/uio.h index 07a022641996..71880299ed48 100644 --- a/include/linux/uio.h +++ b/include/linux/uio.h | |||
@@ -98,6 +98,8 @@ ssize_t iov_iter_get_pages_alloc(struct iov_iter *i, struct page ***pages, | |||
98 | size_t maxsize, size_t *start); | 98 | size_t maxsize, size_t *start); |
99 | int iov_iter_npages(const struct iov_iter *i, int maxpages); | 99 | int iov_iter_npages(const struct iov_iter *i, int maxpages); |
100 | 100 | ||
101 | const void *dup_iter(struct iov_iter *new, struct iov_iter *old, gfp_t flags); | ||
102 | |||
101 | static inline size_t iov_iter_count(struct iov_iter *i) | 103 | static inline size_t iov_iter_count(struct iov_iter *i) |
102 | { | 104 | { |
103 | return i->count; | 105 | return i->count; |
diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h index 9bb547c7bce7..704a1ab8240c 100644 --- a/include/linux/usb/serial.h +++ b/include/linux/usb/serial.h | |||
@@ -190,8 +190,7 @@ static inline void usb_set_serial_data(struct usb_serial *serial, void *data) | |||
190 | * @num_ports: the number of different ports this device will have. | 190 | * @num_ports: the number of different ports this device will have. |
191 | * @bulk_in_size: minimum number of bytes to allocate for bulk-in buffer | 191 | * @bulk_in_size: minimum number of bytes to allocate for bulk-in buffer |
192 | * (0 = end-point size) | 192 | * (0 = end-point size) |
193 | * @bulk_out_size: minimum number of bytes to allocate for bulk-out buffer | 193 | * @bulk_out_size: bytes to allocate for bulk-out buffer (0 = end-point size) |
194 | * (0 = end-point size) | ||
195 | * @calc_num_ports: pointer to a function to determine how many ports this | 194 | * @calc_num_ports: pointer to a function to determine how many ports this |
196 | * device has dynamically. It will be called after the probe() | 195 | * device has dynamically. It will be called after the probe() |
197 | * callback is called, but before attach() | 196 | * callback is called, but before attach() |
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index 7d7acb35603d..0ec598381f97 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h | |||
@@ -17,6 +17,7 @@ struct vm_area_struct; /* vma defining user mapping in mm_types.h */ | |||
17 | #define VM_VPAGES 0x00000010 /* buffer for pages was vmalloc'ed */ | 17 | #define VM_VPAGES 0x00000010 /* buffer for pages was vmalloc'ed */ |
18 | #define VM_UNINITIALIZED 0x00000020 /* vm_struct is not fully initialized */ | 18 | #define VM_UNINITIALIZED 0x00000020 /* vm_struct is not fully initialized */ |
19 | #define VM_NO_GUARD 0x00000040 /* don't add guard page */ | 19 | #define VM_NO_GUARD 0x00000040 /* don't add guard page */ |
20 | #define VM_KASAN 0x00000080 /* has allocated kasan shadow memory */ | ||
20 | /* bits [20..32] reserved for arch specific ioremap internals */ | 21 | /* bits [20..32] reserved for arch specific ioremap internals */ |
21 | 22 | ||
22 | /* | 23 | /* |
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 74db135f9957..f597846ff605 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
@@ -70,7 +70,8 @@ enum { | |||
70 | /* data contains off-queue information when !WORK_STRUCT_PWQ */ | 70 | /* data contains off-queue information when !WORK_STRUCT_PWQ */ |
71 | WORK_OFFQ_FLAG_BASE = WORK_STRUCT_COLOR_SHIFT, | 71 | WORK_OFFQ_FLAG_BASE = WORK_STRUCT_COLOR_SHIFT, |
72 | 72 | ||
73 | WORK_OFFQ_CANCELING = (1 << WORK_OFFQ_FLAG_BASE), | 73 | __WORK_OFFQ_CANCELING = WORK_OFFQ_FLAG_BASE, |
74 | WORK_OFFQ_CANCELING = (1 << __WORK_OFFQ_CANCELING), | ||
74 | 75 | ||
75 | /* | 76 | /* |
76 | * When a work item is off queue, its high bits point to the last | 77 | * When a work item is off queue, its high bits point to the last |
diff --git a/include/net/caif/cfpkt.h b/include/net/caif/cfpkt.h index 1c1ad46250d5..fe328c52c46b 100644 --- a/include/net/caif/cfpkt.h +++ b/include/net/caif/cfpkt.h | |||
@@ -171,7 +171,7 @@ struct cfpkt *cfpkt_split(struct cfpkt *pkt, u16 pos); | |||
171 | * @return Checksum of buffer. | 171 | * @return Checksum of buffer. |
172 | */ | 172 | */ |
173 | 173 | ||
174 | u16 cfpkt_iterate(struct cfpkt *pkt, | 174 | int cfpkt_iterate(struct cfpkt *pkt, |
175 | u16 (*iter_func)(u16 chks, void *buf, u16 len), | 175 | u16 (*iter_func)(u16 chks, void *buf, u16 len), |
176 | u16 data); | 176 | u16 data); |
177 | 177 | ||
diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h index 9eaaa7884586..decb9a095ae7 100644 --- a/include/net/netfilter/nf_tables.h +++ b/include/net/netfilter/nf_tables.h | |||
@@ -119,6 +119,22 @@ int nft_validate_data_load(const struct nft_ctx *ctx, enum nft_registers reg, | |||
119 | const struct nft_data *data, | 119 | const struct nft_data *data, |
120 | enum nft_data_types type); | 120 | enum nft_data_types type); |
121 | 121 | ||
122 | |||
123 | /** | ||
124 | * struct nft_userdata - user defined data associated with an object | ||
125 | * | ||
126 | * @len: length of the data | ||
127 | * @data: content | ||
128 | * | ||
129 | * The presence of user data is indicated in an object specific fashion, | ||
130 | * so a length of zero can't occur and the value "len" indicates data | ||
131 | * of length len + 1. | ||
132 | */ | ||
133 | struct nft_userdata { | ||
134 | u8 len; | ||
135 | unsigned char data[0]; | ||
136 | }; | ||
137 | |||
122 | /** | 138 | /** |
123 | * struct nft_set_elem - generic representation of set elements | 139 | * struct nft_set_elem - generic representation of set elements |
124 | * | 140 | * |
@@ -380,7 +396,7 @@ static inline void *nft_expr_priv(const struct nft_expr *expr) | |||
380 | * @handle: rule handle | 396 | * @handle: rule handle |
381 | * @genmask: generation mask | 397 | * @genmask: generation mask |
382 | * @dlen: length of expression data | 398 | * @dlen: length of expression data |
383 | * @ulen: length of user data (used for comments) | 399 | * @udata: user data is appended to the rule |
384 | * @data: expression data | 400 | * @data: expression data |
385 | */ | 401 | */ |
386 | struct nft_rule { | 402 | struct nft_rule { |
@@ -388,7 +404,7 @@ struct nft_rule { | |||
388 | u64 handle:42, | 404 | u64 handle:42, |
389 | genmask:2, | 405 | genmask:2, |
390 | dlen:12, | 406 | dlen:12, |
391 | ulen:8; | 407 | udata:1; |
392 | unsigned char data[] | 408 | unsigned char data[] |
393 | __attribute__((aligned(__alignof__(struct nft_expr)))); | 409 | __attribute__((aligned(__alignof__(struct nft_expr)))); |
394 | }; | 410 | }; |
@@ -476,7 +492,7 @@ static inline struct nft_expr *nft_expr_last(const struct nft_rule *rule) | |||
476 | return (struct nft_expr *)&rule->data[rule->dlen]; | 492 | return (struct nft_expr *)&rule->data[rule->dlen]; |
477 | } | 493 | } |
478 | 494 | ||
479 | static inline void *nft_userdata(const struct nft_rule *rule) | 495 | static inline struct nft_userdata *nft_userdata(const struct nft_rule *rule) |
480 | { | 496 | { |
481 | return (void *)&rule->data[rule->dlen]; | 497 | return (void *)&rule->data[rule->dlen]; |
482 | } | 498 | } |
diff --git a/include/soc/at91/at91sam9_ddrsdr.h b/include/soc/at91/at91sam9_ddrsdr.h index 0210797abf2e..dc10c52e0e91 100644 --- a/include/soc/at91/at91sam9_ddrsdr.h +++ b/include/soc/at91/at91sam9_ddrsdr.h | |||
@@ -92,7 +92,7 @@ | |||
92 | #define AT91_DDRSDRC_UPD_MR (3 << 20) /* Update load mode register and extended mode register */ | 92 | #define AT91_DDRSDRC_UPD_MR (3 << 20) /* Update load mode register and extended mode register */ |
93 | 93 | ||
94 | #define AT91_DDRSDRC_MDR 0x20 /* Memory Device Register */ | 94 | #define AT91_DDRSDRC_MDR 0x20 /* Memory Device Register */ |
95 | #define AT91_DDRSDRC_MD (3 << 0) /* Memory Device Type */ | 95 | #define AT91_DDRSDRC_MD (7 << 0) /* Memory Device Type */ |
96 | #define AT91_DDRSDRC_MD_SDR 0 | 96 | #define AT91_DDRSDRC_MD_SDR 0 |
97 | #define AT91_DDRSDRC_MD_LOW_POWER_SDR 1 | 97 | #define AT91_DDRSDRC_MD_LOW_POWER_SDR 1 |
98 | #define AT91_DDRSDRC_MD_LOW_POWER_DDR 3 | 98 | #define AT91_DDRSDRC_MD_LOW_POWER_DDR 3 |
diff --git a/include/uapi/linux/serial.h b/include/uapi/linux/serial.h index 5e0d0ed61cf3..25331f9faa76 100644 --- a/include/uapi/linux/serial.h +++ b/include/uapi/linux/serial.h | |||
@@ -65,6 +65,10 @@ struct serial_struct { | |||
65 | #define SERIAL_IO_PORT 0 | 65 | #define SERIAL_IO_PORT 0 |
66 | #define SERIAL_IO_HUB6 1 | 66 | #define SERIAL_IO_HUB6 1 |
67 | #define SERIAL_IO_MEM 2 | 67 | #define SERIAL_IO_MEM 2 |
68 | #define SERIAL_IO_MEM32 3 | ||
69 | #define SERIAL_IO_AU 4 | ||
70 | #define SERIAL_IO_TSI 5 | ||
71 | #define SERIAL_IO_MEM32BE 6 | ||
68 | 72 | ||
69 | #define UART_CLEAR_FIFO 0x01 | 73 | #define UART_CLEAR_FIFO 0x01 |
70 | #define UART_USE_FIFO 0x02 | 74 | #define UART_USE_FIFO 0x02 |
diff --git a/include/uapi/linux/tc_act/Kbuild b/include/uapi/linux/tc_act/Kbuild index 19d5219b0b99..242cf0c6e33d 100644 --- a/include/uapi/linux/tc_act/Kbuild +++ b/include/uapi/linux/tc_act/Kbuild | |||
@@ -9,3 +9,4 @@ header-y += tc_pedit.h | |||
9 | header-y += tc_skbedit.h | 9 | header-y += tc_skbedit.h |
10 | header-y += tc_vlan.h | 10 | header-y += tc_vlan.h |
11 | header-y += tc_bpf.h | 11 | header-y += tc_bpf.h |
12 | header-y += tc_connmark.h | ||
diff --git a/include/video/omapdss.h b/include/video/omapdss.h index 60de61fea8e3..c8ed15daad02 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h | |||
@@ -689,6 +689,7 @@ struct omapdss_dsi_ops { | |||
689 | }; | 689 | }; |
690 | 690 | ||
691 | struct omap_dss_device { | 691 | struct omap_dss_device { |
692 | struct kobject kobj; | ||
692 | struct device *dev; | 693 | struct device *dev; |
693 | 694 | ||
694 | struct module *owner; | 695 | struct module *owner; |
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h index b78f21caf55a..b0f1c9e5d687 100644 --- a/include/xen/xenbus.h +++ b/include/xen/xenbus.h | |||
@@ -114,9 +114,9 @@ int __must_check __xenbus_register_backend(struct xenbus_driver *drv, | |||
114 | const char *mod_name); | 114 | const char *mod_name); |
115 | 115 | ||
116 | #define xenbus_register_frontend(drv) \ | 116 | #define xenbus_register_frontend(drv) \ |
117 | __xenbus_register_frontend(drv, THIS_MODULE, KBUILD_MODNAME); | 117 | __xenbus_register_frontend(drv, THIS_MODULE, KBUILD_MODNAME) |
118 | #define xenbus_register_backend(drv) \ | 118 | #define xenbus_register_backend(drv) \ |
119 | __xenbus_register_backend(drv, THIS_MODULE, KBUILD_MODNAME); | 119 | __xenbus_register_backend(drv, THIS_MODULE, KBUILD_MODNAME) |
120 | 120 | ||
121 | void xenbus_unregister_driver(struct xenbus_driver *drv); | 121 | void xenbus_unregister_driver(struct xenbus_driver *drv); |
122 | 122 | ||