diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-generic/siginfo.h | 14 | ||||
-rw-r--r-- | include/linux/efi.h | 13 | ||||
-rw-r--r-- | include/linux/etherdevice.h | 11 | ||||
-rw-r--r-- | include/linux/gpio-pxa.h | 4 | ||||
-rw-r--r-- | include/linux/hsi/hsi.h | 31 | ||||
-rw-r--r-- | include/linux/libata.h | 3 | ||||
-rw-r--r-- | include/linux/netfilter_bridge.h | 9 | ||||
-rw-r--r-- | include/linux/nfs_xdr.h | 7 | ||||
-rw-r--r-- | include/linux/pipe_fs_i.h | 1 | ||||
-rw-r--r-- | include/linux/skbuff.h | 4 | ||||
-rw-r--r-- | include/linux/spi/spi.h | 2 | ||||
-rw-r--r-- | include/linux/usb/hcd.h | 2 | ||||
-rw-r--r-- | include/linux/vm_event_item.h | 5 | ||||
-rw-r--r-- | include/net/bluetooth/hci_core.h | 3 | ||||
-rw-r--r-- | include/net/dst.h | 1 | ||||
-rw-r--r-- | include/net/ip_vs.h | 4 | ||||
-rw-r--r-- | include/net/sock.h | 4 | ||||
-rw-r--r-- | include/scsi/libsas.h | 40 | ||||
-rw-r--r-- | include/scsi/sas_ata.h | 4 |
19 files changed, 122 insertions, 40 deletions
diff --git a/include/asm-generic/siginfo.h b/include/asm-generic/siginfo.h index 0dd4e87f6fba..5e5e3865f1ed 100644 --- a/include/asm-generic/siginfo.h +++ b/include/asm-generic/siginfo.h | |||
@@ -35,6 +35,14 @@ typedef union sigval { | |||
35 | #define __ARCH_SI_BAND_T long | 35 | #define __ARCH_SI_BAND_T long |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | #ifndef __ARCH_SI_CLOCK_T | ||
39 | #define __ARCH_SI_CLOCK_T __kernel_clock_t | ||
40 | #endif | ||
41 | |||
42 | #ifndef __ARCH_SI_ATTRIBUTES | ||
43 | #define __ARCH_SI_ATTRIBUTES | ||
44 | #endif | ||
45 | |||
38 | #ifndef HAVE_ARCH_SIGINFO_T | 46 | #ifndef HAVE_ARCH_SIGINFO_T |
39 | 47 | ||
40 | typedef struct siginfo { | 48 | typedef struct siginfo { |
@@ -72,8 +80,8 @@ typedef struct siginfo { | |||
72 | __kernel_pid_t _pid; /* which child */ | 80 | __kernel_pid_t _pid; /* which child */ |
73 | __ARCH_SI_UID_T _uid; /* sender's uid */ | 81 | __ARCH_SI_UID_T _uid; /* sender's uid */ |
74 | int _status; /* exit code */ | 82 | int _status; /* exit code */ |
75 | __kernel_clock_t _utime; | 83 | __ARCH_SI_CLOCK_T _utime; |
76 | __kernel_clock_t _stime; | 84 | __ARCH_SI_CLOCK_T _stime; |
77 | } _sigchld; | 85 | } _sigchld; |
78 | 86 | ||
79 | /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ | 87 | /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ |
@@ -91,7 +99,7 @@ typedef struct siginfo { | |||
91 | int _fd; | 99 | int _fd; |
92 | } _sigpoll; | 100 | } _sigpoll; |
93 | } _sifields; | 101 | } _sifields; |
94 | } siginfo_t; | 102 | } __ARCH_SI_ATTRIBUTES siginfo_t; |
95 | 103 | ||
96 | #endif | 104 | #endif |
97 | 105 | ||
diff --git a/include/linux/efi.h b/include/linux/efi.h index 88ec80670d5f..ec45ccd8708a 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h | |||
@@ -554,7 +554,18 @@ extern int __init efi_setup_pcdp_console(char *); | |||
554 | #define EFI_VARIABLE_NON_VOLATILE 0x0000000000000001 | 554 | #define EFI_VARIABLE_NON_VOLATILE 0x0000000000000001 |
555 | #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x0000000000000002 | 555 | #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x0000000000000002 |
556 | #define EFI_VARIABLE_RUNTIME_ACCESS 0x0000000000000004 | 556 | #define EFI_VARIABLE_RUNTIME_ACCESS 0x0000000000000004 |
557 | 557 | #define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x0000000000000008 | |
558 | #define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x0000000000000010 | ||
559 | #define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x0000000000000020 | ||
560 | #define EFI_VARIABLE_APPEND_WRITE 0x0000000000000040 | ||
561 | |||
562 | #define EFI_VARIABLE_MASK (EFI_VARIABLE_NON_VOLATILE | \ | ||
563 | EFI_VARIABLE_BOOTSERVICE_ACCESS | \ | ||
564 | EFI_VARIABLE_RUNTIME_ACCESS | \ | ||
565 | EFI_VARIABLE_HARDWARE_ERROR_RECORD | \ | ||
566 | EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS | \ | ||
567 | EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS | \ | ||
568 | EFI_VARIABLE_APPEND_WRITE) | ||
558 | /* | 569 | /* |
559 | * The type of search to perform when calling boottime->locate_handle | 570 | * The type of search to perform when calling boottime->locate_handle |
560 | */ | 571 | */ |
diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index 8a1835855faa..fe5136d81454 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h | |||
@@ -159,7 +159,8 @@ static inline void eth_hw_addr_random(struct net_device *dev) | |||
159 | * @addr1: Pointer to a six-byte array containing the Ethernet address | 159 | * @addr1: Pointer to a six-byte array containing the Ethernet address |
160 | * @addr2: Pointer other six-byte array containing the Ethernet address | 160 | * @addr2: Pointer other six-byte array containing the Ethernet address |
161 | * | 161 | * |
162 | * Compare two ethernet addresses, returns 0 if equal | 162 | * Compare two ethernet addresses, returns 0 if equal, non-zero otherwise. |
163 | * Unlike memcmp(), it doesn't return a value suitable for sorting. | ||
163 | */ | 164 | */ |
164 | static inline unsigned compare_ether_addr(const u8 *addr1, const u8 *addr2) | 165 | static inline unsigned compare_ether_addr(const u8 *addr1, const u8 *addr2) |
165 | { | 166 | { |
@@ -184,10 +185,10 @@ static inline unsigned long zap_last_2bytes(unsigned long value) | |||
184 | * @addr1: Pointer to an array of 8 bytes | 185 | * @addr1: Pointer to an array of 8 bytes |
185 | * @addr2: Pointer to an other array of 8 bytes | 186 | * @addr2: Pointer to an other array of 8 bytes |
186 | * | 187 | * |
187 | * Compare two ethernet addresses, returns 0 if equal. | 188 | * Compare two ethernet addresses, returns 0 if equal, non-zero otherwise. |
188 | * Same result than "memcmp(addr1, addr2, ETH_ALEN)" but without conditional | 189 | * Unlike memcmp(), it doesn't return a value suitable for sorting. |
189 | * branches, and possibly long word memory accesses on CPU allowing cheap | 190 | * The function doesn't need any conditional branches and possibly uses |
190 | * unaligned memory reads. | 191 | * word memory accesses on CPU allowing cheap unaligned memory reads. |
191 | * arrays = { byte1, byte2, byte3, byte4, byte6, byte7, pad1, pad2} | 192 | * arrays = { byte1, byte2, byte3, byte4, byte6, byte7, pad1, pad2} |
192 | * | 193 | * |
193 | * Please note that alignment of addr1 & addr2 is only guaranted to be 16 bits. | 194 | * Please note that alignment of addr1 & addr2 is only guaranted to be 16 bits. |
diff --git a/include/linux/gpio-pxa.h b/include/linux/gpio-pxa.h index 05071ee34c3f..d755b28ba635 100644 --- a/include/linux/gpio-pxa.h +++ b/include/linux/gpio-pxa.h | |||
@@ -13,4 +13,8 @@ extern int pxa_last_gpio; | |||
13 | 13 | ||
14 | extern int pxa_irq_to_gpio(int irq); | 14 | extern int pxa_irq_to_gpio(int irq); |
15 | 15 | ||
16 | struct pxa_gpio_platform_data { | ||
17 | int (*gpio_set_wake)(unsigned int gpio, unsigned int on); | ||
18 | }; | ||
19 | |||
16 | #endif /* __GPIO_PXA_H */ | 20 | #endif /* __GPIO_PXA_H */ |
diff --git a/include/linux/hsi/hsi.h b/include/linux/hsi/hsi.h index 4b178067f405..56fae865e272 100644 --- a/include/linux/hsi/hsi.h +++ b/include/linux/hsi/hsi.h | |||
@@ -26,9 +26,9 @@ | |||
26 | #include <linux/device.h> | 26 | #include <linux/device.h> |
27 | #include <linux/mutex.h> | 27 | #include <linux/mutex.h> |
28 | #include <linux/scatterlist.h> | 28 | #include <linux/scatterlist.h> |
29 | #include <linux/spinlock.h> | ||
30 | #include <linux/list.h> | 29 | #include <linux/list.h> |
31 | #include <linux/module.h> | 30 | #include <linux/module.h> |
31 | #include <linux/notifier.h> | ||
32 | 32 | ||
33 | /* HSI message ttype */ | 33 | /* HSI message ttype */ |
34 | #define HSI_MSG_READ 0 | 34 | #define HSI_MSG_READ 0 |
@@ -121,18 +121,18 @@ static inline int hsi_register_board_info(struct hsi_board_info const *info, | |||
121 | * @device: Driver model representation of the device | 121 | * @device: Driver model representation of the device |
122 | * @tx_cfg: HSI TX configuration | 122 | * @tx_cfg: HSI TX configuration |
123 | * @rx_cfg: HSI RX configuration | 123 | * @rx_cfg: HSI RX configuration |
124 | * @hsi_start_rx: Called after incoming wake line goes high | 124 | * @e_handler: Callback for handling port events (RX Wake High/Low) |
125 | * @hsi_stop_rx: Called after incoming wake line goes low | 125 | * @pclaimed: Keeps tracks if the clients claimed its associated HSI port |
126 | * @nb: Notifier block for port events | ||
126 | */ | 127 | */ |
127 | struct hsi_client { | 128 | struct hsi_client { |
128 | struct device device; | 129 | struct device device; |
129 | struct hsi_config tx_cfg; | 130 | struct hsi_config tx_cfg; |
130 | struct hsi_config rx_cfg; | 131 | struct hsi_config rx_cfg; |
131 | void (*hsi_start_rx)(struct hsi_client *cl); | ||
132 | void (*hsi_stop_rx)(struct hsi_client *cl); | ||
133 | /* private: */ | 132 | /* private: */ |
133 | void (*ehandler)(struct hsi_client *, unsigned long); | ||
134 | unsigned int pclaimed:1; | 134 | unsigned int pclaimed:1; |
135 | struct list_head link; | 135 | struct notifier_block nb; |
136 | }; | 136 | }; |
137 | 137 | ||
138 | #define to_hsi_client(dev) container_of(dev, struct hsi_client, device) | 138 | #define to_hsi_client(dev) container_of(dev, struct hsi_client, device) |
@@ -147,6 +147,10 @@ static inline void *hsi_client_drvdata(struct hsi_client *cl) | |||
147 | return dev_get_drvdata(&cl->device); | 147 | return dev_get_drvdata(&cl->device); |
148 | } | 148 | } |
149 | 149 | ||
150 | int hsi_register_port_event(struct hsi_client *cl, | ||
151 | void (*handler)(struct hsi_client *, unsigned long)); | ||
152 | int hsi_unregister_port_event(struct hsi_client *cl); | ||
153 | |||
150 | /** | 154 | /** |
151 | * struct hsi_client_driver - Driver associated to an HSI client | 155 | * struct hsi_client_driver - Driver associated to an HSI client |
152 | * @driver: Driver model representation of the driver | 156 | * @driver: Driver model representation of the driver |
@@ -214,8 +218,7 @@ void hsi_free_msg(struct hsi_msg *msg); | |||
214 | * @start_tx: Callback to inform that a client wants to TX data | 218 | * @start_tx: Callback to inform that a client wants to TX data |
215 | * @stop_tx: Callback to inform that a client no longer wishes to TX data | 219 | * @stop_tx: Callback to inform that a client no longer wishes to TX data |
216 | * @release: Callback to inform that a client no longer uses the port | 220 | * @release: Callback to inform that a client no longer uses the port |
217 | * @clients: List of hsi_clients using the port. | 221 | * @n_head: Notifier chain for signaling port events to the clients. |
218 | * @clock: Lock to serialize access to the clients list. | ||
219 | */ | 222 | */ |
220 | struct hsi_port { | 223 | struct hsi_port { |
221 | struct device device; | 224 | struct device device; |
@@ -231,14 +234,14 @@ struct hsi_port { | |||
231 | int (*start_tx)(struct hsi_client *cl); | 234 | int (*start_tx)(struct hsi_client *cl); |
232 | int (*stop_tx)(struct hsi_client *cl); | 235 | int (*stop_tx)(struct hsi_client *cl); |
233 | int (*release)(struct hsi_client *cl); | 236 | int (*release)(struct hsi_client *cl); |
234 | struct list_head clients; | 237 | /* private */ |
235 | spinlock_t clock; | 238 | struct atomic_notifier_head n_head; |
236 | }; | 239 | }; |
237 | 240 | ||
238 | #define to_hsi_port(dev) container_of(dev, struct hsi_port, device) | 241 | #define to_hsi_port(dev) container_of(dev, struct hsi_port, device) |
239 | #define hsi_get_port(cl) to_hsi_port((cl)->device.parent) | 242 | #define hsi_get_port(cl) to_hsi_port((cl)->device.parent) |
240 | 243 | ||
241 | void hsi_event(struct hsi_port *port, unsigned int event); | 244 | int hsi_event(struct hsi_port *port, unsigned long event); |
242 | int hsi_claim_port(struct hsi_client *cl, unsigned int share); | 245 | int hsi_claim_port(struct hsi_client *cl, unsigned int share); |
243 | void hsi_release_port(struct hsi_client *cl); | 246 | void hsi_release_port(struct hsi_client *cl); |
244 | 247 | ||
@@ -270,13 +273,13 @@ struct hsi_controller { | |||
270 | struct module *owner; | 273 | struct module *owner; |
271 | unsigned int id; | 274 | unsigned int id; |
272 | unsigned int num_ports; | 275 | unsigned int num_ports; |
273 | struct hsi_port *port; | 276 | struct hsi_port **port; |
274 | }; | 277 | }; |
275 | 278 | ||
276 | #define to_hsi_controller(dev) container_of(dev, struct hsi_controller, device) | 279 | #define to_hsi_controller(dev) container_of(dev, struct hsi_controller, device) |
277 | 280 | ||
278 | struct hsi_controller *hsi_alloc_controller(unsigned int n_ports, gfp_t flags); | 281 | struct hsi_controller *hsi_alloc_controller(unsigned int n_ports, gfp_t flags); |
279 | void hsi_free_controller(struct hsi_controller *hsi); | 282 | void hsi_put_controller(struct hsi_controller *hsi); |
280 | int hsi_register_controller(struct hsi_controller *hsi); | 283 | int hsi_register_controller(struct hsi_controller *hsi); |
281 | void hsi_unregister_controller(struct hsi_controller *hsi); | 284 | void hsi_unregister_controller(struct hsi_controller *hsi); |
282 | 285 | ||
@@ -294,7 +297,7 @@ static inline void *hsi_controller_drvdata(struct hsi_controller *hsi) | |||
294 | static inline struct hsi_port *hsi_find_port_num(struct hsi_controller *hsi, | 297 | static inline struct hsi_port *hsi_find_port_num(struct hsi_controller *hsi, |
295 | unsigned int num) | 298 | unsigned int num) |
296 | { | 299 | { |
297 | return (num < hsi->num_ports) ? &hsi->port[num] : NULL; | 300 | return (num < hsi->num_ports) ? hsi->port[num] : NULL; |
298 | } | 301 | } |
299 | 302 | ||
300 | /* | 303 | /* |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 42378d637ffb..e926df7b54c9 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -996,7 +996,8 @@ extern int ata_sas_scsi_ioctl(struct ata_port *ap, struct scsi_device *dev, | |||
996 | extern void ata_sas_port_destroy(struct ata_port *); | 996 | extern void ata_sas_port_destroy(struct ata_port *); |
997 | extern struct ata_port *ata_sas_port_alloc(struct ata_host *, | 997 | extern struct ata_port *ata_sas_port_alloc(struct ata_host *, |
998 | struct ata_port_info *, struct Scsi_Host *); | 998 | struct ata_port_info *, struct Scsi_Host *); |
999 | extern int ata_sas_async_port_init(struct ata_port *); | 999 | extern void ata_sas_async_probe(struct ata_port *ap); |
1000 | extern int ata_sas_sync_probe(struct ata_port *ap); | ||
1000 | extern int ata_sas_port_init(struct ata_port *); | 1001 | extern int ata_sas_port_init(struct ata_port *); |
1001 | extern int ata_sas_port_start(struct ata_port *ap); | 1002 | extern int ata_sas_port_start(struct ata_port *ap); |
1002 | extern void ata_sas_port_stop(struct ata_port *ap); | 1003 | extern void ata_sas_port_stop(struct ata_port *ap); |
diff --git a/include/linux/netfilter_bridge.h b/include/linux/netfilter_bridge.h index 0ddd161f3b06..31d2844e6572 100644 --- a/include/linux/netfilter_bridge.h +++ b/include/linux/netfilter_bridge.h | |||
@@ -104,9 +104,18 @@ struct bridge_skb_cb { | |||
104 | } daddr; | 104 | } daddr; |
105 | }; | 105 | }; |
106 | 106 | ||
107 | static inline void br_drop_fake_rtable(struct sk_buff *skb) | ||
108 | { | ||
109 | struct dst_entry *dst = skb_dst(skb); | ||
110 | |||
111 | if (dst && (dst->flags & DST_FAKE_RTABLE)) | ||
112 | skb_dst_drop(skb); | ||
113 | } | ||
114 | |||
107 | #else | 115 | #else |
108 | #define nf_bridge_maybe_copy_header(skb) (0) | 116 | #define nf_bridge_maybe_copy_header(skb) (0) |
109 | #define nf_bridge_pad(skb) (0) | 117 | #define nf_bridge_pad(skb) (0) |
118 | #define br_drop_fake_rtable(skb) do { } while (0) | ||
110 | #endif /* CONFIG_BRIDGE_NETFILTER */ | 119 | #endif /* CONFIG_BRIDGE_NETFILTER */ |
111 | 120 | ||
112 | #endif /* __KERNEL__ */ | 121 | #endif /* __KERNEL__ */ |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index bfd0d1bf6707..7ba3551a0414 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -312,6 +312,11 @@ struct nfs4_layoutreturn { | |||
312 | int rpc_status; | 312 | int rpc_status; |
313 | }; | 313 | }; |
314 | 314 | ||
315 | struct stateowner_id { | ||
316 | __u64 create_time; | ||
317 | __u32 uniquifier; | ||
318 | }; | ||
319 | |||
315 | /* | 320 | /* |
316 | * Arguments to the open call. | 321 | * Arguments to the open call. |
317 | */ | 322 | */ |
@@ -321,7 +326,7 @@ struct nfs_openargs { | |||
321 | int open_flags; | 326 | int open_flags; |
322 | fmode_t fmode; | 327 | fmode_t fmode; |
323 | __u64 clientid; | 328 | __u64 clientid; |
324 | __u64 id; | 329 | struct stateowner_id id; |
325 | union { | 330 | union { |
326 | struct { | 331 | struct { |
327 | struct iattr * attrs; /* UNCHECKED, GUARDED */ | 332 | struct iattr * attrs; /* UNCHECKED, GUARDED */ |
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index 6d626ff0cfd0..e1ac1ce16fb0 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h | |||
@@ -6,6 +6,7 @@ | |||
6 | #define PIPE_BUF_FLAG_LRU 0x01 /* page is on the LRU */ | 6 | #define PIPE_BUF_FLAG_LRU 0x01 /* page is on the LRU */ |
7 | #define PIPE_BUF_FLAG_ATOMIC 0x02 /* was atomically mapped */ | 7 | #define PIPE_BUF_FLAG_ATOMIC 0x02 /* was atomically mapped */ |
8 | #define PIPE_BUF_FLAG_GIFT 0x04 /* page is a gift */ | 8 | #define PIPE_BUF_FLAG_GIFT 0x04 /* page is a gift */ |
9 | #define PIPE_BUF_FLAG_PACKET 0x08 /* read() as a packet */ | ||
9 | 10 | ||
10 | /** | 11 | /** |
11 | * struct pipe_buffer - a linux kernel pipe buffer | 12 | * struct pipe_buffer - a linux kernel pipe buffer |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 91ad5e227d1d..bb47314c7179 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -1036,7 +1036,7 @@ static inline void skb_queue_splice(const struct sk_buff_head *list, | |||
1036 | } | 1036 | } |
1037 | 1037 | ||
1038 | /** | 1038 | /** |
1039 | * skb_queue_splice - join two skb lists and reinitialise the emptied list | 1039 | * skb_queue_splice_init - join two skb lists and reinitialise the emptied list |
1040 | * @list: the new list to add | 1040 | * @list: the new list to add |
1041 | * @head: the place to add it in the first list | 1041 | * @head: the place to add it in the first list |
1042 | * | 1042 | * |
@@ -1067,7 +1067,7 @@ static inline void skb_queue_splice_tail(const struct sk_buff_head *list, | |||
1067 | } | 1067 | } |
1068 | 1068 | ||
1069 | /** | 1069 | /** |
1070 | * skb_queue_splice_tail - join two skb lists and reinitialise the emptied list | 1070 | * skb_queue_splice_tail_init - join two skb lists and reinitialise the emptied list |
1071 | * @list: the new list to add | 1071 | * @list: the new list to add |
1072 | * @head: the place to add it in the first list | 1072 | * @head: the place to add it in the first list |
1073 | * | 1073 | * |
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index 98679b061b63..fa702aeb5038 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h | |||
@@ -254,7 +254,7 @@ static inline void spi_unregister_driver(struct spi_driver *sdrv) | |||
254 | * driver is finished with this message, it must call | 254 | * driver is finished with this message, it must call |
255 | * spi_finalize_current_message() so the subsystem can issue the next | 255 | * spi_finalize_current_message() so the subsystem can issue the next |
256 | * transfer | 256 | * transfer |
257 | * @prepare_transfer_hardware: there are currently no more messages on the | 257 | * @unprepare_transfer_hardware: there are currently no more messages on the |
258 | * queue so the subsystem notifies the driver that it may relax the | 258 | * queue so the subsystem notifies the driver that it may relax the |
259 | * hardware by issuing this call | 259 | * hardware by issuing this call |
260 | * | 260 | * |
diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h index 5de415707c23..d28cc78a38e4 100644 --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h | |||
@@ -126,6 +126,8 @@ struct usb_hcd { | |||
126 | unsigned wireless:1; /* Wireless USB HCD */ | 126 | unsigned wireless:1; /* Wireless USB HCD */ |
127 | unsigned authorized_default:1; | 127 | unsigned authorized_default:1; |
128 | unsigned has_tt:1; /* Integrated TT in root hub */ | 128 | unsigned has_tt:1; /* Integrated TT in root hub */ |
129 | unsigned broken_pci_sleep:1; /* Don't put the | ||
130 | controller in PCI-D3 for system sleep */ | ||
129 | 131 | ||
130 | unsigned int irq; /* irq allocated */ | 132 | unsigned int irq; /* irq allocated */ |
131 | void __iomem *regs; /* device memory/io */ | 133 | void __iomem *regs; /* device memory/io */ |
diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h index 03b90cdc1921..06f8e3858251 100644 --- a/include/linux/vm_event_item.h +++ b/include/linux/vm_event_item.h | |||
@@ -26,13 +26,14 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, | |||
26 | PGFREE, PGACTIVATE, PGDEACTIVATE, | 26 | PGFREE, PGACTIVATE, PGDEACTIVATE, |
27 | PGFAULT, PGMAJFAULT, | 27 | PGFAULT, PGMAJFAULT, |
28 | FOR_ALL_ZONES(PGREFILL), | 28 | FOR_ALL_ZONES(PGREFILL), |
29 | FOR_ALL_ZONES(PGSTEAL), | 29 | FOR_ALL_ZONES(PGSTEAL_KSWAPD), |
30 | FOR_ALL_ZONES(PGSTEAL_DIRECT), | ||
30 | FOR_ALL_ZONES(PGSCAN_KSWAPD), | 31 | FOR_ALL_ZONES(PGSCAN_KSWAPD), |
31 | FOR_ALL_ZONES(PGSCAN_DIRECT), | 32 | FOR_ALL_ZONES(PGSCAN_DIRECT), |
32 | #ifdef CONFIG_NUMA | 33 | #ifdef CONFIG_NUMA |
33 | PGSCAN_ZONE_RECLAIM_FAILED, | 34 | PGSCAN_ZONE_RECLAIM_FAILED, |
34 | #endif | 35 | #endif |
35 | PGINODESTEAL, SLABS_SCANNED, KSWAPD_STEAL, KSWAPD_INODESTEAL, | 36 | PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL, |
36 | KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY, | 37 | KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY, |
37 | KSWAPD_SKIP_CONGESTION_WAIT, | 38 | KSWAPD_SKIP_CONGESTION_WAIT, |
38 | PAGEOUTRUN, ALLOCSTALL, PGROTATED, | 39 | PAGEOUTRUN, ALLOCSTALL, PGROTATED, |
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index 6822d2595aff..db1c5df45224 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h | |||
@@ -314,6 +314,7 @@ struct hci_conn { | |||
314 | 314 | ||
315 | __u8 remote_cap; | 315 | __u8 remote_cap; |
316 | __u8 remote_auth; | 316 | __u8 remote_auth; |
317 | bool flush_key; | ||
317 | 318 | ||
318 | unsigned int sent; | 319 | unsigned int sent; |
319 | 320 | ||
@@ -980,7 +981,7 @@ int mgmt_discoverable(struct hci_dev *hdev, u8 discoverable); | |||
980 | int mgmt_connectable(struct hci_dev *hdev, u8 connectable); | 981 | int mgmt_connectable(struct hci_dev *hdev, u8 connectable); |
981 | int mgmt_write_scan_failed(struct hci_dev *hdev, u8 scan, u8 status); | 982 | int mgmt_write_scan_failed(struct hci_dev *hdev, u8 scan, u8 status); |
982 | int mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key, | 983 | int mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key, |
983 | u8 persistent); | 984 | bool persistent); |
984 | int mgmt_device_connected(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, | 985 | int mgmt_device_connected(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, |
985 | u8 addr_type, u32 flags, u8 *name, u8 name_len, | 986 | u8 addr_type, u32 flags, u8 *name, u8 name_len, |
986 | u8 *dev_class); | 987 | u8 *dev_class); |
diff --git a/include/net/dst.h b/include/net/dst.h index ff4da42fcfc6..bed833d9796a 100644 --- a/include/net/dst.h +++ b/include/net/dst.h | |||
@@ -59,6 +59,7 @@ struct dst_entry { | |||
59 | #define DST_NOCACHE 0x0010 | 59 | #define DST_NOCACHE 0x0010 |
60 | #define DST_NOCOUNT 0x0020 | 60 | #define DST_NOCOUNT 0x0020 |
61 | #define DST_NOPEER 0x0040 | 61 | #define DST_NOPEER 0x0040 |
62 | #define DST_FAKE_RTABLE 0x0080 | ||
62 | 63 | ||
63 | short error; | 64 | short error; |
64 | short obsolete; | 65 | short obsolete; |
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h index 990216ded6b3..93b81aa73429 100644 --- a/include/net/ip_vs.h +++ b/include/net/ip_vs.h | |||
@@ -392,7 +392,7 @@ struct ip_vs_protocol { | |||
392 | 392 | ||
393 | void (*exit)(struct ip_vs_protocol *pp); | 393 | void (*exit)(struct ip_vs_protocol *pp); |
394 | 394 | ||
395 | void (*init_netns)(struct net *net, struct ip_vs_proto_data *pd); | 395 | int (*init_netns)(struct net *net, struct ip_vs_proto_data *pd); |
396 | 396 | ||
397 | void (*exit_netns)(struct net *net, struct ip_vs_proto_data *pd); | 397 | void (*exit_netns)(struct net *net, struct ip_vs_proto_data *pd); |
398 | 398 | ||
@@ -1201,6 +1201,8 @@ ip_vs_lookup_real_service(struct net *net, int af, __u16 protocol, | |||
1201 | 1201 | ||
1202 | extern int ip_vs_use_count_inc(void); | 1202 | extern int ip_vs_use_count_inc(void); |
1203 | extern void ip_vs_use_count_dec(void); | 1203 | extern void ip_vs_use_count_dec(void); |
1204 | extern int ip_vs_register_nl_ioctl(void); | ||
1205 | extern void ip_vs_unregister_nl_ioctl(void); | ||
1204 | extern int ip_vs_control_init(void); | 1206 | extern int ip_vs_control_init(void); |
1205 | extern void ip_vs_control_cleanup(void); | 1207 | extern void ip_vs_control_cleanup(void); |
1206 | extern struct ip_vs_dest * | 1208 | extern struct ip_vs_dest * |
diff --git a/include/net/sock.h b/include/net/sock.h index 68a283425f1c..e613704e9d1c 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -1142,9 +1142,9 @@ sk_sockets_allocated_read_positive(struct sock *sk) | |||
1142 | struct proto *prot = sk->sk_prot; | 1142 | struct proto *prot = sk->sk_prot; |
1143 | 1143 | ||
1144 | if (mem_cgroup_sockets_enabled && sk->sk_cgrp) | 1144 | if (mem_cgroup_sockets_enabled && sk->sk_cgrp) |
1145 | return percpu_counter_sum_positive(sk->sk_cgrp->sockets_allocated); | 1145 | return percpu_counter_read_positive(sk->sk_cgrp->sockets_allocated); |
1146 | 1146 | ||
1147 | return percpu_counter_sum_positive(prot->sockets_allocated); | 1147 | return percpu_counter_read_positive(prot->sockets_allocated); |
1148 | } | 1148 | } |
1149 | 1149 | ||
1150 | static inline int | 1150 | static inline int |
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index 5f5ed1b8b41b..f4f1c96dca72 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h | |||
@@ -217,11 +217,29 @@ struct domain_device { | |||
217 | struct kref kref; | 217 | struct kref kref; |
218 | }; | 218 | }; |
219 | 219 | ||
220 | struct sas_discovery_event { | 220 | struct sas_work { |
221 | struct list_head drain_node; | ||
221 | struct work_struct work; | 222 | struct work_struct work; |
223 | }; | ||
224 | |||
225 | static inline void INIT_SAS_WORK(struct sas_work *sw, void (*fn)(struct work_struct *)) | ||
226 | { | ||
227 | INIT_WORK(&sw->work, fn); | ||
228 | INIT_LIST_HEAD(&sw->drain_node); | ||
229 | } | ||
230 | |||
231 | struct sas_discovery_event { | ||
232 | struct sas_work work; | ||
222 | struct asd_sas_port *port; | 233 | struct asd_sas_port *port; |
223 | }; | 234 | }; |
224 | 235 | ||
236 | static inline struct sas_discovery_event *to_sas_discovery_event(struct work_struct *work) | ||
237 | { | ||
238 | struct sas_discovery_event *ev = container_of(work, typeof(*ev), work.work); | ||
239 | |||
240 | return ev; | ||
241 | } | ||
242 | |||
225 | struct sas_discovery { | 243 | struct sas_discovery { |
226 | struct sas_discovery_event disc_work[DISC_NUM_EVENTS]; | 244 | struct sas_discovery_event disc_work[DISC_NUM_EVENTS]; |
227 | unsigned long pending; | 245 | unsigned long pending; |
@@ -244,7 +262,7 @@ struct asd_sas_port { | |||
244 | struct list_head destroy_list; | 262 | struct list_head destroy_list; |
245 | enum sas_linkrate linkrate; | 263 | enum sas_linkrate linkrate; |
246 | 264 | ||
247 | struct work_struct work; | 265 | struct sas_work work; |
248 | 266 | ||
249 | /* public: */ | 267 | /* public: */ |
250 | int id; | 268 | int id; |
@@ -270,10 +288,17 @@ struct asd_sas_port { | |||
270 | }; | 288 | }; |
271 | 289 | ||
272 | struct asd_sas_event { | 290 | struct asd_sas_event { |
273 | struct work_struct work; | 291 | struct sas_work work; |
274 | struct asd_sas_phy *phy; | 292 | struct asd_sas_phy *phy; |
275 | }; | 293 | }; |
276 | 294 | ||
295 | static inline struct asd_sas_event *to_asd_sas_event(struct work_struct *work) | ||
296 | { | ||
297 | struct asd_sas_event *ev = container_of(work, typeof(*ev), work.work); | ||
298 | |||
299 | return ev; | ||
300 | } | ||
301 | |||
277 | /* The phy pretty much is controlled by the LLDD. | 302 | /* The phy pretty much is controlled by the LLDD. |
278 | * The class only reads those fields. | 303 | * The class only reads those fields. |
279 | */ | 304 | */ |
@@ -333,10 +358,17 @@ struct scsi_core { | |||
333 | }; | 358 | }; |
334 | 359 | ||
335 | struct sas_ha_event { | 360 | struct sas_ha_event { |
336 | struct work_struct work; | 361 | struct sas_work work; |
337 | struct sas_ha_struct *ha; | 362 | struct sas_ha_struct *ha; |
338 | }; | 363 | }; |
339 | 364 | ||
365 | static inline struct sas_ha_event *to_sas_ha_event(struct work_struct *work) | ||
366 | { | ||
367 | struct sas_ha_event *ev = container_of(work, typeof(*ev), work.work); | ||
368 | |||
369 | return ev; | ||
370 | } | ||
371 | |||
340 | enum sas_ha_state { | 372 | enum sas_ha_state { |
341 | SAS_HA_REGISTERED, | 373 | SAS_HA_REGISTERED, |
342 | SAS_HA_DRAINING, | 374 | SAS_HA_DRAINING, |
diff --git a/include/scsi/sas_ata.h b/include/scsi/sas_ata.h index cdccd2eb7b6c..77670e823ed8 100644 --- a/include/scsi/sas_ata.h +++ b/include/scsi/sas_ata.h | |||
@@ -37,7 +37,7 @@ static inline int dev_is_sata(struct domain_device *dev) | |||
37 | } | 37 | } |
38 | 38 | ||
39 | int sas_get_ata_info(struct domain_device *dev, struct ex_phy *phy); | 39 | int sas_get_ata_info(struct domain_device *dev, struct ex_phy *phy); |
40 | int sas_ata_init_host_and_port(struct domain_device *found_dev); | 40 | int sas_ata_init(struct domain_device *dev); |
41 | void sas_ata_task_abort(struct sas_task *task); | 41 | void sas_ata_task_abort(struct sas_task *task); |
42 | void sas_ata_strategy_handler(struct Scsi_Host *shost); | 42 | void sas_ata_strategy_handler(struct Scsi_Host *shost); |
43 | void sas_ata_eh(struct Scsi_Host *shost, struct list_head *work_q, | 43 | void sas_ata_eh(struct Scsi_Host *shost, struct list_head *work_q, |
@@ -52,7 +52,7 @@ static inline int dev_is_sata(struct domain_device *dev) | |||
52 | { | 52 | { |
53 | return 0; | 53 | return 0; |
54 | } | 54 | } |
55 | static inline int sas_ata_init_host_and_port(struct domain_device *found_dev) | 55 | static inline int sas_ata_init(struct domain_device *dev) |
56 | { | 56 | { |
57 | return 0; | 57 | return 0; |
58 | } | 58 | } |