diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-04-04 08:42:17 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-04-04 08:42:17 -0400 |
commit | 862cff63781e3a9de85d8947c82d55f4cc95572b (patch) | |
tree | ab47b1597e3ef193590da98147e494b2d702bac2 /include/linux | |
parent | 7819d64e31a685e35e4819515c84168d0879816e (diff) | |
parent | c16226a1c75042bfdc50bd2921d5919f6267ba51 (diff) |
Merge branch 'upstream'
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/fs.h | 2 | ||||
-rw-r--r-- | include/linux/gameport.h | 7 | ||||
-rw-r--r-- | include/linux/hrtimer.h | 2 | ||||
-rw-r--r-- | include/linux/input.h | 23 | ||||
-rw-r--r-- | include/linux/kbd_kern.h | 2 | ||||
-rw-r--r-- | include/linux/keyboard.h | 13 | ||||
-rw-r--r-- | include/linux/libps2.h | 2 | ||||
-rw-r--r-- | include/linux/netfilter/x_tables.h | 67 | ||||
-rw-r--r-- | include/linux/netfilter/xt_esp.h | 14 | ||||
-rw-r--r-- | include/linux/netfilter/xt_multiport.h | 30 | ||||
-rw-r--r-- | include/linux/netfilter_ipv4/ip_tables.h | 18 | ||||
-rw-r--r-- | include/linux/netfilter_ipv4/ipt_esp.h | 14 | ||||
-rw-r--r-- | include/linux/netfilter_ipv4/ipt_multiport.h | 31 | ||||
-rw-r--r-- | include/linux/netfilter_ipv6/ip6t_esp.h | 12 | ||||
-rw-r--r-- | include/linux/netfilter_ipv6/ip6t_multiport.h | 25 | ||||
-rw-r--r-- | include/linux/pipe_fs_i.h | 9 | ||||
-rw-r--r-- | include/linux/serio.h | 9 | ||||
-rw-r--r-- | include/linux/uinput.h | 4 | ||||
-rw-r--r-- | include/linux/videodev2.h | 65 |
19 files changed, 215 insertions, 134 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 4ed7e602d703..1e9ebaba07b7 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -864,7 +864,7 @@ struct super_block { | |||
864 | */ | 864 | */ |
865 | struct mutex s_vfs_rename_mutex; /* Kludge */ | 865 | struct mutex s_vfs_rename_mutex; /* Kludge */ |
866 | 866 | ||
867 | /* Granuality of c/m/atime in ns. | 867 | /* Granularity of c/m/atime in ns. |
868 | Cannot be worse than a second */ | 868 | Cannot be worse than a second */ |
869 | u32 s_time_gran; | 869 | u32 s_time_gran; |
870 | }; | 870 | }; |
diff --git a/include/linux/gameport.h b/include/linux/gameport.h index 9c8e6da2393b..71e7b2847cb3 100644 --- a/include/linux/gameport.h +++ b/include/linux/gameport.h | |||
@@ -11,6 +11,7 @@ | |||
11 | 11 | ||
12 | #include <asm/io.h> | 12 | #include <asm/io.h> |
13 | #include <linux/list.h> | 13 | #include <linux/list.h> |
14 | #include <linux/mutex.h> | ||
14 | #include <linux/device.h> | 15 | #include <linux/device.h> |
15 | #include <linux/timer.h> | 16 | #include <linux/timer.h> |
16 | 17 | ||
@@ -40,7 +41,7 @@ struct gameport { | |||
40 | struct gameport *parent, *child; | 41 | struct gameport *parent, *child; |
41 | 42 | ||
42 | struct gameport_driver *drv; | 43 | struct gameport_driver *drv; |
43 | struct semaphore drv_sem; /* protects serio->drv so attributes can pin driver */ | 44 | struct mutex drv_mutex; /* protects serio->drv so attributes can pin driver */ |
44 | 45 | ||
45 | struct device dev; | 46 | struct device dev; |
46 | unsigned int registered; /* port has been fully registered with driver core */ | 47 | unsigned int registered; /* port has been fully registered with driver core */ |
@@ -137,12 +138,12 @@ static inline void gameport_set_drvdata(struct gameport *gameport, void *data) | |||
137 | */ | 138 | */ |
138 | static inline int gameport_pin_driver(struct gameport *gameport) | 139 | static inline int gameport_pin_driver(struct gameport *gameport) |
139 | { | 140 | { |
140 | return down_interruptible(&gameport->drv_sem); | 141 | return mutex_lock_interruptible(&gameport->drv_mutex); |
141 | } | 142 | } |
142 | 143 | ||
143 | static inline void gameport_unpin_driver(struct gameport *gameport) | 144 | static inline void gameport_unpin_driver(struct gameport *gameport) |
144 | { | 145 | { |
145 | up(&gameport->drv_sem); | 146 | mutex_unlock(&gameport->drv_mutex); |
146 | } | 147 | } |
147 | 148 | ||
148 | void __gameport_register_driver(struct gameport_driver *drv, struct module *owner); | 149 | void __gameport_register_driver(struct gameport_driver *drv, struct module *owner); |
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index b20939287613..306acf1dc6d5 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h | |||
@@ -80,7 +80,7 @@ struct hrtimer_sleeper { | |||
80 | * @first: pointer to the timer node which expires first | 80 | * @first: pointer to the timer node which expires first |
81 | * @resolution: the resolution of the clock, in nanoseconds | 81 | * @resolution: the resolution of the clock, in nanoseconds |
82 | * @get_time: function to retrieve the current time of the clock | 82 | * @get_time: function to retrieve the current time of the clock |
83 | * @get_sofirq_time: function to retrieve the current time from the softirq | 83 | * @get_softirq_time: function to retrieve the current time from the softirq |
84 | * @curr_timer: the timer which is executing a callback right now | 84 | * @curr_timer: the timer which is executing a callback right now |
85 | * @softirq_time: the time when running the hrtimer queue in the softirq | 85 | * @softirq_time: the time when running the hrtimer queue in the softirq |
86 | */ | 86 | */ |
diff --git a/include/linux/input.h b/include/linux/input.h index 1d4e341b72e6..b0e612dda0cf 100644 --- a/include/linux/input.h +++ b/include/linux/input.h | |||
@@ -421,7 +421,7 @@ struct input_absinfo { | |||
421 | #define BTN_GEAR_UP 0x151 | 421 | #define BTN_GEAR_UP 0x151 |
422 | 422 | ||
423 | #define KEY_OK 0x160 | 423 | #define KEY_OK 0x160 |
424 | #define KEY_SELECT 0x161 | 424 | #define KEY_SELECT 0x161 |
425 | #define KEY_GOTO 0x162 | 425 | #define KEY_GOTO 0x162 |
426 | #define KEY_CLEAR 0x163 | 426 | #define KEY_CLEAR 0x163 |
427 | #define KEY_POWER2 0x164 | 427 | #define KEY_POWER2 0x164 |
@@ -512,6 +512,15 @@ struct input_absinfo { | |||
512 | #define KEY_FN_S 0x1e3 | 512 | #define KEY_FN_S 0x1e3 |
513 | #define KEY_FN_B 0x1e4 | 513 | #define KEY_FN_B 0x1e4 |
514 | 514 | ||
515 | #define KEY_BRL_DOT1 0x1f1 | ||
516 | #define KEY_BRL_DOT2 0x1f2 | ||
517 | #define KEY_BRL_DOT3 0x1f3 | ||
518 | #define KEY_BRL_DOT4 0x1f4 | ||
519 | #define KEY_BRL_DOT5 0x1f5 | ||
520 | #define KEY_BRL_DOT6 0x1f6 | ||
521 | #define KEY_BRL_DOT7 0x1f7 | ||
522 | #define KEY_BRL_DOT8 0x1f8 | ||
523 | |||
515 | /* We avoid low common keys in module aliases so they don't get huge. */ | 524 | /* We avoid low common keys in module aliases so they don't get huge. */ |
516 | #define KEY_MIN_INTERESTING KEY_MUTE | 525 | #define KEY_MIN_INTERESTING KEY_MUTE |
517 | #define KEY_MAX 0x1ff | 526 | #define KEY_MAX 0x1ff |
@@ -929,7 +938,7 @@ struct input_dev { | |||
929 | 938 | ||
930 | struct input_handle *grab; | 939 | struct input_handle *grab; |
931 | 940 | ||
932 | struct semaphore sem; /* serializes open and close operations */ | 941 | struct mutex mutex; /* serializes open and close operations */ |
933 | unsigned int users; | 942 | unsigned int users; |
934 | 943 | ||
935 | struct class_device cdev; | 944 | struct class_device cdev; |
@@ -995,11 +1004,6 @@ static inline void init_input_dev(struct input_dev *dev) | |||
995 | 1004 | ||
996 | struct input_dev *input_allocate_device(void); | 1005 | struct input_dev *input_allocate_device(void); |
997 | 1006 | ||
998 | static inline void input_free_device(struct input_dev *dev) | ||
999 | { | ||
1000 | kfree(dev); | ||
1001 | } | ||
1002 | |||
1003 | static inline struct input_dev *input_get_device(struct input_dev *dev) | 1007 | static inline struct input_dev *input_get_device(struct input_dev *dev) |
1004 | { | 1008 | { |
1005 | return to_input_dev(class_device_get(&dev->cdev)); | 1009 | return to_input_dev(class_device_get(&dev->cdev)); |
@@ -1010,6 +1014,11 @@ static inline void input_put_device(struct input_dev *dev) | |||
1010 | class_device_put(&dev->cdev); | 1014 | class_device_put(&dev->cdev); |
1011 | } | 1015 | } |
1012 | 1016 | ||
1017 | static inline void input_free_device(struct input_dev *dev) | ||
1018 | { | ||
1019 | input_put_device(dev); | ||
1020 | } | ||
1021 | |||
1013 | int input_register_device(struct input_dev *); | 1022 | int input_register_device(struct input_dev *); |
1014 | void input_unregister_device(struct input_dev *); | 1023 | void input_unregister_device(struct input_dev *); |
1015 | 1024 | ||
diff --git a/include/linux/kbd_kern.h b/include/linux/kbd_kern.h index e87c32a5c86a..4eb851ece080 100644 --- a/include/linux/kbd_kern.h +++ b/include/linux/kbd_kern.h | |||
@@ -135,6 +135,8 @@ static inline void chg_vc_kbd_led(struct kbd_struct * kbd, int flag) | |||
135 | 135 | ||
136 | #define U(x) ((x) ^ 0xf000) | 136 | #define U(x) ((x) ^ 0xf000) |
137 | 137 | ||
138 | #define BRL_UC_ROW 0x2800 | ||
139 | |||
138 | /* keyboard.c */ | 140 | /* keyboard.c */ |
139 | 141 | ||
140 | struct console; | 142 | struct console; |
diff --git a/include/linux/keyboard.h b/include/linux/keyboard.h index 08488042d74a..de76843bbe8a 100644 --- a/include/linux/keyboard.h +++ b/include/linux/keyboard.h | |||
@@ -44,6 +44,7 @@ extern unsigned short plain_map[NR_KEYS]; | |||
44 | #define KT_ASCII 9 | 44 | #define KT_ASCII 9 |
45 | #define KT_LOCK 10 | 45 | #define KT_LOCK 10 |
46 | #define KT_SLOCK 12 | 46 | #define KT_SLOCK 12 |
47 | #define KT_BRL 14 | ||
47 | 48 | ||
48 | #define K(t,v) (((t)<<8)|(v)) | 49 | #define K(t,v) (((t)<<8)|(v)) |
49 | #define KTYP(x) ((x) >> 8) | 50 | #define KTYP(x) ((x) >> 8) |
@@ -427,5 +428,17 @@ extern unsigned short plain_map[NR_KEYS]; | |||
427 | 428 | ||
428 | #define NR_LOCK 8 | 429 | #define NR_LOCK 8 |
429 | 430 | ||
431 | #define K_BRL_BLANK K(KT_BRL, 0) | ||
432 | #define K_BRL_DOT1 K(KT_BRL, 1) | ||
433 | #define K_BRL_DOT2 K(KT_BRL, 2) | ||
434 | #define K_BRL_DOT3 K(KT_BRL, 3) | ||
435 | #define K_BRL_DOT4 K(KT_BRL, 4) | ||
436 | #define K_BRL_DOT5 K(KT_BRL, 5) | ||
437 | #define K_BRL_DOT6 K(KT_BRL, 6) | ||
438 | #define K_BRL_DOT7 K(KT_BRL, 7) | ||
439 | #define K_BRL_DOT8 K(KT_BRL, 8) | ||
440 | |||
441 | #define NR_BRL 9 | ||
442 | |||
430 | #define MAX_DIACR 256 | 443 | #define MAX_DIACR 256 |
431 | #endif | 444 | #endif |
diff --git a/include/linux/libps2.h b/include/linux/libps2.h index a710bddda4eb..08a450a9dbf7 100644 --- a/include/linux/libps2.h +++ b/include/linux/libps2.h | |||
@@ -28,7 +28,7 @@ struct ps2dev { | |||
28 | struct serio *serio; | 28 | struct serio *serio; |
29 | 29 | ||
30 | /* Ensures that only one command is executing at a time */ | 30 | /* Ensures that only one command is executing at a time */ |
31 | struct semaphore cmd_sem; | 31 | struct mutex cmd_mutex; |
32 | 32 | ||
33 | /* Used to signal completion from interrupt handler */ | 33 | /* Used to signal completion from interrupt handler */ |
34 | wait_queue_head_t wait; | 34 | wait_queue_head_t wait; |
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index 1350e47b0234..f6bdef82a322 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h | |||
@@ -142,6 +142,12 @@ struct xt_counters_info | |||
142 | #define ASSERT_WRITE_LOCK(x) | 142 | #define ASSERT_WRITE_LOCK(x) |
143 | #include <linux/netfilter_ipv4/listhelp.h> | 143 | #include <linux/netfilter_ipv4/listhelp.h> |
144 | 144 | ||
145 | #ifdef CONFIG_COMPAT | ||
146 | #define COMPAT_TO_USER 1 | ||
147 | #define COMPAT_FROM_USER -1 | ||
148 | #define COMPAT_CALC_SIZE 0 | ||
149 | #endif | ||
150 | |||
145 | struct xt_match | 151 | struct xt_match |
146 | { | 152 | { |
147 | struct list_head list; | 153 | struct list_head list; |
@@ -175,6 +181,9 @@ struct xt_match | |||
175 | void (*destroy)(const struct xt_match *match, void *matchinfo, | 181 | void (*destroy)(const struct xt_match *match, void *matchinfo, |
176 | unsigned int matchinfosize); | 182 | unsigned int matchinfosize); |
177 | 183 | ||
184 | /* Called when userspace align differs from kernel space one */ | ||
185 | int (*compat)(void *match, void **dstptr, int *size, int convert); | ||
186 | |||
178 | /* Set this to THIS_MODULE if you are a module, otherwise NULL */ | 187 | /* Set this to THIS_MODULE if you are a module, otherwise NULL */ |
179 | struct module *me; | 188 | struct module *me; |
180 | 189 | ||
@@ -220,6 +229,9 @@ struct xt_target | |||
220 | void (*destroy)(const struct xt_target *target, void *targinfo, | 229 | void (*destroy)(const struct xt_target *target, void *targinfo, |
221 | unsigned int targinfosize); | 230 | unsigned int targinfosize); |
222 | 231 | ||
232 | /* Called when userspace align differs from kernel space one */ | ||
233 | int (*compat)(void *target, void **dstptr, int *size, int convert); | ||
234 | |||
223 | /* Set this to THIS_MODULE if you are a module, otherwise NULL */ | 235 | /* Set this to THIS_MODULE if you are a module, otherwise NULL */ |
224 | struct module *me; | 236 | struct module *me; |
225 | 237 | ||
@@ -314,6 +326,61 @@ extern void xt_proto_fini(int af); | |||
314 | extern struct xt_table_info *xt_alloc_table_info(unsigned int size); | 326 | extern struct xt_table_info *xt_alloc_table_info(unsigned int size); |
315 | extern void xt_free_table_info(struct xt_table_info *info); | 327 | extern void xt_free_table_info(struct xt_table_info *info); |
316 | 328 | ||
329 | #ifdef CONFIG_COMPAT | ||
330 | #include <net/compat.h> | ||
331 | |||
332 | struct compat_xt_entry_match | ||
333 | { | ||
334 | union { | ||
335 | struct { | ||
336 | u_int16_t match_size; | ||
337 | char name[XT_FUNCTION_MAXNAMELEN - 1]; | ||
338 | u_int8_t revision; | ||
339 | } user; | ||
340 | u_int16_t match_size; | ||
341 | } u; | ||
342 | unsigned char data[0]; | ||
343 | }; | ||
344 | |||
345 | struct compat_xt_entry_target | ||
346 | { | ||
347 | union { | ||
348 | struct { | ||
349 | u_int16_t target_size; | ||
350 | char name[XT_FUNCTION_MAXNAMELEN - 1]; | ||
351 | u_int8_t revision; | ||
352 | } user; | ||
353 | u_int16_t target_size; | ||
354 | } u; | ||
355 | unsigned char data[0]; | ||
356 | }; | ||
357 | |||
358 | /* FIXME: this works only on 32 bit tasks | ||
359 | * need to change whole approach in order to calculate align as function of | ||
360 | * current task alignment */ | ||
361 | |||
362 | struct compat_xt_counters | ||
363 | { | ||
364 | u_int32_t cnt[4]; | ||
365 | }; | ||
366 | |||
367 | struct compat_xt_counters_info | ||
368 | { | ||
369 | char name[XT_TABLE_MAXNAMELEN]; | ||
370 | compat_uint_t num_counters; | ||
371 | struct compat_xt_counters counters[0]; | ||
372 | }; | ||
373 | |||
374 | #define COMPAT_XT_ALIGN(s) (((s) + (__alignof__(struct compat_xt_counters)-1)) \ | ||
375 | & ~(__alignof__(struct compat_xt_counters)-1)) | ||
376 | |||
377 | extern void xt_compat_lock(int af); | ||
378 | extern void xt_compat_unlock(int af); | ||
379 | extern int xt_compat_match(void *match, void **dstptr, int *size, int convert); | ||
380 | extern int xt_compat_target(void *target, void **dstptr, int *size, | ||
381 | int convert); | ||
382 | |||
383 | #endif /* CONFIG_COMPAT */ | ||
317 | #endif /* __KERNEL__ */ | 384 | #endif /* __KERNEL__ */ |
318 | 385 | ||
319 | #endif /* _X_TABLES_H */ | 386 | #endif /* _X_TABLES_H */ |
diff --git a/include/linux/netfilter/xt_esp.h b/include/linux/netfilter/xt_esp.h new file mode 100644 index 000000000000..9380fb1c27da --- /dev/null +++ b/include/linux/netfilter/xt_esp.h | |||
@@ -0,0 +1,14 @@ | |||
1 | #ifndef _XT_ESP_H | ||
2 | #define _XT_ESP_H | ||
3 | |||
4 | struct xt_esp | ||
5 | { | ||
6 | u_int32_t spis[2]; /* Security Parameter Index */ | ||
7 | u_int8_t invflags; /* Inverse flags */ | ||
8 | }; | ||
9 | |||
10 | /* Values for "invflags" field in struct xt_esp. */ | ||
11 | #define XT_ESP_INV_SPI 0x01 /* Invert the sense of spi. */ | ||
12 | #define XT_ESP_INV_MASK 0x01 /* All possible flags. */ | ||
13 | |||
14 | #endif /*_XT_ESP_H*/ | ||
diff --git a/include/linux/netfilter/xt_multiport.h b/include/linux/netfilter/xt_multiport.h new file mode 100644 index 000000000000..d49ee4183710 --- /dev/null +++ b/include/linux/netfilter/xt_multiport.h | |||
@@ -0,0 +1,30 @@ | |||
1 | #ifndef _XT_MULTIPORT_H | ||
2 | #define _XT_MULTIPORT_H | ||
3 | |||
4 | enum xt_multiport_flags | ||
5 | { | ||
6 | XT_MULTIPORT_SOURCE, | ||
7 | XT_MULTIPORT_DESTINATION, | ||
8 | XT_MULTIPORT_EITHER | ||
9 | }; | ||
10 | |||
11 | #define XT_MULTI_PORTS 15 | ||
12 | |||
13 | /* Must fit inside union xt_matchinfo: 16 bytes */ | ||
14 | struct xt_multiport | ||
15 | { | ||
16 | u_int8_t flags; /* Type of comparison */ | ||
17 | u_int8_t count; /* Number of ports */ | ||
18 | u_int16_t ports[XT_MULTI_PORTS]; /* Ports */ | ||
19 | }; | ||
20 | |||
21 | struct xt_multiport_v1 | ||
22 | { | ||
23 | u_int8_t flags; /* Type of comparison */ | ||
24 | u_int8_t count; /* Number of ports */ | ||
25 | u_int16_t ports[XT_MULTI_PORTS]; /* Ports */ | ||
26 | u_int8_t pflags[XT_MULTI_PORTS]; /* Port flags */ | ||
27 | u_int8_t invert; /* Invert flag */ | ||
28 | }; | ||
29 | |||
30 | #endif /*_XT_MULTIPORT_H*/ | ||
diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h index d5b8c0d6a12b..c0dac16e1902 100644 --- a/include/linux/netfilter_ipv4/ip_tables.h +++ b/include/linux/netfilter_ipv4/ip_tables.h | |||
@@ -316,5 +316,23 @@ extern unsigned int ipt_do_table(struct sk_buff **pskb, | |||
316 | void *userdata); | 316 | void *userdata); |
317 | 317 | ||
318 | #define IPT_ALIGN(s) XT_ALIGN(s) | 318 | #define IPT_ALIGN(s) XT_ALIGN(s) |
319 | |||
320 | #ifdef CONFIG_COMPAT | ||
321 | #include <net/compat.h> | ||
322 | |||
323 | struct compat_ipt_entry | ||
324 | { | ||
325 | struct ipt_ip ip; | ||
326 | compat_uint_t nfcache; | ||
327 | u_int16_t target_offset; | ||
328 | u_int16_t next_offset; | ||
329 | compat_uint_t comefrom; | ||
330 | struct compat_xt_counters counters; | ||
331 | unsigned char elems[0]; | ||
332 | }; | ||
333 | |||
334 | #define COMPAT_IPT_ALIGN(s) COMPAT_XT_ALIGN(s) | ||
335 | |||
336 | #endif /* CONFIG_COMPAT */ | ||
319 | #endif /*__KERNEL__*/ | 337 | #endif /*__KERNEL__*/ |
320 | #endif /* _IPTABLES_H */ | 338 | #endif /* _IPTABLES_H */ |
diff --git a/include/linux/netfilter_ipv4/ipt_esp.h b/include/linux/netfilter_ipv4/ipt_esp.h index c782a83e53e0..78296e7eeff9 100644 --- a/include/linux/netfilter_ipv4/ipt_esp.h +++ b/include/linux/netfilter_ipv4/ipt_esp.h | |||
@@ -1,16 +1,10 @@ | |||
1 | #ifndef _IPT_ESP_H | 1 | #ifndef _IPT_ESP_H |
2 | #define _IPT_ESP_H | 2 | #define _IPT_ESP_H |
3 | 3 | ||
4 | struct ipt_esp | 4 | #include <linux/netfilter/xt_esp.h> |
5 | { | ||
6 | u_int32_t spis[2]; /* Security Parameter Index */ | ||
7 | u_int8_t invflags; /* Inverse flags */ | ||
8 | }; | ||
9 | 5 | ||
10 | 6 | #define ipt_esp xt_esp | |
11 | 7 | #define IPT_ESP_INV_SPI XT_ESP_INV_SPI | |
12 | /* Values for "invflags" field in struct ipt_esp. */ | 8 | #define IPT_ESP_INV_MASK XT_ESP_INV_MASK |
13 | #define IPT_ESP_INV_SPI 0x01 /* Invert the sense of spi. */ | ||
14 | #define IPT_ESP_INV_MASK 0x01 /* All possible flags. */ | ||
15 | 9 | ||
16 | #endif /*_IPT_ESP_H*/ | 10 | #endif /*_IPT_ESP_H*/ |
diff --git a/include/linux/netfilter_ipv4/ipt_multiport.h b/include/linux/netfilter_ipv4/ipt_multiport.h index e6b6fff811df..55fe85eca88c 100644 --- a/include/linux/netfilter_ipv4/ipt_multiport.h +++ b/include/linux/netfilter_ipv4/ipt_multiport.h | |||
@@ -1,30 +1,15 @@ | |||
1 | #ifndef _IPT_MULTIPORT_H | 1 | #ifndef _IPT_MULTIPORT_H |
2 | #define _IPT_MULTIPORT_H | 2 | #define _IPT_MULTIPORT_H |
3 | #include <linux/netfilter_ipv4/ip_tables.h> | ||
4 | 3 | ||
5 | enum ipt_multiport_flags | 4 | #include <linux/netfilter/xt_multiport.h> |
6 | { | ||
7 | IPT_MULTIPORT_SOURCE, | ||
8 | IPT_MULTIPORT_DESTINATION, | ||
9 | IPT_MULTIPORT_EITHER | ||
10 | }; | ||
11 | 5 | ||
12 | #define IPT_MULTI_PORTS 15 | 6 | #define IPT_MULTIPORT_SOURCE XT_MULTIPORT_SOURCE |
7 | #define IPT_MULTIPORT_DESTINATION XT_MULTIPORT_DESTINATION | ||
8 | #define IPT_MULTIPORT_EITHER XT_MULTIPORT_EITHER | ||
13 | 9 | ||
14 | /* Must fit inside union ipt_matchinfo: 16 bytes */ | 10 | #define IPT_MULTI_PORTS XT_MULTI_PORTS |
15 | struct ipt_multiport | 11 | |
16 | { | 12 | #define ipt_multiport xt_multiport |
17 | u_int8_t flags; /* Type of comparison */ | 13 | #define ipt_multiport_v1 xt_multiport_v1 |
18 | u_int8_t count; /* Number of ports */ | ||
19 | u_int16_t ports[IPT_MULTI_PORTS]; /* Ports */ | ||
20 | }; | ||
21 | 14 | ||
22 | struct ipt_multiport_v1 | ||
23 | { | ||
24 | u_int8_t flags; /* Type of comparison */ | ||
25 | u_int8_t count; /* Number of ports */ | ||
26 | u_int16_t ports[IPT_MULTI_PORTS]; /* Ports */ | ||
27 | u_int8_t pflags[IPT_MULTI_PORTS]; /* Port flags */ | ||
28 | u_int8_t invert; /* Invert flag */ | ||
29 | }; | ||
30 | #endif /*_IPT_MULTIPORT_H*/ | 15 | #endif /*_IPT_MULTIPORT_H*/ |
diff --git a/include/linux/netfilter_ipv6/ip6t_esp.h b/include/linux/netfilter_ipv6/ip6t_esp.h index a91b6abc8079..f62eaf53c16c 100644 --- a/include/linux/netfilter_ipv6/ip6t_esp.h +++ b/include/linux/netfilter_ipv6/ip6t_esp.h | |||
@@ -1,14 +1,10 @@ | |||
1 | #ifndef _IP6T_ESP_H | 1 | #ifndef _IP6T_ESP_H |
2 | #define _IP6T_ESP_H | 2 | #define _IP6T_ESP_H |
3 | 3 | ||
4 | struct ip6t_esp | 4 | #include <linux/netfilter/xt_esp.h> |
5 | { | ||
6 | u_int32_t spis[2]; /* Security Parameter Index */ | ||
7 | u_int8_t invflags; /* Inverse flags */ | ||
8 | }; | ||
9 | 5 | ||
10 | /* Values for "invflags" field in struct ip6t_esp. */ | 6 | #define ip6t_esp xt_esp |
11 | #define IP6T_ESP_INV_SPI 0x01 /* Invert the sense of spi. */ | 7 | #define IP6T_ESP_INV_SPI XT_ESP_INV_SPI |
12 | #define IP6T_ESP_INV_MASK 0x01 /* All possible flags. */ | 8 | #define IP6T_ESP_INV_MASK XT_ESP_INV_MASK |
13 | 9 | ||
14 | #endif /*_IP6T_ESP_H*/ | 10 | #endif /*_IP6T_ESP_H*/ |
diff --git a/include/linux/netfilter_ipv6/ip6t_multiport.h b/include/linux/netfilter_ipv6/ip6t_multiport.h index efe4954a8681..042c92661cee 100644 --- a/include/linux/netfilter_ipv6/ip6t_multiport.h +++ b/include/linux/netfilter_ipv6/ip6t_multiport.h | |||
@@ -1,21 +1,14 @@ | |||
1 | #ifndef _IP6T_MULTIPORT_H | 1 | #ifndef _IP6T_MULTIPORT_H |
2 | #define _IP6T_MULTIPORT_H | 2 | #define _IP6T_MULTIPORT_H |
3 | #include <linux/netfilter_ipv6/ip6_tables.h> | ||
4 | 3 | ||
5 | enum ip6t_multiport_flags | 4 | #include <linux/netfilter/xt_multiport.h> |
6 | { | ||
7 | IP6T_MULTIPORT_SOURCE, | ||
8 | IP6T_MULTIPORT_DESTINATION, | ||
9 | IP6T_MULTIPORT_EITHER | ||
10 | }; | ||
11 | 5 | ||
12 | #define IP6T_MULTI_PORTS 15 | 6 | #define IP6T_MULTIPORT_SOURCE XT_MULTIPORT_SOURCE |
7 | #define IP6T_MULTIPORT_DESTINATION XT_MULTIPORT_DESTINATION | ||
8 | #define IP6T_MULTIPORT_EITHER XT_MULTIPORT_EITHER | ||
13 | 9 | ||
14 | /* Must fit inside union ip6t_matchinfo: 16 bytes */ | 10 | #define IP6T_MULTI_PORTS XT_MULTI_PORTS |
15 | struct ip6t_multiport | 11 | |
16 | { | 12 | #define ip6t_multiport xt_multiport |
17 | u_int8_t flags; /* Type of comparison */ | 13 | |
18 | u_int8_t count; /* Number of ports */ | 14 | #endif /*_IP6T_MULTIPORT_H*/ |
19 | u_int16_t ports[IP6T_MULTI_PORTS]; /* Ports */ | ||
20 | }; | ||
21 | #endif /*_IPT_MULTIPORT_H*/ | ||
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index 75c7f55023ab..ec384958d509 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h | |||
@@ -5,11 +5,14 @@ | |||
5 | 5 | ||
6 | #define PIPE_BUFFERS (16) | 6 | #define PIPE_BUFFERS (16) |
7 | 7 | ||
8 | #define PIPE_BUF_FLAG_STOLEN 0x01 | ||
9 | #define PIPE_BUF_FLAG_LRU 0x02 | ||
10 | |||
8 | struct pipe_buffer { | 11 | struct pipe_buffer { |
9 | struct page *page; | 12 | struct page *page; |
10 | unsigned int offset, len; | 13 | unsigned int offset, len; |
11 | struct pipe_buf_operations *ops; | 14 | struct pipe_buf_operations *ops; |
12 | unsigned int stolen; | 15 | unsigned int flags; |
13 | }; | 16 | }; |
14 | 17 | ||
15 | struct pipe_buf_operations { | 18 | struct pipe_buf_operations { |
@@ -60,5 +63,9 @@ void free_pipe_info(struct inode* inode); | |||
60 | * add the splice flags here. | 63 | * add the splice flags here. |
61 | */ | 64 | */ |
62 | #define SPLICE_F_MOVE (0x01) /* move pages instead of copying */ | 65 | #define SPLICE_F_MOVE (0x01) /* move pages instead of copying */ |
66 | #define SPLICE_F_NONBLOCK (0x02) /* don't block on the pipe splicing (but */ | ||
67 | /* we may still block on the fd we splice */ | ||
68 | /* from/to, of course */ | ||
69 | #define SPLICE_F_MORE (0x04) /* expect more data */ | ||
63 | 70 | ||
64 | #endif | 71 | #endif |
diff --git a/include/linux/serio.h b/include/linux/serio.h index 690aabca8ed0..6348e8330897 100644 --- a/include/linux/serio.h +++ b/include/linux/serio.h | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/interrupt.h> | 18 | #include <linux/interrupt.h> |
19 | #include <linux/list.h> | 19 | #include <linux/list.h> |
20 | #include <linux/spinlock.h> | 20 | #include <linux/spinlock.h> |
21 | #include <linux/mutex.h> | ||
21 | #include <linux/device.h> | 22 | #include <linux/device.h> |
22 | #include <linux/mod_devicetable.h> | 23 | #include <linux/mod_devicetable.h> |
23 | 24 | ||
@@ -42,7 +43,7 @@ struct serio { | |||
42 | struct serio *parent, *child; | 43 | struct serio *parent, *child; |
43 | 44 | ||
44 | struct serio_driver *drv; /* accessed from interrupt, must be protected by serio->lock and serio->sem */ | 45 | struct serio_driver *drv; /* accessed from interrupt, must be protected by serio->lock and serio->sem */ |
45 | struct semaphore drv_sem; /* protects serio->drv so attributes can pin driver */ | 46 | struct mutex drv_mutex; /* protects serio->drv so attributes can pin driver */ |
46 | 47 | ||
47 | struct device dev; | 48 | struct device dev; |
48 | unsigned int registered; /* port has been fully registered with driver core */ | 49 | unsigned int registered; /* port has been fully registered with driver core */ |
@@ -151,17 +152,17 @@ static inline void serio_continue_rx(struct serio *serio) | |||
151 | */ | 152 | */ |
152 | static inline int serio_pin_driver(struct serio *serio) | 153 | static inline int serio_pin_driver(struct serio *serio) |
153 | { | 154 | { |
154 | return down_interruptible(&serio->drv_sem); | 155 | return mutex_lock_interruptible(&serio->drv_mutex); |
155 | } | 156 | } |
156 | 157 | ||
157 | static inline void serio_pin_driver_uninterruptible(struct serio *serio) | 158 | static inline void serio_pin_driver_uninterruptible(struct serio *serio) |
158 | { | 159 | { |
159 | down(&serio->drv_sem); | 160 | mutex_lock(&serio->drv_mutex); |
160 | } | 161 | } |
161 | 162 | ||
162 | static inline void serio_unpin_driver(struct serio *serio) | 163 | static inline void serio_unpin_driver(struct serio *serio) |
163 | { | 164 | { |
164 | up(&serio->drv_sem); | 165 | mutex_unlock(&serio->drv_mutex); |
165 | } | 166 | } |
166 | 167 | ||
167 | 168 | ||
diff --git a/include/linux/uinput.h b/include/linux/uinput.h index 0ff7ca68e5c5..7168302f9844 100644 --- a/include/linux/uinput.h +++ b/include/linux/uinput.h | |||
@@ -20,7 +20,7 @@ | |||
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
21 | * | 21 | * |
22 | * Author: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org> | 22 | * Author: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org> |
23 | * | 23 | * |
24 | * Changes/Revisions: | 24 | * Changes/Revisions: |
25 | * 0.2 16/10/2004 (Micah Dowty <micah@navi.cx>) | 25 | * 0.2 16/10/2004 (Micah Dowty <micah@navi.cx>) |
26 | * - added force feedback support | 26 | * - added force feedback support |
@@ -51,7 +51,7 @@ struct uinput_request { | |||
51 | 51 | ||
52 | struct uinput_device { | 52 | struct uinput_device { |
53 | struct input_dev *dev; | 53 | struct input_dev *dev; |
54 | struct semaphore sem; | 54 | struct mutex mutex; |
55 | enum uinput_state state; | 55 | enum uinput_state state; |
56 | wait_queue_head_t waitq; | 56 | wait_queue_head_t waitq; |
57 | unsigned char ready; | 57 | unsigned char ready; |
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index af2d6155d3fe..d7670ec1ec1e 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -966,66 +966,17 @@ struct v4l2_sliced_vbi_format | |||
966 | 966 | ||
967 | /* Teletext World System Teletext | 967 | /* Teletext World System Teletext |
968 | (WST), defined on ITU-R BT.653-2 */ | 968 | (WST), defined on ITU-R BT.653-2 */ |
969 | #define V4L2_SLICED_TELETEXT_PAL_B (0x000001) | 969 | #define V4L2_SLICED_TELETEXT_B (0x0001) |
970 | #define V4L2_SLICED_TELETEXT_PAL_C (0x000002) | ||
971 | #define V4L2_SLICED_TELETEXT_NTSC_B (0x000010) | ||
972 | #define V4L2_SLICED_TELETEXT_SECAM (0x000020) | ||
973 | |||
974 | /* Teletext North American Broadcast Teletext Specification | ||
975 | (NABTS), defined on ITU-R BT.653-2 */ | ||
976 | #define V4L2_SLICED_TELETEXT_NTSC_C (0x000040) | ||
977 | #define V4L2_SLICED_TELETEXT_NTSC_D (0x000080) | ||
978 | |||
979 | /* Video Program System, defined on ETS 300 231*/ | 970 | /* Video Program System, defined on ETS 300 231*/ |
980 | #define V4L2_SLICED_VPS (0x000400) | 971 | #define V4L2_SLICED_VPS (0x0400) |
981 | |||
982 | /* Closed Caption, defined on EIA-608 */ | 972 | /* Closed Caption, defined on EIA-608 */ |
983 | #define V4L2_SLICED_CAPTION_525 (0x001000) | 973 | #define V4L2_SLICED_CAPTION_525 (0x1000) |
984 | #define V4L2_SLICED_CAPTION_625 (0x002000) | ||
985 | |||
986 | /* Wide Screen System, defined on ITU-R BT1119.1 */ | 974 | /* Wide Screen System, defined on ITU-R BT1119.1 */ |
987 | #define V4L2_SLICED_WSS_625 (0x004000) | 975 | #define V4L2_SLICED_WSS_625 (0x4000) |
988 | 976 | ||
989 | /* Wide Screen System, defined on IEC 61880 */ | 977 | #define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525) |
990 | #define V4L2_SLICED_WSS_525 (0x008000) | 978 | #define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625) |
991 | 979 | ||
992 | /* Vertical Interval Timecode (VITC), defined on SMPTE 12M */ | ||
993 | #define V4l2_SLICED_VITC_625 (0x010000) | ||
994 | #define V4l2_SLICED_VITC_525 (0x020000) | ||
995 | |||
996 | #define V4L2_SLICED_TELETEXT_B (V4L2_SLICED_TELETEXT_PAL_B |\ | ||
997 | V4L2_SLICED_TELETEXT_NTSC_B) | ||
998 | |||
999 | #define V4L2_SLICED_TELETEXT (V4L2_SLICED_TELETEXT_PAL_B |\ | ||
1000 | V4L2_SLICED_TELETEXT_PAL_C |\ | ||
1001 | V4L2_SLICED_TELETEXT_SECAM |\ | ||
1002 | V4L2_SLICED_TELETEXT_NTSC_B |\ | ||
1003 | V4L2_SLICED_TELETEXT_NTSC_C |\ | ||
1004 | V4L2_SLICED_TELETEXT_NTSC_D) | ||
1005 | |||
1006 | #define V4L2_SLICED_CAPTION (V4L2_SLICED_CAPTION_525 |\ | ||
1007 | V4L2_SLICED_CAPTION_625) | ||
1008 | |||
1009 | #define V4L2_SLICED_WSS (V4L2_SLICED_WSS_525 |\ | ||
1010 | V4L2_SLICED_WSS_625) | ||
1011 | |||
1012 | #define V4L2_SLICED_VITC (V4L2_SLICED_VITC_525 |\ | ||
1013 | V4L2_SLICED_VITC_625) | ||
1014 | |||
1015 | #define V4L2_SLICED_VBI_525 (V4L2_SLICED_TELETEXT_NTSC_B |\ | ||
1016 | V4L2_SLICED_TELETEXT_NTSC_C |\ | ||
1017 | V4L2_SLICED_TELETEXT_NTSC_D |\ | ||
1018 | V4L2_SLICED_CAPTION_525 |\ | ||
1019 | V4L2_SLICED_WSS_525 |\ | ||
1020 | V4l2_SLICED_VITC_525) | ||
1021 | |||
1022 | #define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_PAL_B |\ | ||
1023 | V4L2_SLICED_TELETEXT_PAL_C |\ | ||
1024 | V4L2_SLICED_TELETEXT_SECAM |\ | ||
1025 | V4L2_SLICED_VPS |\ | ||
1026 | V4L2_SLICED_CAPTION_625 |\ | ||
1027 | V4L2_SLICED_WSS_625 |\ | ||
1028 | V4l2_SLICED_VITC_625) | ||
1029 | 980 | ||
1030 | struct v4l2_sliced_vbi_cap | 981 | struct v4l2_sliced_vbi_cap |
1031 | { | 982 | { |