diff options
| author | David S. Miller <davem@davemloft.net> | 2013-06-05 18:56:43 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-06-05 19:37:30 -0400 |
| commit | 6bc19fb82d4c05a9eee19d6d2aab2ce26e499ec2 (patch) | |
| tree | 8b049ef383307f5dae91b5c9cf78dbfb9b74a4d1 /include | |
| parent | 11a164a04382d735230b01f4cc46ad78a7c4abf6 (diff) | |
| parent | 4d3797d7e1861ac1af150a6189315786c5e1c820 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Merge 'net' bug fixes into 'net-next' as we have patches
that will build on top of them.
This merge commit includes a change from Emil Goode
(emilgoode@gmail.com) that fixes a warning that would
have been introduced by this merge. Specifically it
fixes the pingv6_ops method ipv6_chk_addr() to add a
"const" to the "struct net_device *dev" argument and
likewise update the dummy_ipv6_chk_addr() declaration.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/acpi/acpi_bus.h | 40 | ||||
| -rw-r--r-- | include/asm-generic/io.h | 4 | ||||
| -rw-r--r-- | include/linux/acpi_dma.h | 4 | ||||
| -rw-r--r-- | include/linux/aer.h | 5 | ||||
| -rw-r--r-- | include/linux/cgroup.h | 2 | ||||
| -rw-r--r-- | include/linux/kernel.h | 5 | ||||
| -rw-r--r-- | include/linux/list.h | 11 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv6.h | 16 | ||||
| -rw-r--r-- | include/linux/platform_data/clk-lpss.h | 5 | ||||
| -rw-r--r-- | include/linux/platform_data/serial-omap.h | 2 | ||||
| -rw-r--r-- | include/linux/rculist_nulls.h | 7 | ||||
| -rw-r--r-- | include/linux/rio.h | 18 | ||||
| -rw-r--r-- | include/linux/rio_drv.h | 1 | ||||
| -rw-r--r-- | include/linux/skbuff.h | 15 | ||||
| -rw-r--r-- | include/linux/wait.h | 16 | ||||
| -rw-r--r-- | include/net/addrconf.h | 2 | ||||
| -rw-r--r-- | include/net/ping.h | 2 | ||||
| -rw-r--r-- | include/net/sch_generic.h | 18 | ||||
| -rw-r--r-- | include/net/xfrm.h | 5 | ||||
| -rw-r--r-- | include/target/target_core_base.h | 1 | ||||
| -rw-r--r-- | include/target/target_core_fabric.h | 4 | ||||
| -rw-r--r-- | include/video/omapdss.h | 1 | ||||
| -rw-r--r-- | include/xen/xenbus.h | 1 |
23 files changed, 125 insertions, 60 deletions
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index 98db31d9f9b4..636c59f2003a 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h | |||
| @@ -377,7 +377,6 @@ acpi_status acpi_bus_get_status_handle(acpi_handle handle, | |||
| 377 | unsigned long long *sta); | 377 | unsigned long long *sta); |
| 378 | int acpi_bus_get_status(struct acpi_device *device); | 378 | int acpi_bus_get_status(struct acpi_device *device); |
| 379 | 379 | ||
| 380 | #ifdef CONFIG_PM | ||
| 381 | int acpi_bus_set_power(acpi_handle handle, int state); | 380 | int acpi_bus_set_power(acpi_handle handle, int state); |
| 382 | const char *acpi_power_state_string(int state); | 381 | const char *acpi_power_state_string(int state); |
| 383 | int acpi_device_get_power(struct acpi_device *device, int *state); | 382 | int acpi_device_get_power(struct acpi_device *device, int *state); |
| @@ -385,41 +384,12 @@ int acpi_device_set_power(struct acpi_device *device, int state); | |||
| 385 | int acpi_bus_init_power(struct acpi_device *device); | 384 | int acpi_bus_init_power(struct acpi_device *device); |
| 386 | int acpi_bus_update_power(acpi_handle handle, int *state_p); | 385 | int acpi_bus_update_power(acpi_handle handle, int *state_p); |
| 387 | bool acpi_bus_power_manageable(acpi_handle handle); | 386 | bool acpi_bus_power_manageable(acpi_handle handle); |
| 387 | |||
| 388 | #ifdef CONFIG_PM | ||
| 388 | bool acpi_bus_can_wakeup(acpi_handle handle); | 389 | bool acpi_bus_can_wakeup(acpi_handle handle); |
| 389 | #else /* !CONFIG_PM */ | 390 | #else |
| 390 | static inline int acpi_bus_set_power(acpi_handle handle, int state) | 391 | static inline bool acpi_bus_can_wakeup(acpi_handle handle) { return false; } |
| 391 | { | 392 | #endif |
| 392 | return 0; | ||
| 393 | } | ||
| 394 | static inline const char *acpi_power_state_string(int state) | ||
| 395 | { | ||
| 396 | return "D0"; | ||
| 397 | } | ||
| 398 | static inline int acpi_device_get_power(struct acpi_device *device, int *state) | ||
| 399 | { | ||
| 400 | return 0; | ||
| 401 | } | ||
| 402 | static inline int acpi_device_set_power(struct acpi_device *device, int state) | ||
| 403 | { | ||
| 404 | return 0; | ||
| 405 | } | ||
| 406 | static inline int acpi_bus_init_power(struct acpi_device *device) | ||
| 407 | { | ||
| 408 | return 0; | ||
| 409 | } | ||
| 410 | static inline int acpi_bus_update_power(acpi_handle handle, int *state_p) | ||
| 411 | { | ||
| 412 | return 0; | ||
| 413 | } | ||
| 414 | static inline bool acpi_bus_power_manageable(acpi_handle handle) | ||
| 415 | { | ||
| 416 | return false; | ||
| 417 | } | ||
| 418 | static inline bool acpi_bus_can_wakeup(acpi_handle handle) | ||
| 419 | { | ||
| 420 | return false; | ||
| 421 | } | ||
| 422 | #endif /* !CONFIG_PM */ | ||
| 423 | 393 | ||
| 424 | #ifdef CONFIG_ACPI_PROC_EVENT | 394 | #ifdef CONFIG_ACPI_PROC_EVENT |
| 425 | int acpi_bus_generate_proc_event(struct acpi_device *device, u8 type, int data); | 395 | int acpi_bus_generate_proc_event(struct acpi_device *device, u8 type, int data); |
diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h index ac9da00e9f2c..d5afe96adba6 100644 --- a/include/asm-generic/io.h +++ b/include/asm-generic/io.h | |||
| @@ -343,8 +343,12 @@ extern void ioport_unmap(void __iomem *p); | |||
| 343 | #endif /* CONFIG_GENERIC_IOMAP */ | 343 | #endif /* CONFIG_GENERIC_IOMAP */ |
| 344 | #endif /* CONFIG_HAS_IOPORT */ | 344 | #endif /* CONFIG_HAS_IOPORT */ |
| 345 | 345 | ||
| 346 | #ifndef xlate_dev_kmem_ptr | ||
| 346 | #define xlate_dev_kmem_ptr(p) p | 347 | #define xlate_dev_kmem_ptr(p) p |
| 348 | #endif | ||
| 349 | #ifndef xlate_dev_mem_ptr | ||
| 347 | #define xlate_dev_mem_ptr(p) __va(p) | 350 | #define xlate_dev_mem_ptr(p) __va(p) |
| 351 | #endif | ||
| 348 | 352 | ||
| 349 | #ifdef CONFIG_VIRT_TO_BUS | 353 | #ifdef CONFIG_VIRT_TO_BUS |
| 350 | #ifndef virt_to_bus | 354 | #ifndef virt_to_bus |
diff --git a/include/linux/acpi_dma.h b/include/linux/acpi_dma.h index d09deabc7bf6..fb0298082916 100644 --- a/include/linux/acpi_dma.h +++ b/include/linux/acpi_dma.h | |||
| @@ -37,6 +37,8 @@ struct acpi_dma_spec { | |||
| 37 | * @dev: struct device of this controller | 37 | * @dev: struct device of this controller |
| 38 | * @acpi_dma_xlate: callback function to find a suitable channel | 38 | * @acpi_dma_xlate: callback function to find a suitable channel |
| 39 | * @data: private data used by a callback function | 39 | * @data: private data used by a callback function |
| 40 | * @base_request_line: first supported request line (CSRT) | ||
| 41 | * @end_request_line: last supported request line (CSRT) | ||
| 40 | */ | 42 | */ |
| 41 | struct acpi_dma { | 43 | struct acpi_dma { |
| 42 | struct list_head dma_controllers; | 44 | struct list_head dma_controllers; |
| @@ -44,6 +46,8 @@ struct acpi_dma { | |||
| 44 | struct dma_chan *(*acpi_dma_xlate) | 46 | struct dma_chan *(*acpi_dma_xlate) |
| 45 | (struct acpi_dma_spec *, struct acpi_dma *); | 47 | (struct acpi_dma_spec *, struct acpi_dma *); |
| 46 | void *data; | 48 | void *data; |
| 49 | unsigned short base_request_line; | ||
| 50 | unsigned short end_request_line; | ||
| 47 | }; | 51 | }; |
| 48 | 52 | ||
| 49 | /* Used with acpi_dma_simple_xlate() */ | 53 | /* Used with acpi_dma_simple_xlate() */ |
diff --git a/include/linux/aer.h b/include/linux/aer.h index ec10e1b24c1c..737f90ab4b62 100644 --- a/include/linux/aer.h +++ b/include/linux/aer.h | |||
| @@ -49,10 +49,11 @@ static inline int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev) | |||
| 49 | } | 49 | } |
| 50 | #endif | 50 | #endif |
| 51 | 51 | ||
| 52 | extern void cper_print_aer(const char *prefix, struct pci_dev *dev, | 52 | extern void cper_print_aer(struct pci_dev *dev, |
| 53 | int cper_severity, struct aer_capability_regs *aer); | 53 | int cper_severity, struct aer_capability_regs *aer); |
| 54 | extern int cper_severity_to_aer(int cper_severity); | 54 | extern int cper_severity_to_aer(int cper_severity); |
| 55 | extern void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn, | 55 | extern void aer_recover_queue(int domain, unsigned int bus, unsigned int devfn, |
| 56 | int severity); | 56 | int severity, |
| 57 | struct aer_capability_regs *aer_regs); | ||
| 57 | #endif //_AER_H_ | 58 | #endif //_AER_H_ |
| 58 | 59 | ||
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index 5047355b9a0f..8bda1294c035 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h | |||
| @@ -707,7 +707,7 @@ struct cgroup *cgroup_rightmost_descendant(struct cgroup *pos); | |||
| 707 | * | 707 | * |
| 708 | * If a subsystem synchronizes against the parent in its ->css_online() and | 708 | * If a subsystem synchronizes against the parent in its ->css_online() and |
| 709 | * before starting iterating, and synchronizes against @pos on each | 709 | * before starting iterating, and synchronizes against @pos on each |
| 710 | * iteration, any descendant cgroup which finished ->css_offline() is | 710 | * iteration, any descendant cgroup which finished ->css_online() is |
| 711 | * guaranteed to be visible in the future iterations. | 711 | * guaranteed to be visible in the future iterations. |
| 712 | * | 712 | * |
| 713 | * In other words, the following guarantees that a descendant can't escape | 713 | * In other words, the following guarantees that a descendant can't escape |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index e96329ceb28c..e9ef6d6b51d5 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
| @@ -562,6 +562,9 @@ int __trace_bprintk(unsigned long ip, const char *fmt, ...); | |||
| 562 | extern __printf(2, 3) | 562 | extern __printf(2, 3) |
| 563 | int __trace_printk(unsigned long ip, const char *fmt, ...); | 563 | int __trace_printk(unsigned long ip, const char *fmt, ...); |
| 564 | 564 | ||
| 565 | extern int __trace_bputs(unsigned long ip, const char *str); | ||
| 566 | extern int __trace_puts(unsigned long ip, const char *str, int size); | ||
| 567 | |||
| 565 | /** | 568 | /** |
| 566 | * trace_puts - write a string into the ftrace buffer | 569 | * trace_puts - write a string into the ftrace buffer |
| 567 | * @str: the string to record | 570 | * @str: the string to record |
| @@ -587,8 +590,6 @@ int __trace_printk(unsigned long ip, const char *fmt, ...); | |||
| 587 | * (1 when __trace_bputs is used, strlen(str) when __trace_puts is used) | 590 | * (1 when __trace_bputs is used, strlen(str) when __trace_puts is used) |
| 588 | */ | 591 | */ |
| 589 | 592 | ||
| 590 | extern int __trace_bputs(unsigned long ip, const char *str); | ||
| 591 | extern int __trace_puts(unsigned long ip, const char *str, int size); | ||
| 592 | #define trace_puts(str) ({ \ | 593 | #define trace_puts(str) ({ \ |
| 593 | static const char *trace_printk_fmt \ | 594 | static const char *trace_printk_fmt \ |
| 594 | __attribute__((section("__trace_printk_fmt"))) = \ | 595 | __attribute__((section("__trace_printk_fmt"))) = \ |
diff --git a/include/linux/list.h b/include/linux/list.h index 6a1f8df9144b..b83e5657365a 100644 --- a/include/linux/list.h +++ b/include/linux/list.h | |||
| @@ -362,6 +362,17 @@ static inline void list_splice_tail_init(struct list_head *list, | |||
| 362 | list_entry((ptr)->next, type, member) | 362 | list_entry((ptr)->next, type, member) |
| 363 | 363 | ||
| 364 | /** | 364 | /** |
| 365 | * list_first_entry_or_null - get the first element from a list | ||
| 366 | * @ptr: the list head to take the element from. | ||
| 367 | * @type: the type of the struct this is embedded in. | ||
| 368 | * @member: the name of the list_struct within the struct. | ||
| 369 | * | ||
| 370 | * Note that if the list is empty, it returns NULL. | ||
| 371 | */ | ||
| 372 | #define list_first_entry_or_null(ptr, type, member) \ | ||
| 373 | (!list_empty(ptr) ? list_first_entry(ptr, type, member) : NULL) | ||
| 374 | |||
| 375 | /** | ||
| 365 | * list_for_each - iterate over a list | 376 | * list_for_each - iterate over a list |
| 366 | * @pos: the &struct list_head to use as a loop cursor. | 377 | * @pos: the &struct list_head to use as a loop cursor. |
| 367 | * @head: the head for your list. | 378 | * @head: the head for your list. |
diff --git a/include/linux/netfilter_ipv6.h b/include/linux/netfilter_ipv6.h index 98ffb54988b6..2d4df6ce043e 100644 --- a/include/linux/netfilter_ipv6.h +++ b/include/linux/netfilter_ipv6.h | |||
| @@ -17,6 +17,22 @@ extern __sum16 nf_ip6_checksum(struct sk_buff *skb, unsigned int hook, | |||
| 17 | 17 | ||
| 18 | extern int ipv6_netfilter_init(void); | 18 | extern int ipv6_netfilter_init(void); |
| 19 | extern void ipv6_netfilter_fini(void); | 19 | extern void ipv6_netfilter_fini(void); |
| 20 | |||
| 21 | /* | ||
| 22 | * Hook functions for ipv6 to allow xt_* modules to be built-in even | ||
| 23 | * if IPv6 is a module. | ||
| 24 | */ | ||
| 25 | struct nf_ipv6_ops { | ||
| 26 | int (*chk_addr)(struct net *net, const struct in6_addr *addr, | ||
| 27 | const struct net_device *dev, int strict); | ||
| 28 | }; | ||
| 29 | |||
| 30 | extern const struct nf_ipv6_ops __rcu *nf_ipv6_ops; | ||
| 31 | static inline const struct nf_ipv6_ops *nf_get_ipv6_ops(void) | ||
| 32 | { | ||
| 33 | return rcu_dereference(nf_ipv6_ops); | ||
| 34 | } | ||
| 35 | |||
| 20 | #else /* CONFIG_NETFILTER */ | 36 | #else /* CONFIG_NETFILTER */ |
| 21 | static inline int ipv6_netfilter_init(void) { return 0; } | 37 | static inline int ipv6_netfilter_init(void) { return 0; } |
| 22 | static inline void ipv6_netfilter_fini(void) { return; } | 38 | static inline void ipv6_netfilter_fini(void) { return; } |
diff --git a/include/linux/platform_data/clk-lpss.h b/include/linux/platform_data/clk-lpss.h index 528e73ce46d2..23901992b9dd 100644 --- a/include/linux/platform_data/clk-lpss.h +++ b/include/linux/platform_data/clk-lpss.h | |||
| @@ -13,6 +13,11 @@ | |||
| 13 | #ifndef __CLK_LPSS_H | 13 | #ifndef __CLK_LPSS_H |
| 14 | #define __CLK_LPSS_H | 14 | #define __CLK_LPSS_H |
| 15 | 15 | ||
| 16 | struct lpss_clk_data { | ||
| 17 | const char *name; | ||
| 18 | struct clk *clk; | ||
| 19 | }; | ||
| 20 | |||
| 16 | extern int lpt_clk_init(void); | 21 | extern int lpt_clk_init(void); |
| 17 | 22 | ||
| 18 | #endif /* __CLK_LPSS_H */ | 23 | #endif /* __CLK_LPSS_H */ |
diff --git a/include/linux/platform_data/serial-omap.h b/include/linux/platform_data/serial-omap.h index ff9b0aab5281..c860c1b314c0 100644 --- a/include/linux/platform_data/serial-omap.h +++ b/include/linux/platform_data/serial-omap.h | |||
| @@ -43,8 +43,6 @@ struct omap_uart_port_info { | |||
| 43 | int DTR_present; | 43 | int DTR_present; |
| 44 | 44 | ||
| 45 | int (*get_context_loss_count)(struct device *); | 45 | int (*get_context_loss_count)(struct device *); |
| 46 | void (*set_forceidle)(struct device *); | ||
| 47 | void (*set_noidle)(struct device *); | ||
| 48 | void (*enable_wakeup)(struct device *, bool); | 46 | void (*enable_wakeup)(struct device *, bool); |
| 49 | }; | 47 | }; |
| 50 | 48 | ||
diff --git a/include/linux/rculist_nulls.h b/include/linux/rculist_nulls.h index 2ae13714828b..1c33dd7da4a7 100644 --- a/include/linux/rculist_nulls.h +++ b/include/linux/rculist_nulls.h | |||
| @@ -105,9 +105,14 @@ static inline void hlist_nulls_add_head_rcu(struct hlist_nulls_node *n, | |||
| 105 | * @head: the head for your list. | 105 | * @head: the head for your list. |
| 106 | * @member: the name of the hlist_nulls_node within the struct. | 106 | * @member: the name of the hlist_nulls_node within the struct. |
| 107 | * | 107 | * |
| 108 | * The barrier() is needed to make sure compiler doesn't cache first element [1], | ||
| 109 | * as this loop can be restarted [2] | ||
| 110 | * [1] Documentation/atomic_ops.txt around line 114 | ||
| 111 | * [2] Documentation/RCU/rculist_nulls.txt around line 146 | ||
| 108 | */ | 112 | */ |
| 109 | #define hlist_nulls_for_each_entry_rcu(tpos, pos, head, member) \ | 113 | #define hlist_nulls_for_each_entry_rcu(tpos, pos, head, member) \ |
| 110 | for (pos = rcu_dereference_raw(hlist_nulls_first_rcu(head)); \ | 114 | for (({barrier();}), \ |
| 115 | pos = rcu_dereference_raw(hlist_nulls_first_rcu(head)); \ | ||
| 111 | (!is_a_nulls(pos)) && \ | 116 | (!is_a_nulls(pos)) && \ |
| 112 | ({ tpos = hlist_nulls_entry(pos, typeof(*tpos), member); 1; }); \ | 117 | ({ tpos = hlist_nulls_entry(pos, typeof(*tpos), member); 1; }); \ |
| 113 | pos = rcu_dereference_raw(hlist_nulls_next_rcu(pos))) | 118 | pos = rcu_dereference_raw(hlist_nulls_next_rcu(pos))) |
diff --git a/include/linux/rio.h b/include/linux/rio.h index a3e784278667..18e099342e6f 100644 --- a/include/linux/rio.h +++ b/include/linux/rio.h | |||
| @@ -83,7 +83,6 @@ | |||
| 83 | 83 | ||
| 84 | extern struct bus_type rio_bus_type; | 84 | extern struct bus_type rio_bus_type; |
| 85 | extern struct device rio_bus; | 85 | extern struct device rio_bus; |
| 86 | extern struct list_head rio_devices; /* list of all devices */ | ||
| 87 | 86 | ||
| 88 | struct rio_mport; | 87 | struct rio_mport; |
| 89 | struct rio_dev; | 88 | struct rio_dev; |
| @@ -237,6 +236,7 @@ enum rio_phy_type { | |||
| 237 | * @name: Port name string | 236 | * @name: Port name string |
| 238 | * @priv: Master port private data | 237 | * @priv: Master port private data |
| 239 | * @dma: DMA device associated with mport | 238 | * @dma: DMA device associated with mport |
| 239 | * @nscan: RapidIO network enumeration/discovery operations | ||
| 240 | */ | 240 | */ |
| 241 | struct rio_mport { | 241 | struct rio_mport { |
| 242 | struct list_head dbells; /* list of doorbell events */ | 242 | struct list_head dbells; /* list of doorbell events */ |
| @@ -262,8 +262,14 @@ struct rio_mport { | |||
| 262 | #ifdef CONFIG_RAPIDIO_DMA_ENGINE | 262 | #ifdef CONFIG_RAPIDIO_DMA_ENGINE |
| 263 | struct dma_device dma; | 263 | struct dma_device dma; |
| 264 | #endif | 264 | #endif |
| 265 | struct rio_scan *nscan; | ||
| 265 | }; | 266 | }; |
| 266 | 267 | ||
| 268 | /* | ||
| 269 | * Enumeration/discovery control flags | ||
| 270 | */ | ||
| 271 | #define RIO_SCAN_ENUM_NO_WAIT 0x00000001 /* Do not wait for enum completed */ | ||
| 272 | |||
| 267 | struct rio_id_table { | 273 | struct rio_id_table { |
| 268 | u16 start; /* logical minimal id */ | 274 | u16 start; /* logical minimal id */ |
| 269 | u32 max; /* max number of IDs in table */ | 275 | u32 max; /* max number of IDs in table */ |
| @@ -460,6 +466,16 @@ static inline struct rio_mport *dma_to_mport(struct dma_device *ddev) | |||
| 460 | } | 466 | } |
| 461 | #endif /* CONFIG_RAPIDIO_DMA_ENGINE */ | 467 | #endif /* CONFIG_RAPIDIO_DMA_ENGINE */ |
| 462 | 468 | ||
| 469 | /** | ||
| 470 | * struct rio_scan - RIO enumeration and discovery operations | ||
| 471 | * @enumerate: Callback to perform RapidIO fabric enumeration. | ||
| 472 | * @discover: Callback to perform RapidIO fabric discovery. | ||
| 473 | */ | ||
| 474 | struct rio_scan { | ||
| 475 | int (*enumerate)(struct rio_mport *mport, u32 flags); | ||
| 476 | int (*discover)(struct rio_mport *mport, u32 flags); | ||
| 477 | }; | ||
| 478 | |||
| 463 | /* Architecture and hardware-specific functions */ | 479 | /* Architecture and hardware-specific functions */ |
| 464 | extern int rio_register_mport(struct rio_mport *); | 480 | extern int rio_register_mport(struct rio_mport *); |
| 465 | extern int rio_open_inb_mbox(struct rio_mport *, void *, int, int); | 481 | extern int rio_open_inb_mbox(struct rio_mport *, void *, int, int); |
diff --git a/include/linux/rio_drv.h b/include/linux/rio_drv.h index b75c05920ab5..5059994fe297 100644 --- a/include/linux/rio_drv.h +++ b/include/linux/rio_drv.h | |||
| @@ -433,5 +433,6 @@ extern u16 rio_local_get_device_id(struct rio_mport *port); | |||
| 433 | extern struct rio_dev *rio_get_device(u16 vid, u16 did, struct rio_dev *from); | 433 | extern struct rio_dev *rio_get_device(u16 vid, u16 did, struct rio_dev *from); |
| 434 | extern struct rio_dev *rio_get_asm(u16 vid, u16 did, u16 asm_vid, u16 asm_did, | 434 | extern struct rio_dev *rio_get_asm(u16 vid, u16 did, u16 asm_vid, u16 asm_did, |
| 435 | struct rio_dev *from); | 435 | struct rio_dev *from); |
| 436 | extern int rio_init_mports(void); | ||
| 436 | 437 | ||
| 437 | #endif /* LINUX_RIO_DRV_H */ | 438 | #endif /* LINUX_RIO_DRV_H */ |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index b9997907a0f1..9995834d2cb6 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -2758,6 +2758,21 @@ static inline int skb_tnl_header_len(const struct sk_buff *inner_skb) | |||
| 2758 | SKB_GSO_CB(inner_skb)->mac_offset; | 2758 | SKB_GSO_CB(inner_skb)->mac_offset; |
| 2759 | } | 2759 | } |
| 2760 | 2760 | ||
| 2761 | static inline int gso_pskb_expand_head(struct sk_buff *skb, int extra) | ||
| 2762 | { | ||
| 2763 | int new_headroom, headroom; | ||
| 2764 | int ret; | ||
| 2765 | |||
| 2766 | headroom = skb_headroom(skb); | ||
| 2767 | ret = pskb_expand_head(skb, extra, 0, GFP_ATOMIC); | ||
| 2768 | if (ret) | ||
| 2769 | return ret; | ||
| 2770 | |||
| 2771 | new_headroom = skb_headroom(skb); | ||
| 2772 | SKB_GSO_CB(skb)->mac_offset += (new_headroom - headroom); | ||
| 2773 | return 0; | ||
| 2774 | } | ||
| 2775 | |||
| 2761 | static inline bool skb_is_gso(const struct sk_buff *skb) | 2776 | static inline bool skb_is_gso(const struct sk_buff *skb) |
| 2762 | { | 2777 | { |
| 2763 | return skb_shinfo(skb)->gso_size; | 2778 | return skb_shinfo(skb)->gso_size; |
diff --git a/include/linux/wait.h b/include/linux/wait.h index ac38be2692d8..1133695eb067 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h | |||
| @@ -217,6 +217,8 @@ do { \ | |||
| 217 | if (!ret) \ | 217 | if (!ret) \ |
| 218 | break; \ | 218 | break; \ |
| 219 | } \ | 219 | } \ |
| 220 | if (!ret && (condition)) \ | ||
| 221 | ret = 1; \ | ||
| 220 | finish_wait(&wq, &__wait); \ | 222 | finish_wait(&wq, &__wait); \ |
| 221 | } while (0) | 223 | } while (0) |
| 222 | 224 | ||
| @@ -233,8 +235,9 @@ do { \ | |||
| 233 | * wake_up() has to be called after changing any variable that could | 235 | * wake_up() has to be called after changing any variable that could |
| 234 | * change the result of the wait condition. | 236 | * change the result of the wait condition. |
| 235 | * | 237 | * |
| 236 | * The function returns 0 if the @timeout elapsed, and the remaining | 238 | * The function returns 0 if the @timeout elapsed, or the remaining |
| 237 | * jiffies if the condition evaluated to true before the timeout elapsed. | 239 | * jiffies (at least 1) if the @condition evaluated to %true before |
| 240 | * the @timeout elapsed. | ||
| 238 | */ | 241 | */ |
| 239 | #define wait_event_timeout(wq, condition, timeout) \ | 242 | #define wait_event_timeout(wq, condition, timeout) \ |
| 240 | ({ \ | 243 | ({ \ |
| @@ -302,6 +305,8 @@ do { \ | |||
| 302 | ret = -ERESTARTSYS; \ | 305 | ret = -ERESTARTSYS; \ |
| 303 | break; \ | 306 | break; \ |
| 304 | } \ | 307 | } \ |
| 308 | if (!ret && (condition)) \ | ||
| 309 | ret = 1; \ | ||
| 305 | finish_wait(&wq, &__wait); \ | 310 | finish_wait(&wq, &__wait); \ |
| 306 | } while (0) | 311 | } while (0) |
| 307 | 312 | ||
| @@ -318,9 +323,10 @@ do { \ | |||
| 318 | * wake_up() has to be called after changing any variable that could | 323 | * wake_up() has to be called after changing any variable that could |
| 319 | * change the result of the wait condition. | 324 | * change the result of the wait condition. |
| 320 | * | 325 | * |
| 321 | * The function returns 0 if the @timeout elapsed, -ERESTARTSYS if it | 326 | * Returns: |
| 322 | * was interrupted by a signal, and the remaining jiffies otherwise | 327 | * 0 if the @timeout elapsed, -%ERESTARTSYS if it was interrupted by |
| 323 | * if the condition evaluated to true before the timeout elapsed. | 328 | * a signal, or the remaining jiffies (at least 1) if the @condition |
| 329 | * evaluated to %true before the @timeout elapsed. | ||
| 324 | */ | 330 | */ |
| 325 | #define wait_event_interruptible_timeout(wq, condition, timeout) \ | 331 | #define wait_event_interruptible_timeout(wq, condition, timeout) \ |
| 326 | ({ \ | 332 | ({ \ |
diff --git a/include/net/addrconf.h b/include/net/addrconf.h index 84a6440f1f19..21f702704f24 100644 --- a/include/net/addrconf.h +++ b/include/net/addrconf.h | |||
| @@ -65,7 +65,7 @@ extern int addrconf_set_dstaddr(struct net *net, | |||
| 65 | 65 | ||
| 66 | extern int ipv6_chk_addr(struct net *net, | 66 | extern int ipv6_chk_addr(struct net *net, |
| 67 | const struct in6_addr *addr, | 67 | const struct in6_addr *addr, |
| 68 | struct net_device *dev, | 68 | const struct net_device *dev, |
| 69 | int strict); | 69 | int strict); |
| 70 | 70 | ||
| 71 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) | 71 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) |
diff --git a/include/net/ping.h b/include/net/ping.h index db04802f1673..5db0224b73ac 100644 --- a/include/net/ping.h +++ b/include/net/ping.h | |||
| @@ -38,7 +38,7 @@ struct pingv6_ops { | |||
| 38 | void (*ipv6_icmp_error)(struct sock *sk, struct sk_buff *skb, int err, | 38 | void (*ipv6_icmp_error)(struct sock *sk, struct sk_buff *skb, int err, |
| 39 | __be16 port, u32 info, u8 *payload); | 39 | __be16 port, u32 info, u8 *payload); |
| 40 | int (*ipv6_chk_addr)(struct net *net, const struct in6_addr *addr, | 40 | int (*ipv6_chk_addr)(struct net *net, const struct in6_addr *addr, |
| 41 | struct net_device *dev, int strict); | 41 | const struct net_device *dev, int strict); |
| 42 | }; | 42 | }; |
| 43 | 43 | ||
| 44 | struct ping_table { | 44 | struct ping_table { |
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index f10818fc8804..e7f4e21cc3e1 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
| @@ -679,22 +679,26 @@ static inline struct sk_buff *skb_act_clone(struct sk_buff *skb, gfp_t gfp_mask, | |||
| 679 | #endif | 679 | #endif |
| 680 | 680 | ||
| 681 | struct psched_ratecfg { | 681 | struct psched_ratecfg { |
| 682 | u64 rate_bps; | 682 | u64 rate_bps; |
| 683 | u32 mult; | 683 | u32 mult; |
| 684 | u32 shift; | 684 | u16 overhead; |
| 685 | u8 shift; | ||
| 685 | }; | 686 | }; |
| 686 | 687 | ||
| 687 | static inline u64 psched_l2t_ns(const struct psched_ratecfg *r, | 688 | static inline u64 psched_l2t_ns(const struct psched_ratecfg *r, |
| 688 | unsigned int len) | 689 | unsigned int len) |
| 689 | { | 690 | { |
| 690 | return ((u64)len * r->mult) >> r->shift; | 691 | return ((u64)(len + r->overhead) * r->mult) >> r->shift; |
| 691 | } | 692 | } |
| 692 | 693 | ||
| 693 | extern void psched_ratecfg_precompute(struct psched_ratecfg *r, u32 rate); | 694 | extern void psched_ratecfg_precompute(struct psched_ratecfg *r, const struct tc_ratespec *conf); |
| 694 | 695 | ||
| 695 | static inline u32 psched_ratecfg_getrate(const struct psched_ratecfg *r) | 696 | static inline void psched_ratecfg_getrate(struct tc_ratespec *res, |
| 697 | const struct psched_ratecfg *r) | ||
| 696 | { | 698 | { |
| 697 | return r->rate_bps >> 3; | 699 | memset(res, 0, sizeof(*res)); |
| 700 | res->rate = r->rate_bps >> 3; | ||
| 701 | res->overhead = r->overhead; | ||
| 698 | } | 702 | } |
| 699 | 703 | ||
| 700 | #endif | 704 | #endif |
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index ae16531d0d35..94ce082b29dc 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
| @@ -1160,6 +1160,8 @@ static inline void xfrm_sk_free_policy(struct sock *sk) | |||
| 1160 | } | 1160 | } |
| 1161 | } | 1161 | } |
| 1162 | 1162 | ||
| 1163 | extern void xfrm_garbage_collect(struct net *net); | ||
| 1164 | |||
| 1163 | #else | 1165 | #else |
| 1164 | 1166 | ||
| 1165 | static inline void xfrm_sk_free_policy(struct sock *sk) {} | 1167 | static inline void xfrm_sk_free_policy(struct sock *sk) {} |
| @@ -1194,6 +1196,9 @@ static inline int xfrm6_policy_check_reverse(struct sock *sk, int dir, | |||
| 1194 | { | 1196 | { |
| 1195 | return 1; | 1197 | return 1; |
| 1196 | } | 1198 | } |
| 1199 | static inline void xfrm_garbage_collect(struct net *net) | ||
| 1200 | { | ||
| 1201 | } | ||
| 1197 | #endif | 1202 | #endif |
| 1198 | 1203 | ||
| 1199 | static __inline__ | 1204 | static __inline__ |
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h index e773dfa5f98f..4ea4f985f394 100644 --- a/include/target/target_core_base.h +++ b/include/target/target_core_base.h | |||
| @@ -543,6 +543,7 @@ struct se_session { | |||
| 543 | struct list_head sess_list; | 543 | struct list_head sess_list; |
| 544 | struct list_head sess_acl_list; | 544 | struct list_head sess_acl_list; |
| 545 | struct list_head sess_cmd_list; | 545 | struct list_head sess_cmd_list; |
| 546 | struct list_head sess_wait_list; | ||
| 546 | spinlock_t sess_cmd_lock; | 547 | spinlock_t sess_cmd_lock; |
| 547 | struct kref sess_kref; | 548 | struct kref sess_kref; |
| 548 | }; | 549 | }; |
diff --git a/include/target/target_core_fabric.h b/include/target/target_core_fabric.h index ba3471b73c07..1dcce9cc99b9 100644 --- a/include/target/target_core_fabric.h +++ b/include/target/target_core_fabric.h | |||
| @@ -114,7 +114,7 @@ sense_reason_t transport_generic_new_cmd(struct se_cmd *); | |||
| 114 | 114 | ||
| 115 | void target_execute_cmd(struct se_cmd *cmd); | 115 | void target_execute_cmd(struct se_cmd *cmd); |
| 116 | 116 | ||
| 117 | void transport_generic_free_cmd(struct se_cmd *, int); | 117 | int transport_generic_free_cmd(struct se_cmd *, int); |
| 118 | 118 | ||
| 119 | bool transport_wait_for_tasks(struct se_cmd *); | 119 | bool transport_wait_for_tasks(struct se_cmd *); |
| 120 | int transport_check_aborted_status(struct se_cmd *, int); | 120 | int transport_check_aborted_status(struct se_cmd *, int); |
| @@ -123,7 +123,7 @@ int transport_send_check_condition_and_sense(struct se_cmd *, | |||
| 123 | int target_get_sess_cmd(struct se_session *, struct se_cmd *, bool); | 123 | int target_get_sess_cmd(struct se_session *, struct se_cmd *, bool); |
| 124 | int target_put_sess_cmd(struct se_session *, struct se_cmd *); | 124 | int target_put_sess_cmd(struct se_session *, struct se_cmd *); |
| 125 | void target_sess_cmd_list_set_waiting(struct se_session *); | 125 | void target_sess_cmd_list_set_waiting(struct se_session *); |
| 126 | void target_wait_for_sess_cmds(struct se_session *, int); | 126 | void target_wait_for_sess_cmds(struct se_session *); |
| 127 | 127 | ||
| 128 | int core_alua_check_nonop_delay(struct se_cmd *); | 128 | int core_alua_check_nonop_delay(struct se_cmd *); |
| 129 | 129 | ||
diff --git a/include/video/omapdss.h b/include/video/omapdss.h index 62ca9a77c1d6..aeb4e9a0c5d1 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h | |||
| @@ -748,6 +748,7 @@ struct omap_dss_driver { | |||
| 748 | }; | 748 | }; |
| 749 | 749 | ||
| 750 | enum omapdss_version omapdss_get_version(void); | 750 | enum omapdss_version omapdss_get_version(void); |
| 751 | bool omapdss_is_initialized(void); | ||
| 751 | 752 | ||
| 752 | int omap_dss_register_driver(struct omap_dss_driver *); | 753 | int omap_dss_register_driver(struct omap_dss_driver *); |
| 753 | void omap_dss_unregister_driver(struct omap_dss_driver *); | 754 | void omap_dss_unregister_driver(struct omap_dss_driver *); |
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h index 0a7515c1e3a4..569c07f2e344 100644 --- a/include/xen/xenbus.h +++ b/include/xen/xenbus.h | |||
| @@ -70,6 +70,7 @@ struct xenbus_device { | |||
| 70 | struct device dev; | 70 | struct device dev; |
| 71 | enum xenbus_state state; | 71 | enum xenbus_state state; |
| 72 | struct completion down; | 72 | struct completion down; |
| 73 | struct work_struct work; | ||
| 73 | }; | 74 | }; |
| 74 | 75 | ||
| 75 | static inline struct xenbus_device *to_xenbus_device(struct device *dev) | 76 | static inline struct xenbus_device *to_xenbus_device(struct device *dev) |
