diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/binfmts.h | 14 | ||||
| -rw-r--r-- | include/linux/blkdev.h | 1 | ||||
| -rw-r--r-- | include/linux/init.h | 12 | ||||
| -rw-r--r-- | include/linux/input.h | 24 | ||||
| -rw-r--r-- | include/linux/memcontrol.h | 4 | ||||
| -rw-r--r-- | include/linux/mman.h | 9 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 4 | ||||
| -rw-r--r-- | include/linux/netfilter/nfnetlink_conntrack.h | 1 | ||||
| -rw-r--r-- | include/linux/netfilter/x_tables.h | 73 | ||||
| -rw-r--r-- | include/linux/of_platform.h | 10 | ||||
| -rw-r--r-- | include/linux/pci_regs.h | 1 | ||||
| -rw-r--r-- | include/linux/regulator/driver.h | 1 | ||||
| -rw-r--r-- | include/linux/section-names.h | 6 | ||||
| -rw-r--r-- | include/linux/sunrpc/xprt.h | 1 | ||||
| -rw-r--r-- | include/linux/wait.h | 6 |
15 files changed, 140 insertions, 27 deletions
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h index 6638b8148de..61ee18c1bdb 100644 --- a/include/linux/binfmts.h +++ b/include/linux/binfmts.h | |||
| @@ -82,7 +82,19 @@ struct linux_binfmt { | |||
| 82 | int hasvdso; | 82 | int hasvdso; |
| 83 | }; | 83 | }; |
| 84 | 84 | ||
| 85 | extern int register_binfmt(struct linux_binfmt *); | 85 | extern int __register_binfmt(struct linux_binfmt *fmt, int insert); |
| 86 | |||
| 87 | /* Registration of default binfmt handlers */ | ||
| 88 | static inline int register_binfmt(struct linux_binfmt *fmt) | ||
| 89 | { | ||
| 90 | return __register_binfmt(fmt, 0); | ||
| 91 | } | ||
| 92 | /* Same as above, but adds a new binfmt at the top of the list */ | ||
| 93 | static inline int insert_binfmt(struct linux_binfmt *fmt) | ||
| 94 | { | ||
| 95 | return __register_binfmt(fmt, 1); | ||
| 96 | } | ||
| 97 | |||
| 86 | extern void unregister_binfmt(struct linux_binfmt *); | 98 | extern void unregister_binfmt(struct linux_binfmt *); |
| 87 | 99 | ||
| 88 | extern int prepare_binprm(struct linux_binprm *); | 100 | extern int prepare_binprm(struct linux_binprm *); |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 2755d5c6da2..b4f71f1a4af 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
| @@ -601,6 +601,7 @@ enum { | |||
| 601 | blk_failfast_driver(rq)) | 601 | blk_failfast_driver(rq)) |
| 602 | #define blk_rq_started(rq) ((rq)->cmd_flags & REQ_STARTED) | 602 | #define blk_rq_started(rq) ((rq)->cmd_flags & REQ_STARTED) |
| 603 | #define blk_rq_io_stat(rq) ((rq)->cmd_flags & REQ_IO_STAT) | 603 | #define blk_rq_io_stat(rq) ((rq)->cmd_flags & REQ_IO_STAT) |
| 604 | #define blk_rq_quiet(rq) ((rq)->cmd_flags & REQ_QUIET) | ||
| 604 | 605 | ||
| 605 | #define blk_account_rq(rq) (blk_rq_started(rq) && (blk_fs_request(rq) || blk_discard_rq(rq))) | 606 | #define blk_account_rq(rq) (blk_rq_started(rq) && (blk_fs_request(rq) || blk_discard_rq(rq))) |
| 606 | 607 | ||
diff --git a/include/linux/init.h b/include/linux/init.h index f121a7a10c3..0e06c176f18 100644 --- a/include/linux/init.h +++ b/include/linux/init.h | |||
| @@ -2,6 +2,8 @@ | |||
| 2 | #define _LINUX_INIT_H | 2 | #define _LINUX_INIT_H |
| 3 | 3 | ||
| 4 | #include <linux/compiler.h> | 4 | #include <linux/compiler.h> |
| 5 | #include <linux/section-names.h> | ||
| 6 | #include <linux/stringify.h> | ||
| 5 | 7 | ||
| 6 | /* These macros are used to mark some functions or | 8 | /* These macros are used to mark some functions or |
| 7 | * initialized data (doesn't apply to uninitialized data) | 9 | * initialized data (doesn't apply to uninitialized data) |
| @@ -60,14 +62,6 @@ | |||
| 60 | #define __refdata __section(.ref.data) | 62 | #define __refdata __section(.ref.data) |
| 61 | #define __refconst __section(.ref.rodata) | 63 | #define __refconst __section(.ref.rodata) |
| 62 | 64 | ||
| 63 | /* backward compatibility note | ||
| 64 | * A few places hardcode the old section names: | ||
| 65 | * .text.init.refok | ||
| 66 | * .data.init.refok | ||
| 67 | * .exit.text.refok | ||
| 68 | * They should be converted to use the defines from this file | ||
| 69 | */ | ||
| 70 | |||
| 71 | /* compatibility defines */ | 65 | /* compatibility defines */ |
| 72 | #define __init_refok __ref | 66 | #define __init_refok __ref |
| 73 | #define __initdata_refok __refdata | 67 | #define __initdata_refok __refdata |
| @@ -107,7 +101,7 @@ | |||
| 107 | #define __memexitconst __section(.memexit.rodata) | 101 | #define __memexitconst __section(.memexit.rodata) |
| 108 | 102 | ||
| 109 | /* For assembly routines */ | 103 | /* For assembly routines */ |
| 110 | #define __HEAD .section ".head.text","ax" | 104 | #define __HEAD .section __stringify(HEAD_TEXT_SECTION),"ax" |
| 111 | #define __INIT .section ".init.text","ax" | 105 | #define __INIT .section ".init.text","ax" |
| 112 | #define __FINIT .previous | 106 | #define __FINIT .previous |
| 113 | 107 | ||
diff --git a/include/linux/input.h b/include/linux/input.h index 6b28048fc56..0e6ff5de358 100644 --- a/include/linux/input.h +++ b/include/linux/input.h | |||
| @@ -106,6 +106,7 @@ struct input_absinfo { | |||
| 106 | 106 | ||
| 107 | #define SYN_REPORT 0 | 107 | #define SYN_REPORT 0 |
| 108 | #define SYN_CONFIG 1 | 108 | #define SYN_CONFIG 1 |
| 109 | #define SYN_MT_REPORT 2 | ||
| 109 | 110 | ||
| 110 | /* | 111 | /* |
| 111 | * Keys and buttons | 112 | * Keys and buttons |
| @@ -445,6 +446,7 @@ struct input_absinfo { | |||
| 445 | #define BTN_STYLUS2 0x14c | 446 | #define BTN_STYLUS2 0x14c |
| 446 | #define BTN_TOOL_DOUBLETAP 0x14d | 447 | #define BTN_TOOL_DOUBLETAP 0x14d |
| 447 | #define BTN_TOOL_TRIPLETAP 0x14e | 448 | #define BTN_TOOL_TRIPLETAP 0x14e |
| 449 | #define BTN_TOOL_QUADTAP 0x14f /* Four fingers on trackpad */ | ||
| 448 | 450 | ||
| 449 | #define BTN_WHEEL 0x150 | 451 | #define BTN_WHEEL 0x150 |
| 450 | #define BTN_GEAR_DOWN 0x150 | 452 | #define BTN_GEAR_DOWN 0x150 |
| @@ -644,6 +646,17 @@ struct input_absinfo { | |||
| 644 | #define ABS_TOOL_WIDTH 0x1c | 646 | #define ABS_TOOL_WIDTH 0x1c |
| 645 | #define ABS_VOLUME 0x20 | 647 | #define ABS_VOLUME 0x20 |
| 646 | #define ABS_MISC 0x28 | 648 | #define ABS_MISC 0x28 |
| 649 | |||
| 650 | #define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */ | ||
| 651 | #define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */ | ||
| 652 | #define ABS_MT_WIDTH_MAJOR 0x32 /* Major axis of approaching ellipse */ | ||
| 653 | #define ABS_MT_WIDTH_MINOR 0x33 /* Minor axis (omit if circular) */ | ||
| 654 | #define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */ | ||
| 655 | #define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */ | ||
| 656 | #define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */ | ||
| 657 | #define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */ | ||
| 658 | #define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */ | ||
| 659 | |||
| 647 | #define ABS_MAX 0x3f | 660 | #define ABS_MAX 0x3f |
| 648 | #define ABS_CNT (ABS_MAX+1) | 661 | #define ABS_CNT (ABS_MAX+1) |
| 649 | 662 | ||
| @@ -743,6 +756,12 @@ struct input_absinfo { | |||
| 743 | #define BUS_ATARI 0x1B | 756 | #define BUS_ATARI 0x1B |
| 744 | 757 | ||
| 745 | /* | 758 | /* |
| 759 | * MT_TOOL types | ||
| 760 | */ | ||
| 761 | #define MT_TOOL_FINGER 0 | ||
| 762 | #define MT_TOOL_PEN 1 | ||
| 763 | |||
| 764 | /* | ||
| 746 | * Values describing the status of a force-feedback effect | 765 | * Values describing the status of a force-feedback effect |
| 747 | */ | 766 | */ |
| 748 | #define FF_STATUS_STOPPED 0x00 | 767 | #define FF_STATUS_STOPPED 0x00 |
| @@ -1311,6 +1330,11 @@ static inline void input_sync(struct input_dev *dev) | |||
| 1311 | input_event(dev, EV_SYN, SYN_REPORT, 0); | 1330 | input_event(dev, EV_SYN, SYN_REPORT, 0); |
| 1312 | } | 1331 | } |
| 1313 | 1332 | ||
| 1333 | static inline void input_mt_sync(struct input_dev *dev) | ||
| 1334 | { | ||
| 1335 | input_event(dev, EV_SYN, SYN_MT_REPORT, 0); | ||
| 1336 | } | ||
| 1337 | |||
| 1314 | void input_set_capability(struct input_dev *dev, unsigned int type, unsigned int code); | 1338 | void input_set_capability(struct input_dev *dev, unsigned int type, unsigned int code); |
| 1315 | 1339 | ||
| 1316 | static inline void input_set_abs_params(struct input_dev *dev, int axis, int min, int max, int fuzz, int flat) | 1340 | static inline void input_set_abs_params(struct input_dev *dev, int axis, int min, int max, int fuzz, int flat) |
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index a9e3b76aa88..25b9ca93d23 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
| @@ -56,7 +56,7 @@ extern void mem_cgroup_move_lists(struct page *page, | |||
| 56 | enum lru_list from, enum lru_list to); | 56 | enum lru_list from, enum lru_list to); |
| 57 | extern void mem_cgroup_uncharge_page(struct page *page); | 57 | extern void mem_cgroup_uncharge_page(struct page *page); |
| 58 | extern void mem_cgroup_uncharge_cache_page(struct page *page); | 58 | extern void mem_cgroup_uncharge_cache_page(struct page *page); |
| 59 | extern int mem_cgroup_shrink_usage(struct page *page, | 59 | extern int mem_cgroup_shmem_charge_fallback(struct page *page, |
| 60 | struct mm_struct *mm, gfp_t gfp_mask); | 60 | struct mm_struct *mm, gfp_t gfp_mask); |
| 61 | 61 | ||
| 62 | extern unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan, | 62 | extern unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan, |
| @@ -155,7 +155,7 @@ static inline void mem_cgroup_uncharge_cache_page(struct page *page) | |||
| 155 | { | 155 | { |
| 156 | } | 156 | } |
| 157 | 157 | ||
| 158 | static inline int mem_cgroup_shrink_usage(struct page *page, | 158 | static inline int mem_cgroup_shmem_charge_fallback(struct page *page, |
| 159 | struct mm_struct *mm, gfp_t gfp_mask) | 159 | struct mm_struct *mm, gfp_t gfp_mask) |
| 160 | { | 160 | { |
| 161 | return 0; | 161 | return 0; |
diff --git a/include/linux/mman.h b/include/linux/mman.h index 30d1073bac3..9872d6ca58a 100644 --- a/include/linux/mman.h +++ b/include/linux/mman.h | |||
| @@ -12,21 +12,18 @@ | |||
| 12 | 12 | ||
| 13 | #ifdef __KERNEL__ | 13 | #ifdef __KERNEL__ |
| 14 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
| 15 | #include <linux/percpu_counter.h> | ||
| 15 | 16 | ||
| 16 | #include <asm/atomic.h> | 17 | #include <asm/atomic.h> |
| 17 | 18 | ||
| 18 | extern int sysctl_overcommit_memory; | 19 | extern int sysctl_overcommit_memory; |
| 19 | extern int sysctl_overcommit_ratio; | 20 | extern int sysctl_overcommit_ratio; |
| 20 | extern atomic_long_t vm_committed_space; | 21 | extern struct percpu_counter vm_committed_as; |
| 21 | 22 | ||
| 22 | #ifdef CONFIG_SMP | ||
| 23 | extern void vm_acct_memory(long pages); | ||
| 24 | #else | ||
| 25 | static inline void vm_acct_memory(long pages) | 23 | static inline void vm_acct_memory(long pages) |
| 26 | { | 24 | { |
| 27 | atomic_long_add(pages, &vm_committed_space); | 25 | percpu_counter_add(&vm_committed_as, pages); |
| 28 | } | 26 | } |
| 29 | #endif | ||
| 30 | 27 | ||
| 31 | static inline void vm_unacct_memory(long pages) | 28 | static inline void vm_unacct_memory(long pages) |
| 32 | { | 29 | { |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 2e7783f4a75..5a96a1a406e 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -104,7 +104,7 @@ struct wireless_dev; | |||
| 104 | # else | 104 | # else |
| 105 | # define LL_MAX_HEADER 96 | 105 | # define LL_MAX_HEADER 96 |
| 106 | # endif | 106 | # endif |
| 107 | #elif defined(CONFIG_TR) | 107 | #elif defined(CONFIG_TR) || defined(CONFIG_TR_MODULE) |
| 108 | # define LL_MAX_HEADER 48 | 108 | # define LL_MAX_HEADER 48 |
| 109 | #else | 109 | #else |
| 110 | # define LL_MAX_HEADER 32 | 110 | # define LL_MAX_HEADER 32 |
| @@ -500,7 +500,7 @@ struct netdev_queue { | |||
| 500 | * | 500 | * |
| 501 | * int (*ndo_set_mac_address)(struct net_device *dev, void *addr); | 501 | * int (*ndo_set_mac_address)(struct net_device *dev, void *addr); |
| 502 | * This function is called when the Media Access Control address | 502 | * This function is called when the Media Access Control address |
| 503 | * needs to be changed. If not this interface is not defined, the | 503 | * needs to be changed. If this interface is not defined, the |
| 504 | * mac address can not be changed. | 504 | * mac address can not be changed. |
| 505 | * | 505 | * |
| 506 | * int (*ndo_validate_addr)(struct net_device *dev); | 506 | * int (*ndo_validate_addr)(struct net_device *dev); |
diff --git a/include/linux/netfilter/nfnetlink_conntrack.h b/include/linux/netfilter/nfnetlink_conntrack.h index 29fe9ea1d34..1a865e48b8e 100644 --- a/include/linux/netfilter/nfnetlink_conntrack.h +++ b/include/linux/netfilter/nfnetlink_conntrack.h | |||
| @@ -100,6 +100,7 @@ enum ctattr_protoinfo_tcp { | |||
| 100 | enum ctattr_protoinfo_dccp { | 100 | enum ctattr_protoinfo_dccp { |
| 101 | CTA_PROTOINFO_DCCP_UNSPEC, | 101 | CTA_PROTOINFO_DCCP_UNSPEC, |
| 102 | CTA_PROTOINFO_DCCP_STATE, | 102 | CTA_PROTOINFO_DCCP_STATE, |
| 103 | CTA_PROTOINFO_DCCP_ROLE, | ||
| 103 | __CTA_PROTOINFO_DCCP_MAX, | 104 | __CTA_PROTOINFO_DCCP_MAX, |
| 104 | }; | 105 | }; |
| 105 | #define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1) | 106 | #define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1) |
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index 7b1a652066c..1b2e43502ef 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h | |||
| @@ -354,9 +354,6 @@ struct xt_table | |||
| 354 | /* What hooks you will enter on */ | 354 | /* What hooks you will enter on */ |
| 355 | unsigned int valid_hooks; | 355 | unsigned int valid_hooks; |
| 356 | 356 | ||
| 357 | /* Lock for the curtain */ | ||
| 358 | struct mutex lock; | ||
| 359 | |||
| 360 | /* Man behind the curtain... */ | 357 | /* Man behind the curtain... */ |
| 361 | struct xt_table_info *private; | 358 | struct xt_table_info *private; |
| 362 | 359 | ||
| @@ -434,8 +431,74 @@ extern void xt_proto_fini(struct net *net, u_int8_t af); | |||
| 434 | 431 | ||
| 435 | extern struct xt_table_info *xt_alloc_table_info(unsigned int size); | 432 | extern struct xt_table_info *xt_alloc_table_info(unsigned int size); |
| 436 | extern void xt_free_table_info(struct xt_table_info *info); | 433 | extern void xt_free_table_info(struct xt_table_info *info); |
| 437 | extern void xt_table_entry_swap_rcu(struct xt_table_info *old, | 434 | |
| 438 | struct xt_table_info *new); | 435 | /* |
| 436 | * Per-CPU spinlock associated with per-cpu table entries, and | ||
| 437 | * with a counter for the "reading" side that allows a recursive | ||
| 438 | * reader to avoid taking the lock and deadlocking. | ||
| 439 | * | ||
| 440 | * "reading" is used by ip/arp/ip6 tables rule processing which runs per-cpu. | ||
| 441 | * It needs to ensure that the rules are not being changed while the packet | ||
| 442 | * is being processed. In some cases, the read lock will be acquired | ||
| 443 | * twice on the same CPU; this is okay because of the count. | ||
| 444 | * | ||
| 445 | * "writing" is used when reading counters. | ||
| 446 | * During replace any readers that are using the old tables have to complete | ||
| 447 | * before freeing the old table. This is handled by the write locking | ||
| 448 | * necessary for reading the counters. | ||
| 449 | */ | ||
| 450 | struct xt_info_lock { | ||
| 451 | spinlock_t lock; | ||
| 452 | unsigned char readers; | ||
| 453 | }; | ||
| 454 | DECLARE_PER_CPU(struct xt_info_lock, xt_info_locks); | ||
| 455 | |||
| 456 | /* | ||
| 457 | * Note: we need to ensure that preemption is disabled before acquiring | ||
| 458 | * the per-cpu-variable, so we do it as a two step process rather than | ||
| 459 | * using "spin_lock_bh()". | ||
| 460 | * | ||
| 461 | * We _also_ need to disable bottom half processing before updating our | ||
| 462 | * nesting count, to make sure that the only kind of re-entrancy is this | ||
| 463 | * code being called by itself: since the count+lock is not an atomic | ||
| 464 | * operation, we can allow no races. | ||
| 465 | * | ||
| 466 | * _Only_ that special combination of being per-cpu and never getting | ||
| 467 | * re-entered asynchronously means that the count is safe. | ||
| 468 | */ | ||
| 469 | static inline void xt_info_rdlock_bh(void) | ||
| 470 | { | ||
| 471 | struct xt_info_lock *lock; | ||
| 472 | |||
| 473 | local_bh_disable(); | ||
| 474 | lock = &__get_cpu_var(xt_info_locks); | ||
| 475 | if (!lock->readers++) | ||
| 476 | spin_lock(&lock->lock); | ||
| 477 | } | ||
| 478 | |||
| 479 | static inline void xt_info_rdunlock_bh(void) | ||
| 480 | { | ||
| 481 | struct xt_info_lock *lock = &__get_cpu_var(xt_info_locks); | ||
| 482 | |||
| 483 | if (!--lock->readers) | ||
| 484 | spin_unlock(&lock->lock); | ||
| 485 | local_bh_enable(); | ||
| 486 | } | ||
| 487 | |||
| 488 | /* | ||
| 489 | * The "writer" side needs to get exclusive access to the lock, | ||
| 490 | * regardless of readers. This must be called with bottom half | ||
| 491 | * processing (and thus also preemption) disabled. | ||
| 492 | */ | ||
| 493 | static inline void xt_info_wrlock(unsigned int cpu) | ||
| 494 | { | ||
| 495 | spin_lock(&per_cpu(xt_info_locks, cpu).lock); | ||
| 496 | } | ||
| 497 | |||
| 498 | static inline void xt_info_wrunlock(unsigned int cpu) | ||
| 499 | { | ||
| 500 | spin_unlock(&per_cpu(xt_info_locks, cpu).lock); | ||
| 501 | } | ||
| 439 | 502 | ||
| 440 | /* | 503 | /* |
| 441 | * This helper is performance critical and must be inlined | 504 | * This helper is performance critical and must be inlined |
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h index 3d327b67d7e..90840665133 100644 --- a/include/linux/of_platform.h +++ b/include/linux/of_platform.h | |||
| @@ -51,6 +51,16 @@ extern int of_register_driver(struct of_platform_driver *drv, | |||
| 51 | struct bus_type *bus); | 51 | struct bus_type *bus); |
| 52 | extern void of_unregister_driver(struct of_platform_driver *drv); | 52 | extern void of_unregister_driver(struct of_platform_driver *drv); |
| 53 | 53 | ||
| 54 | /* Platform drivers register/unregister */ | ||
| 55 | static inline int of_register_platform_driver(struct of_platform_driver *drv) | ||
| 56 | { | ||
| 57 | return of_register_driver(drv, &of_platform_bus_type); | ||
| 58 | } | ||
| 59 | static inline void of_unregister_platform_driver(struct of_platform_driver *drv) | ||
| 60 | { | ||
| 61 | of_unregister_driver(drv); | ||
| 62 | } | ||
| 63 | |||
| 54 | #include <asm/of_platform.h> | 64 | #include <asm/of_platform.h> |
| 55 | 65 | ||
| 56 | extern struct of_device *of_find_device_by_node(struct device_node *np); | 66 | extern struct of_device *of_find_device_by_node(struct device_node *np); |
diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h index e4d08c1b2e0..616bf8b3c8b 100644 --- a/include/linux/pci_regs.h +++ b/include/linux/pci_regs.h | |||
| @@ -376,6 +376,7 @@ | |||
| 376 | #define PCI_EXP_TYPE_DOWNSTREAM 0x6 /* Downstream Port */ | 376 | #define PCI_EXP_TYPE_DOWNSTREAM 0x6 /* Downstream Port */ |
| 377 | #define PCI_EXP_TYPE_PCI_BRIDGE 0x7 /* PCI/PCI-X Bridge */ | 377 | #define PCI_EXP_TYPE_PCI_BRIDGE 0x7 /* PCI/PCI-X Bridge */ |
| 378 | #define PCI_EXP_TYPE_RC_END 0x9 /* Root Complex Integrated Endpoint */ | 378 | #define PCI_EXP_TYPE_RC_END 0x9 /* Root Complex Integrated Endpoint */ |
| 379 | #define PCI_EXP_TYPE_RC_EC 0x10 /* Root Complex Event Collector */ | ||
| 379 | #define PCI_EXP_FLAGS_SLOT 0x0100 /* Slot implemented */ | 380 | #define PCI_EXP_FLAGS_SLOT 0x0100 /* Slot implemented */ |
| 380 | #define PCI_EXP_FLAGS_IRQ 0x3e00 /* Interrupt message number */ | 381 | #define PCI_EXP_FLAGS_IRQ 0x3e00 /* Interrupt message number */ |
| 381 | #define PCI_EXP_DEVCAP 4 /* Device capabilities */ | 382 | #define PCI_EXP_DEVCAP 4 /* Device capabilities */ |
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h index 4848d8dacd9..225f733e753 100644 --- a/include/linux/regulator/driver.h +++ b/include/linux/regulator/driver.h | |||
| @@ -50,6 +50,7 @@ enum regulator_status { | |||
| 50 | * @set_current_limit: Configure a limit for a current-limited regulator. | 50 | * @set_current_limit: Configure a limit for a current-limited regulator. |
| 51 | * @get_current_limit: Get the configured limit for a current-limited regulator. | 51 | * @get_current_limit: Get the configured limit for a current-limited regulator. |
| 52 | * | 52 | * |
| 53 | * @set_mode: Set the configured operating mode for the regulator. | ||
| 53 | * @get_mode: Get the configured operating mode for the regulator. | 54 | * @get_mode: Get the configured operating mode for the regulator. |
| 54 | * @get_status: Return actual (not as-configured) status of regulator, as a | 55 | * @get_status: Return actual (not as-configured) status of regulator, as a |
| 55 | * REGULATOR_STATUS value (or negative errno) | 56 | * REGULATOR_STATUS value (or negative errno) |
diff --git a/include/linux/section-names.h b/include/linux/section-names.h new file mode 100644 index 00000000000..c956f4eb2ad --- /dev/null +++ b/include/linux/section-names.h | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | #ifndef __LINUX_SECTION_NAMES_H | ||
| 2 | #define __LINUX_SECTION_NAMES_H | ||
| 3 | |||
| 4 | #define HEAD_TEXT_SECTION .head.text | ||
| 5 | |||
| 6 | #endif /* !__LINUX_SECTION_NAMES_H */ | ||
diff --git a/include/linux/sunrpc/xprt.h b/include/linux/sunrpc/xprt.h index 1758d9f5b5c..08afe43118f 100644 --- a/include/linux/sunrpc/xprt.h +++ b/include/linux/sunrpc/xprt.h | |||
| @@ -261,6 +261,7 @@ void xprt_conditional_disconnect(struct rpc_xprt *xprt, unsigned int cookie); | |||
| 261 | #define XPRT_BINDING (5) | 261 | #define XPRT_BINDING (5) |
| 262 | #define XPRT_CLOSING (6) | 262 | #define XPRT_CLOSING (6) |
| 263 | #define XPRT_CONNECTION_ABORT (7) | 263 | #define XPRT_CONNECTION_ABORT (7) |
| 264 | #define XPRT_CONNECTION_CLOSE (8) | ||
| 264 | 265 | ||
| 265 | static inline void xprt_set_connected(struct rpc_xprt *xprt) | 266 | static inline void xprt_set_connected(struct rpc_xprt *xprt) |
| 266 | { | 267 | { |
diff --git a/include/linux/wait.h b/include/linux/wait.h index 5d631c17eae..bc024632f36 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h | |||
| @@ -440,13 +440,15 @@ void abort_exclusive_wait(wait_queue_head_t *q, wait_queue_t *wait, | |||
| 440 | int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key); | 440 | int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key); |
| 441 | int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *key); | 441 | int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *key); |
| 442 | 442 | ||
| 443 | #define DEFINE_WAIT(name) \ | 443 | #define DEFINE_WAIT_FUNC(name, function) \ |
| 444 | wait_queue_t name = { \ | 444 | wait_queue_t name = { \ |
| 445 | .private = current, \ | 445 | .private = current, \ |
| 446 | .func = autoremove_wake_function, \ | 446 | .func = function, \ |
| 447 | .task_list = LIST_HEAD_INIT((name).task_list), \ | 447 | .task_list = LIST_HEAD_INIT((name).task_list), \ |
| 448 | } | 448 | } |
| 449 | 449 | ||
| 450 | #define DEFINE_WAIT(name) DEFINE_WAIT_FUNC(name, autoremove_wake_function) | ||
| 451 | |||
| 450 | #define DEFINE_WAIT_BIT(name, word, bit) \ | 452 | #define DEFINE_WAIT_BIT(name, word, bit) \ |
| 451 | struct wait_bit_queue name = { \ | 453 | struct wait_bit_queue name = { \ |
| 452 | .key = __WAIT_BIT_KEY_INITIALIZER(word, bit), \ | 454 | .key = __WAIT_BIT_KEY_INITIALIZER(word, bit), \ |
