diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-generic/hugetlb.h | 4 | ||||
-rw-r--r-- | include/asm-generic/vtime.h | 1 | ||||
-rw-r--r-- | include/linux/balloon_compaction.h | 25 | ||||
-rw-r--r-- | include/linux/bcma/bcma_driver_pci.h | 1 | ||||
-rw-r--r-- | include/linux/device-mapper.h | 3 | ||||
-rw-r--r-- | include/linux/hyperv.h | 7 | ||||
-rw-r--r-- | include/linux/kernel.h | 11 | ||||
-rw-r--r-- | include/linux/memcontrol.h | 55 | ||||
-rw-r--r-- | include/linux/mutex.h | 6 | ||||
-rw-r--r-- | include/linux/nfs_xdr.h | 3 | ||||
-rw-r--r-- | include/linux/of_irq.h | 20 | ||||
-rw-r--r-- | include/linux/regulator/driver.h | 2 | ||||
-rw-r--r-- | include/linux/skbuff.h | 2 | ||||
-rw-r--r-- | include/linux/smp.h | 6 | ||||
-rw-r--r-- | include/linux/usb/usbnet.h | 1 | ||||
-rw-r--r-- | include/net/addrconf.h | 4 | ||||
-rw-r--r-- | include/net/bluetooth/hci.h | 1 | ||||
-rw-r--r-- | include/net/ip_vs.h | 9 | ||||
-rw-r--r-- | include/net/mrp.h | 1 | ||||
-rw-r--r-- | include/net/net_namespace.h | 1 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack_synproxy.h | 2 | ||||
-rw-r--r-- | include/net/secure_seq.h | 1 | ||||
-rw-r--r-- | include/net/sock.h | 5 | ||||
-rw-r--r-- | include/uapi/drm/radeon_drm.h | 2 | ||||
-rw-r--r-- | include/uapi/linux/perf_event.h | 15 |
25 files changed, 108 insertions, 80 deletions
diff --git a/include/asm-generic/hugetlb.h b/include/asm-generic/hugetlb.h index d06079c774a0..99b490b4d05a 100644 --- a/include/asm-generic/hugetlb.h +++ b/include/asm-generic/hugetlb.h | |||
@@ -6,12 +6,12 @@ static inline pte_t mk_huge_pte(struct page *page, pgprot_t pgprot) | |||
6 | return mk_pte(page, pgprot); | 6 | return mk_pte(page, pgprot); |
7 | } | 7 | } |
8 | 8 | ||
9 | static inline int huge_pte_write(pte_t pte) | 9 | static inline unsigned long huge_pte_write(pte_t pte) |
10 | { | 10 | { |
11 | return pte_write(pte); | 11 | return pte_write(pte); |
12 | } | 12 | } |
13 | 13 | ||
14 | static inline int huge_pte_dirty(pte_t pte) | 14 | static inline unsigned long huge_pte_dirty(pte_t pte) |
15 | { | 15 | { |
16 | return pte_dirty(pte); | 16 | return pte_dirty(pte); |
17 | } | 17 | } |
diff --git a/include/asm-generic/vtime.h b/include/asm-generic/vtime.h index e69de29bb2d1..b1a49677fe25 100644 --- a/include/asm-generic/vtime.h +++ b/include/asm-generic/vtime.h | |||
@@ -0,0 +1 @@ | |||
/* no content, but patch(1) dislikes empty files */ | |||
diff --git a/include/linux/balloon_compaction.h b/include/linux/balloon_compaction.h index f7f1d7169b11..089743ade734 100644 --- a/include/linux/balloon_compaction.h +++ b/include/linux/balloon_compaction.h | |||
@@ -159,6 +159,26 @@ static inline bool balloon_page_movable(struct page *page) | |||
159 | } | 159 | } |
160 | 160 | ||
161 | /* | 161 | /* |
162 | * isolated_balloon_page - identify an isolated balloon page on private | ||
163 | * compaction/migration page lists. | ||
164 | * | ||
165 | * After a compaction thread isolates a balloon page for migration, it raises | ||
166 | * the page refcount to prevent concurrent compaction threads from re-isolating | ||
167 | * the same page. For that reason putback_movable_pages(), or other routines | ||
168 | * that need to identify isolated balloon pages on private pagelists, cannot | ||
169 | * rely on balloon_page_movable() to accomplish the task. | ||
170 | */ | ||
171 | static inline bool isolated_balloon_page(struct page *page) | ||
172 | { | ||
173 | /* Already isolated balloon pages, by default, have a raised refcount */ | ||
174 | if (page_flags_cleared(page) && !page_mapped(page) && | ||
175 | page_count(page) >= 2) | ||
176 | return __is_movable_balloon_page(page); | ||
177 | |||
178 | return false; | ||
179 | } | ||
180 | |||
181 | /* | ||
162 | * balloon_page_insert - insert a page into the balloon's page list and make | 182 | * balloon_page_insert - insert a page into the balloon's page list and make |
163 | * the page->mapping assignment accordingly. | 183 | * the page->mapping assignment accordingly. |
164 | * @page : page to be assigned as a 'balloon page' | 184 | * @page : page to be assigned as a 'balloon page' |
@@ -243,6 +263,11 @@ static inline bool balloon_page_movable(struct page *page) | |||
243 | return false; | 263 | return false; |
244 | } | 264 | } |
245 | 265 | ||
266 | static inline bool isolated_balloon_page(struct page *page) | ||
267 | { | ||
268 | return false; | ||
269 | } | ||
270 | |||
246 | static inline bool balloon_page_isolate(struct page *page) | 271 | static inline bool balloon_page_isolate(struct page *page) |
247 | { | 272 | { |
248 | return false; | 273 | return false; |
diff --git a/include/linux/bcma/bcma_driver_pci.h b/include/linux/bcma/bcma_driver_pci.h index d66033f418c9..0333e605ea0d 100644 --- a/include/linux/bcma/bcma_driver_pci.h +++ b/include/linux/bcma/bcma_driver_pci.h | |||
@@ -242,6 +242,7 @@ extern int bcma_core_pci_irq_ctl(struct bcma_drv_pci *pc, | |||
242 | struct bcma_device *core, bool enable); | 242 | struct bcma_device *core, bool enable); |
243 | extern void bcma_core_pci_up(struct bcma_bus *bus); | 243 | extern void bcma_core_pci_up(struct bcma_bus *bus); |
244 | extern void bcma_core_pci_down(struct bcma_bus *bus); | 244 | extern void bcma_core_pci_down(struct bcma_bus *bus); |
245 | extern void bcma_core_pci_power_save(struct bcma_bus *bus, bool up); | ||
245 | 246 | ||
246 | extern int bcma_core_pci_pcibios_map_irq(const struct pci_dev *dev); | 247 | extern int bcma_core_pci_pcibios_map_irq(const struct pci_dev *dev); |
247 | extern int bcma_core_pci_plat_dev_init(struct pci_dev *dev); | 248 | extern int bcma_core_pci_plat_dev_init(struct pci_dev *dev); |
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index 653073de09e3..ed419c62dde1 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h | |||
@@ -406,13 +406,14 @@ int dm_noflush_suspending(struct dm_target *ti); | |||
406 | union map_info *dm_get_mapinfo(struct bio *bio); | 406 | union map_info *dm_get_mapinfo(struct bio *bio); |
407 | union map_info *dm_get_rq_mapinfo(struct request *rq); | 407 | union map_info *dm_get_rq_mapinfo(struct request *rq); |
408 | 408 | ||
409 | struct queue_limits *dm_get_queue_limits(struct mapped_device *md); | ||
410 | |||
409 | /* | 411 | /* |
410 | * Geometry functions. | 412 | * Geometry functions. |
411 | */ | 413 | */ |
412 | int dm_get_geometry(struct mapped_device *md, struct hd_geometry *geo); | 414 | int dm_get_geometry(struct mapped_device *md, struct hd_geometry *geo); |
413 | int dm_set_geometry(struct mapped_device *md, struct hd_geometry *geo); | 415 | int dm_set_geometry(struct mapped_device *md, struct hd_geometry *geo); |
414 | 416 | ||
415 | |||
416 | /*----------------------------------------------------------------- | 417 | /*----------------------------------------------------------------- |
417 | * Functions for manipulating device-mapper tables. | 418 | * Functions for manipulating device-mapper tables. |
418 | *---------------------------------------------------------------*/ | 419 | *---------------------------------------------------------------*/ |
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index a3b8b2e2d244..d98503bde7e9 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h | |||
@@ -30,10 +30,13 @@ | |||
30 | /* | 30 | /* |
31 | * Framework version for util services. | 31 | * Framework version for util services. |
32 | */ | 32 | */ |
33 | #define UTIL_FW_MINOR 0 | ||
34 | |||
35 | #define UTIL_WS2K8_FW_MAJOR 1 | ||
36 | #define UTIL_WS2K8_FW_VERSION (UTIL_WS2K8_FW_MAJOR << 16 | UTIL_FW_MINOR) | ||
33 | 37 | ||
34 | #define UTIL_FW_MAJOR 3 | 38 | #define UTIL_FW_MAJOR 3 |
35 | #define UTIL_FW_MINOR 0 | 39 | #define UTIL_FW_VERSION (UTIL_FW_MAJOR << 16 | UTIL_FW_MINOR) |
36 | #define UTIL_FW_MAJOR_MINOR (UTIL_FW_MAJOR << 16 | UTIL_FW_MINOR) | ||
37 | 40 | ||
38 | 41 | ||
39 | /* | 42 | /* |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 482ad2d84a32..672ddc4de4af 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -439,6 +439,17 @@ static inline char *hex_byte_pack(char *buf, u8 byte) | |||
439 | return buf; | 439 | return buf; |
440 | } | 440 | } |
441 | 441 | ||
442 | extern const char hex_asc_upper[]; | ||
443 | #define hex_asc_upper_lo(x) hex_asc_upper[((x) & 0x0f)] | ||
444 | #define hex_asc_upper_hi(x) hex_asc_upper[((x) & 0xf0) >> 4] | ||
445 | |||
446 | static inline char *hex_byte_pack_upper(char *buf, u8 byte) | ||
447 | { | ||
448 | *buf++ = hex_asc_upper_hi(byte); | ||
449 | *buf++ = hex_asc_upper_lo(byte); | ||
450 | return buf; | ||
451 | } | ||
452 | |||
442 | static inline char * __deprecated pack_hex_byte(char *buf, u8 byte) | 453 | static inline char * __deprecated pack_hex_byte(char *buf, u8 byte) |
443 | { | 454 | { |
444 | return hex_byte_pack(buf, byte); | 455 | return hex_byte_pack(buf, byte); |
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 60e95872da29..ecc82b37c4cc 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
@@ -53,23 +53,6 @@ struct mem_cgroup_reclaim_cookie { | |||
53 | unsigned int generation; | 53 | unsigned int generation; |
54 | }; | 54 | }; |
55 | 55 | ||
56 | enum mem_cgroup_filter_t { | ||
57 | VISIT, /* visit current node */ | ||
58 | SKIP, /* skip the current node and continue traversal */ | ||
59 | SKIP_TREE, /* skip the whole subtree and continue traversal */ | ||
60 | }; | ||
61 | |||
62 | /* | ||
63 | * mem_cgroup_filter_t predicate might instruct mem_cgroup_iter_cond how to | ||
64 | * iterate through the hierarchy tree. Each tree element is checked by the | ||
65 | * predicate before it is returned by the iterator. If a filter returns | ||
66 | * SKIP or SKIP_TREE then the iterator code continues traversal (with the | ||
67 | * next node down the hierarchy or the next node that doesn't belong under the | ||
68 | * memcg's subtree). | ||
69 | */ | ||
70 | typedef enum mem_cgroup_filter_t | ||
71 | (*mem_cgroup_iter_filter)(struct mem_cgroup *memcg, struct mem_cgroup *root); | ||
72 | |||
73 | #ifdef CONFIG_MEMCG | 56 | #ifdef CONFIG_MEMCG |
74 | /* | 57 | /* |
75 | * All "charge" functions with gfp_mask should use GFP_KERNEL or | 58 | * All "charge" functions with gfp_mask should use GFP_KERNEL or |
@@ -137,18 +120,9 @@ mem_cgroup_prepare_migration(struct page *page, struct page *newpage, | |||
137 | extern void mem_cgroup_end_migration(struct mem_cgroup *memcg, | 120 | extern void mem_cgroup_end_migration(struct mem_cgroup *memcg, |
138 | struct page *oldpage, struct page *newpage, bool migration_ok); | 121 | struct page *oldpage, struct page *newpage, bool migration_ok); |
139 | 122 | ||
140 | struct mem_cgroup *mem_cgroup_iter_cond(struct mem_cgroup *root, | 123 | struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *, |
141 | struct mem_cgroup *prev, | 124 | struct mem_cgroup *, |
142 | struct mem_cgroup_reclaim_cookie *reclaim, | 125 | struct mem_cgroup_reclaim_cookie *); |
143 | mem_cgroup_iter_filter cond); | ||
144 | |||
145 | static inline struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, | ||
146 | struct mem_cgroup *prev, | ||
147 | struct mem_cgroup_reclaim_cookie *reclaim) | ||
148 | { | ||
149 | return mem_cgroup_iter_cond(root, prev, reclaim, NULL); | ||
150 | } | ||
151 | |||
152 | void mem_cgroup_iter_break(struct mem_cgroup *, struct mem_cgroup *); | 126 | void mem_cgroup_iter_break(struct mem_cgroup *, struct mem_cgroup *); |
153 | 127 | ||
154 | /* | 128 | /* |
@@ -260,9 +234,9 @@ static inline void mem_cgroup_dec_page_stat(struct page *page, | |||
260 | mem_cgroup_update_page_stat(page, idx, -1); | 234 | mem_cgroup_update_page_stat(page, idx, -1); |
261 | } | 235 | } |
262 | 236 | ||
263 | enum mem_cgroup_filter_t | 237 | unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order, |
264 | mem_cgroup_soft_reclaim_eligible(struct mem_cgroup *memcg, | 238 | gfp_t gfp_mask, |
265 | struct mem_cgroup *root); | 239 | unsigned long *total_scanned); |
266 | 240 | ||
267 | void __mem_cgroup_count_vm_event(struct mm_struct *mm, enum vm_event_item idx); | 241 | void __mem_cgroup_count_vm_event(struct mm_struct *mm, enum vm_event_item idx); |
268 | static inline void mem_cgroup_count_vm_event(struct mm_struct *mm, | 242 | static inline void mem_cgroup_count_vm_event(struct mm_struct *mm, |
@@ -376,15 +350,6 @@ static inline void mem_cgroup_end_migration(struct mem_cgroup *memcg, | |||
376 | struct page *oldpage, struct page *newpage, bool migration_ok) | 350 | struct page *oldpage, struct page *newpage, bool migration_ok) |
377 | { | 351 | { |
378 | } | 352 | } |
379 | static inline struct mem_cgroup * | ||
380 | mem_cgroup_iter_cond(struct mem_cgroup *root, | ||
381 | struct mem_cgroup *prev, | ||
382 | struct mem_cgroup_reclaim_cookie *reclaim, | ||
383 | mem_cgroup_iter_filter cond) | ||
384 | { | ||
385 | /* first call must return non-NULL, second return NULL */ | ||
386 | return (struct mem_cgroup *)(unsigned long)!prev; | ||
387 | } | ||
388 | 353 | ||
389 | static inline struct mem_cgroup * | 354 | static inline struct mem_cgroup * |
390 | mem_cgroup_iter(struct mem_cgroup *root, | 355 | mem_cgroup_iter(struct mem_cgroup *root, |
@@ -471,11 +436,11 @@ static inline void mem_cgroup_dec_page_stat(struct page *page, | |||
471 | } | 436 | } |
472 | 437 | ||
473 | static inline | 438 | static inline |
474 | enum mem_cgroup_filter_t | 439 | unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order, |
475 | mem_cgroup_soft_reclaim_eligible(struct mem_cgroup *memcg, | 440 | gfp_t gfp_mask, |
476 | struct mem_cgroup *root) | 441 | unsigned long *total_scanned) |
477 | { | 442 | { |
478 | return VISIT; | 443 | return 0; |
479 | } | 444 | } |
480 | 445 | ||
481 | static inline void mem_cgroup_split_huge_fixup(struct page *head) | 446 | static inline void mem_cgroup_split_huge_fixup(struct page *head) |
diff --git a/include/linux/mutex.h b/include/linux/mutex.h index ccd4260834c5..bab49da8a0f0 100644 --- a/include/linux/mutex.h +++ b/include/linux/mutex.h | |||
@@ -15,8 +15,8 @@ | |||
15 | #include <linux/spinlock_types.h> | 15 | #include <linux/spinlock_types.h> |
16 | #include <linux/linkage.h> | 16 | #include <linux/linkage.h> |
17 | #include <linux/lockdep.h> | 17 | #include <linux/lockdep.h> |
18 | |||
19 | #include <linux/atomic.h> | 18 | #include <linux/atomic.h> |
19 | #include <asm/processor.h> | ||
20 | 20 | ||
21 | /* | 21 | /* |
22 | * Simple, straightforward mutexes with strict semantics: | 22 | * Simple, straightforward mutexes with strict semantics: |
@@ -175,8 +175,8 @@ extern void mutex_unlock(struct mutex *lock); | |||
175 | 175 | ||
176 | extern int atomic_dec_and_mutex_lock(atomic_t *cnt, struct mutex *lock); | 176 | extern int atomic_dec_and_mutex_lock(atomic_t *cnt, struct mutex *lock); |
177 | 177 | ||
178 | #ifndef CONFIG_HAVE_ARCH_MUTEX_CPU_RELAX | 178 | #ifndef arch_mutex_cpu_relax |
179 | #define arch_mutex_cpu_relax() cpu_relax() | 179 | # define arch_mutex_cpu_relax() cpu_relax() |
180 | #endif | 180 | #endif |
181 | 181 | ||
182 | #endif | 182 | #endif |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index 01fd84b566f7..49f52c8f4422 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -1455,7 +1455,8 @@ struct nfs_rpc_ops { | |||
1455 | struct inode * (*open_context) (struct inode *dir, | 1455 | struct inode * (*open_context) (struct inode *dir, |
1456 | struct nfs_open_context *ctx, | 1456 | struct nfs_open_context *ctx, |
1457 | int open_flags, | 1457 | int open_flags, |
1458 | struct iattr *iattr); | 1458 | struct iattr *iattr, |
1459 | int *); | ||
1459 | int (*have_delegation)(struct inode *, fmode_t); | 1460 | int (*have_delegation)(struct inode *, fmode_t); |
1460 | int (*return_delegation)(struct inode *); | 1461 | int (*return_delegation)(struct inode *); |
1461 | struct nfs_client *(*alloc_client) (const struct nfs_client_initdata *); | 1462 | struct nfs_client *(*alloc_client) (const struct nfs_client_initdata *); |
diff --git a/include/linux/of_irq.h b/include/linux/of_irq.h index 535cecf1e02f..fcd63baee5f2 100644 --- a/include/linux/of_irq.h +++ b/include/linux/of_irq.h | |||
@@ -1,8 +1,6 @@ | |||
1 | #ifndef __OF_IRQ_H | 1 | #ifndef __OF_IRQ_H |
2 | #define __OF_IRQ_H | 2 | #define __OF_IRQ_H |
3 | 3 | ||
4 | #if defined(CONFIG_OF) | ||
5 | struct of_irq; | ||
6 | #include <linux/types.h> | 4 | #include <linux/types.h> |
7 | #include <linux/errno.h> | 5 | #include <linux/errno.h> |
8 | #include <linux/irq.h> | 6 | #include <linux/irq.h> |
@@ -10,14 +8,6 @@ struct of_irq; | |||
10 | #include <linux/ioport.h> | 8 | #include <linux/ioport.h> |
11 | #include <linux/of.h> | 9 | #include <linux/of.h> |
12 | 10 | ||
13 | /* | ||
14 | * irq_of_parse_and_map() is used by all OF enabled platforms; but SPARC | ||
15 | * implements it differently. However, the prototype is the same for all, | ||
16 | * so declare it here regardless of the CONFIG_OF_IRQ setting. | ||
17 | */ | ||
18 | extern unsigned int irq_of_parse_and_map(struct device_node *node, int index); | ||
19 | |||
20 | #if defined(CONFIG_OF_IRQ) | ||
21 | /** | 11 | /** |
22 | * of_irq - container for device_node/irq_specifier pair for an irq controller | 12 | * of_irq - container for device_node/irq_specifier pair for an irq controller |
23 | * @controller: pointer to interrupt controller device tree node | 13 | * @controller: pointer to interrupt controller device tree node |
@@ -71,11 +61,17 @@ extern int of_irq_to_resource(struct device_node *dev, int index, | |||
71 | extern int of_irq_count(struct device_node *dev); | 61 | extern int of_irq_count(struct device_node *dev); |
72 | extern int of_irq_to_resource_table(struct device_node *dev, | 62 | extern int of_irq_to_resource_table(struct device_node *dev, |
73 | struct resource *res, int nr_irqs); | 63 | struct resource *res, int nr_irqs); |
74 | extern struct device_node *of_irq_find_parent(struct device_node *child); | ||
75 | 64 | ||
76 | extern void of_irq_init(const struct of_device_id *matches); | 65 | extern void of_irq_init(const struct of_device_id *matches); |
77 | 66 | ||
78 | #endif /* CONFIG_OF_IRQ */ | 67 | #if defined(CONFIG_OF) |
68 | /* | ||
69 | * irq_of_parse_and_map() is used by all OF enabled platforms; but SPARC | ||
70 | * implements it differently. However, the prototype is the same for all, | ||
71 | * so declare it here regardless of the CONFIG_OF_IRQ setting. | ||
72 | */ | ||
73 | extern unsigned int irq_of_parse_and_map(struct device_node *node, int index); | ||
74 | extern struct device_node *of_irq_find_parent(struct device_node *child); | ||
79 | 75 | ||
80 | #else /* !CONFIG_OF */ | 76 | #else /* !CONFIG_OF */ |
81 | static inline unsigned int irq_of_parse_and_map(struct device_node *dev, | 77 | static inline unsigned int irq_of_parse_and_map(struct device_node *dev, |
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h index 67e13aa5a478..9bdad43ad228 100644 --- a/include/linux/regulator/driver.h +++ b/include/linux/regulator/driver.h | |||
@@ -40,6 +40,8 @@ enum regulator_status { | |||
40 | }; | 40 | }; |
41 | 41 | ||
42 | /** | 42 | /** |
43 | * struct regulator_linear_range - specify linear voltage ranges | ||
44 | * | ||
43 | * Specify a range of voltages for regulator_map_linar_range() and | 45 | * Specify a range of voltages for regulator_map_linar_range() and |
44 | * regulator_list_linear_range(). | 46 | * regulator_list_linear_range(). |
45 | * | 47 | * |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 2ddb48d9312c..c2d89335f637 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -498,7 +498,7 @@ struct sk_buff { | |||
498 | * headers if needed | 498 | * headers if needed |
499 | */ | 499 | */ |
500 | __u8 encapsulation:1; | 500 | __u8 encapsulation:1; |
501 | /* 7/9 bit hole (depending on ndisc_nodetype presence) */ | 501 | /* 6/8 bit hole (depending on ndisc_nodetype presence) */ |
502 | kmemcheck_bitfield_end(flags2); | 502 | kmemcheck_bitfield_end(flags2); |
503 | 503 | ||
504 | #if defined CONFIG_NET_DMA || defined CONFIG_NET_RX_BUSY_POLL | 504 | #if defined CONFIG_NET_DMA || defined CONFIG_NET_RX_BUSY_POLL |
diff --git a/include/linux/smp.h b/include/linux/smp.h index cfb7ca094b38..731f5237d5f4 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h | |||
@@ -155,6 +155,12 @@ smp_call_function_any(const struct cpumask *mask, smp_call_func_t func, | |||
155 | 155 | ||
156 | static inline void kick_all_cpus_sync(void) { } | 156 | static inline void kick_all_cpus_sync(void) { } |
157 | 157 | ||
158 | static inline void __smp_call_function_single(int cpuid, | ||
159 | struct call_single_data *data, int wait) | ||
160 | { | ||
161 | on_each_cpu(data->func, data->info, wait); | ||
162 | } | ||
163 | |||
158 | #endif /* !SMP */ | 164 | #endif /* !SMP */ |
159 | 165 | ||
160 | /* | 166 | /* |
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h index 9cb2fe8ca944..e303eef94dd5 100644 --- a/include/linux/usb/usbnet.h +++ b/include/linux/usb/usbnet.h | |||
@@ -42,6 +42,7 @@ struct usbnet { | |||
42 | struct usb_host_endpoint *status; | 42 | struct usb_host_endpoint *status; |
43 | unsigned maxpacket; | 43 | unsigned maxpacket; |
44 | struct timer_list delay; | 44 | struct timer_list delay; |
45 | const char *padding_pkt; | ||
45 | 46 | ||
46 | /* protocol/interface state */ | 47 | /* protocol/interface state */ |
47 | struct net_device *net; | 48 | struct net_device *net; |
diff --git a/include/net/addrconf.h b/include/net/addrconf.h index fb314de2b61b..86505bfa5d2c 100644 --- a/include/net/addrconf.h +++ b/include/net/addrconf.h | |||
@@ -67,6 +67,10 @@ int ipv6_chk_addr(struct net *net, const struct in6_addr *addr, | |||
67 | int ipv6_chk_home_addr(struct net *net, const struct in6_addr *addr); | 67 | int ipv6_chk_home_addr(struct net *net, const struct in6_addr *addr); |
68 | #endif | 68 | #endif |
69 | 69 | ||
70 | bool ipv6_chk_custom_prefix(const struct in6_addr *addr, | ||
71 | const unsigned int prefix_len, | ||
72 | struct net_device *dev); | ||
73 | |||
70 | int ipv6_chk_prefix(const struct in6_addr *addr, struct net_device *dev); | 74 | int ipv6_chk_prefix(const struct in6_addr *addr, struct net_device *dev); |
71 | 75 | ||
72 | struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net, | 76 | struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net, |
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index aaeaf0938ec0..15f10841e2b5 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h | |||
@@ -104,6 +104,7 @@ enum { | |||
104 | enum { | 104 | enum { |
105 | HCI_SETUP, | 105 | HCI_SETUP, |
106 | HCI_AUTO_OFF, | 106 | HCI_AUTO_OFF, |
107 | HCI_RFKILLED, | ||
107 | HCI_MGMT, | 108 | HCI_MGMT, |
108 | HCI_PAIRABLE, | 109 | HCI_PAIRABLE, |
109 | HCI_SERVICE_CACHE, | 110 | HCI_SERVICE_CACHE, |
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h index f0d70f066f3d..9c4d37ec45a1 100644 --- a/include/net/ip_vs.h +++ b/include/net/ip_vs.h | |||
@@ -723,8 +723,6 @@ struct ip_vs_dest_dst { | |||
723 | struct rcu_head rcu_head; | 723 | struct rcu_head rcu_head; |
724 | }; | 724 | }; |
725 | 725 | ||
726 | /* In grace period after removing */ | ||
727 | #define IP_VS_DEST_STATE_REMOVING 0x01 | ||
728 | /* | 726 | /* |
729 | * The real server destination forwarding entry | 727 | * The real server destination forwarding entry |
730 | * with ip address, port number, and so on. | 728 | * with ip address, port number, and so on. |
@@ -742,7 +740,7 @@ struct ip_vs_dest { | |||
742 | 740 | ||
743 | atomic_t refcnt; /* reference counter */ | 741 | atomic_t refcnt; /* reference counter */ |
744 | struct ip_vs_stats stats; /* statistics */ | 742 | struct ip_vs_stats stats; /* statistics */ |
745 | unsigned long state; /* state flags */ | 743 | unsigned long idle_start; /* start time, jiffies */ |
746 | 744 | ||
747 | /* connection counters and thresholds */ | 745 | /* connection counters and thresholds */ |
748 | atomic_t activeconns; /* active connections */ | 746 | atomic_t activeconns; /* active connections */ |
@@ -756,14 +754,13 @@ struct ip_vs_dest { | |||
756 | struct ip_vs_dest_dst __rcu *dest_dst; /* cached dst info */ | 754 | struct ip_vs_dest_dst __rcu *dest_dst; /* cached dst info */ |
757 | 755 | ||
758 | /* for virtual service */ | 756 | /* for virtual service */ |
759 | struct ip_vs_service *svc; /* service it belongs to */ | 757 | struct ip_vs_service __rcu *svc; /* service it belongs to */ |
760 | __u16 protocol; /* which protocol (TCP/UDP) */ | 758 | __u16 protocol; /* which protocol (TCP/UDP) */ |
761 | __be16 vport; /* virtual port number */ | 759 | __be16 vport; /* virtual port number */ |
762 | union nf_inet_addr vaddr; /* virtual IP address */ | 760 | union nf_inet_addr vaddr; /* virtual IP address */ |
763 | __u32 vfwmark; /* firewall mark of service */ | 761 | __u32 vfwmark; /* firewall mark of service */ |
764 | 762 | ||
765 | struct list_head t_list; /* in dest_trash */ | 763 | struct list_head t_list; /* in dest_trash */ |
766 | struct rcu_head rcu_head; | ||
767 | unsigned int in_rs_table:1; /* we are in rs_table */ | 764 | unsigned int in_rs_table:1; /* we are in rs_table */ |
768 | }; | 765 | }; |
769 | 766 | ||
@@ -1649,7 +1646,7 @@ static inline void ip_vs_conn_drop_conntrack(struct ip_vs_conn *cp) | |||
1649 | /* CONFIG_IP_VS_NFCT */ | 1646 | /* CONFIG_IP_VS_NFCT */ |
1650 | #endif | 1647 | #endif |
1651 | 1648 | ||
1652 | static inline unsigned int | 1649 | static inline int |
1653 | ip_vs_dest_conn_overhead(struct ip_vs_dest *dest) | 1650 | ip_vs_dest_conn_overhead(struct ip_vs_dest *dest) |
1654 | { | 1651 | { |
1655 | /* | 1652 | /* |
diff --git a/include/net/mrp.h b/include/net/mrp.h index 4fbf02aa2ec1..0f7558b638ae 100644 --- a/include/net/mrp.h +++ b/include/net/mrp.h | |||
@@ -112,6 +112,7 @@ struct mrp_applicant { | |||
112 | struct mrp_application *app; | 112 | struct mrp_application *app; |
113 | struct net_device *dev; | 113 | struct net_device *dev; |
114 | struct timer_list join_timer; | 114 | struct timer_list join_timer; |
115 | struct timer_list periodic_timer; | ||
115 | 116 | ||
116 | spinlock_t lock; | 117 | spinlock_t lock; |
117 | struct sk_buff_head queue; | 118 | struct sk_buff_head queue; |
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h index 1313456a0994..9d22f08896c6 100644 --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h | |||
@@ -74,6 +74,7 @@ struct net { | |||
74 | struct hlist_head *dev_index_head; | 74 | struct hlist_head *dev_index_head; |
75 | unsigned int dev_base_seq; /* protected by rtnl_mutex */ | 75 | unsigned int dev_base_seq; /* protected by rtnl_mutex */ |
76 | int ifindex; | 76 | int ifindex; |
77 | unsigned int dev_unreg_count; | ||
77 | 78 | ||
78 | /* core fib_rules */ | 79 | /* core fib_rules */ |
79 | struct list_head rules_ops; | 80 | struct list_head rules_ops; |
diff --git a/include/net/netfilter/nf_conntrack_synproxy.h b/include/net/netfilter/nf_conntrack_synproxy.h index 806f54a290d6..f572f313d6f1 100644 --- a/include/net/netfilter/nf_conntrack_synproxy.h +++ b/include/net/netfilter/nf_conntrack_synproxy.h | |||
@@ -56,7 +56,7 @@ struct synproxy_options { | |||
56 | 56 | ||
57 | struct tcphdr; | 57 | struct tcphdr; |
58 | struct xt_synproxy_info; | 58 | struct xt_synproxy_info; |
59 | extern void synproxy_parse_options(const struct sk_buff *skb, unsigned int doff, | 59 | extern bool synproxy_parse_options(const struct sk_buff *skb, unsigned int doff, |
60 | const struct tcphdr *th, | 60 | const struct tcphdr *th, |
61 | struct synproxy_options *opts); | 61 | struct synproxy_options *opts); |
62 | extern unsigned int synproxy_options_size(const struct synproxy_options *opts); | 62 | extern unsigned int synproxy_options_size(const struct synproxy_options *opts); |
diff --git a/include/net/secure_seq.h b/include/net/secure_seq.h index 6ca975bebd37..c2e542b27a5a 100644 --- a/include/net/secure_seq.h +++ b/include/net/secure_seq.h | |||
@@ -3,7 +3,6 @@ | |||
3 | 3 | ||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | 5 | ||
6 | extern void net_secret_init(void); | ||
7 | extern __u32 secure_ip_id(__be32 daddr); | 6 | extern __u32 secure_ip_id(__be32 daddr); |
8 | extern __u32 secure_ipv6_id(const __be32 daddr[4]); | 7 | extern __u32 secure_ipv6_id(const __be32 daddr[4]); |
9 | extern u32 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport); | 8 | extern u32 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport); |
diff --git a/include/net/sock.h b/include/net/sock.h index 6ba2e7b0e2b1..1d37a8086bed 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -409,6 +409,11 @@ struct sock { | |||
409 | void (*sk_destruct)(struct sock *sk); | 409 | void (*sk_destruct)(struct sock *sk); |
410 | }; | 410 | }; |
411 | 411 | ||
412 | #define __sk_user_data(sk) ((*((void __rcu **)&(sk)->sk_user_data))) | ||
413 | |||
414 | #define rcu_dereference_sk_user_data(sk) rcu_dereference(__sk_user_data((sk))) | ||
415 | #define rcu_assign_sk_user_data(sk, ptr) rcu_assign_pointer(__sk_user_data((sk)), ptr) | ||
416 | |||
412 | /* | 417 | /* |
413 | * SK_CAN_REUSE and SK_NO_REUSE on a socket mean that the socket is OK | 418 | * SK_CAN_REUSE and SK_NO_REUSE on a socket mean that the socket is OK |
414 | * or not whether his port will be reused by someone else. SK_FORCE_REUSE | 419 | * or not whether his port will be reused by someone else. SK_FORCE_REUSE |
diff --git a/include/uapi/drm/radeon_drm.h b/include/uapi/drm/radeon_drm.h index fa8b3adf9ffb..46d41e8b0dcc 100644 --- a/include/uapi/drm/radeon_drm.h +++ b/include/uapi/drm/radeon_drm.h | |||
@@ -1007,4 +1007,6 @@ struct drm_radeon_info { | |||
1007 | #define SI_TILE_MODE_DEPTH_STENCIL_2D_4AA 3 | 1007 | #define SI_TILE_MODE_DEPTH_STENCIL_2D_4AA 3 |
1008 | #define SI_TILE_MODE_DEPTH_STENCIL_2D_8AA 2 | 1008 | #define SI_TILE_MODE_DEPTH_STENCIL_2D_8AA 2 |
1009 | 1009 | ||
1010 | #define CIK_TILE_MODE_DEPTH_STENCIL_1D 5 | ||
1011 | |||
1010 | #endif | 1012 | #endif |
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h index 40a1fb807396..009a655a5d35 100644 --- a/include/uapi/linux/perf_event.h +++ b/include/uapi/linux/perf_event.h | |||
@@ -380,10 +380,13 @@ struct perf_event_mmap_page { | |||
380 | union { | 380 | union { |
381 | __u64 capabilities; | 381 | __u64 capabilities; |
382 | struct { | 382 | struct { |
383 | __u64 cap_usr_time : 1, | 383 | __u64 cap_bit0 : 1, /* Always 0, deprecated, see commit 860f085b74e9 */ |
384 | cap_usr_rdpmc : 1, | 384 | cap_bit0_is_deprecated : 1, /* Always 1, signals that bit 0 is zero */ |
385 | cap_usr_time_zero : 1, | 385 | |
386 | cap_____res : 61; | 386 | cap_user_rdpmc : 1, /* The RDPMC instruction can be used to read counts */ |
387 | cap_user_time : 1, /* The time_* fields are used */ | ||
388 | cap_user_time_zero : 1, /* The time_zero field is used */ | ||
389 | cap_____res : 59; | ||
387 | }; | 390 | }; |
388 | }; | 391 | }; |
389 | 392 | ||
@@ -442,12 +445,13 @@ struct perf_event_mmap_page { | |||
442 | * ((rem * time_mult) >> time_shift); | 445 | * ((rem * time_mult) >> time_shift); |
443 | */ | 446 | */ |
444 | __u64 time_zero; | 447 | __u64 time_zero; |
448 | __u32 size; /* Header size up to __reserved[] fields. */ | ||
445 | 449 | ||
446 | /* | 450 | /* |
447 | * Hole for extension of the self monitor capabilities | 451 | * Hole for extension of the self monitor capabilities |
448 | */ | 452 | */ |
449 | 453 | ||
450 | __u64 __reserved[119]; /* align to 1k */ | 454 | __u8 __reserved[118*8+4]; /* align to 1k. */ |
451 | 455 | ||
452 | /* | 456 | /* |
453 | * Control data for the mmap() data buffer. | 457 | * Control data for the mmap() data buffer. |
@@ -528,6 +532,7 @@ enum perf_event_type { | |||
528 | * u64 len; | 532 | * u64 len; |
529 | * u64 pgoff; | 533 | * u64 pgoff; |
530 | * char filename[]; | 534 | * char filename[]; |
535 | * struct sample_id sample_id; | ||
531 | * }; | 536 | * }; |
532 | */ | 537 | */ |
533 | PERF_RECORD_MMAP = 1, | 538 | PERF_RECORD_MMAP = 1, |