diff options
| author | Jaroslav Kysela <perex@perex.cz> | 2010-02-16 05:19:18 -0500 |
|---|---|---|
| committer | Jaroslav Kysela <perex@perex.cz> | 2010-02-16 05:19:18 -0500 |
| commit | ba9341dfef6b0201cd30e3904dcd0a47d3dc35e0 (patch) | |
| tree | d83637979db83bb9d5a23e190148b90b60c976d2 /include/linux | |
| parent | d39e82db73eb876c60d00f00219d767b3be30307 (diff) | |
| parent | f167e1d073278fe231bbdd5d6c24fb9d091aa544 (diff) | |
Merge branch 'fixes' into devel
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/acpi.h | 1 | ||||
| -rw-r--r-- | include/linux/blkdev.h | 17 | ||||
| -rw-r--r-- | include/linux/firewire-cdev.h | 3 | ||||
| -rw-r--r-- | include/linux/firewire.h | 4 | ||||
| -rw-r--r-- | include/linux/ieee80211.h | 2 | ||||
| -rw-r--r-- | include/linux/inetdevice.h | 1 | ||||
| -rw-r--r-- | include/linux/jbd2.h | 1 | ||||
| -rw-r--r-- | include/linux/kfifo.h | 2 | ||||
| -rw-r--r-- | include/linux/mm_types.h | 2 | ||||
| -rw-r--r-- | include/linux/pci.h | 3 | ||||
| -rw-r--r-- | include/linux/reiserfs_fs.h | 26 | ||||
| -rw-r--r-- | include/linux/resource.h | 8 | ||||
| -rw-r--r-- | include/linux/sched.h | 22 | ||||
| -rw-r--r-- | include/linux/syscalls.h | 2 | ||||
| -rw-r--r-- | include/linux/sysctl.h | 1 | ||||
| -rw-r--r-- | include/linux/writeback.h | 1 |
16 files changed, 81 insertions, 15 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index ce945d4845fc..36924255c0d5 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
| @@ -251,6 +251,7 @@ int acpi_check_mem_region(resource_size_t start, resource_size_t n, | |||
| 251 | void __init acpi_no_s4_hw_signature(void); | 251 | void __init acpi_no_s4_hw_signature(void); |
| 252 | void __init acpi_old_suspend_ordering(void); | 252 | void __init acpi_old_suspend_ordering(void); |
| 253 | void __init acpi_s4_no_nvs(void); | 253 | void __init acpi_s4_no_nvs(void); |
| 254 | void __init acpi_set_sci_en_on_resume(void); | ||
| 254 | #endif /* CONFIG_PM_SLEEP */ | 255 | #endif /* CONFIG_PM_SLEEP */ |
| 255 | 256 | ||
| 256 | struct acpi_osc_context { | 257 | struct acpi_osc_context { |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 784a919aa0d0..9b98173a8184 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
| @@ -845,7 +845,6 @@ static inline struct request_queue *bdev_get_queue(struct block_device *bdev) | |||
| 845 | * blk_rq_err_bytes() : bytes left till the next error boundary | 845 | * blk_rq_err_bytes() : bytes left till the next error boundary |
| 846 | * blk_rq_sectors() : sectors left in the entire request | 846 | * blk_rq_sectors() : sectors left in the entire request |
| 847 | * blk_rq_cur_sectors() : sectors left in the current segment | 847 | * blk_rq_cur_sectors() : sectors left in the current segment |
| 848 | * blk_rq_err_sectors() : sectors left till the next error boundary | ||
| 849 | */ | 848 | */ |
| 850 | static inline sector_t blk_rq_pos(const struct request *rq) | 849 | static inline sector_t blk_rq_pos(const struct request *rq) |
| 851 | { | 850 | { |
| @@ -874,11 +873,6 @@ static inline unsigned int blk_rq_cur_sectors(const struct request *rq) | |||
| 874 | return blk_rq_cur_bytes(rq) >> 9; | 873 | return blk_rq_cur_bytes(rq) >> 9; |
| 875 | } | 874 | } |
| 876 | 875 | ||
| 877 | static inline unsigned int blk_rq_err_sectors(const struct request *rq) | ||
| 878 | { | ||
| 879 | return blk_rq_err_bytes(rq) >> 9; | ||
| 880 | } | ||
| 881 | |||
| 882 | /* | 876 | /* |
| 883 | * Request issue related functions. | 877 | * Request issue related functions. |
| 884 | */ | 878 | */ |
| @@ -1116,11 +1110,18 @@ static inline int queue_alignment_offset(struct request_queue *q) | |||
| 1116 | return q->limits.alignment_offset; | 1110 | return q->limits.alignment_offset; |
| 1117 | } | 1111 | } |
| 1118 | 1112 | ||
| 1113 | static inline int queue_limit_alignment_offset(struct queue_limits *lim, sector_t offset) | ||
| 1114 | { | ||
| 1115 | unsigned int granularity = max(lim->physical_block_size, lim->io_min); | ||
| 1116 | |||
| 1117 | offset &= granularity - 1; | ||
| 1118 | return (granularity + lim->alignment_offset - offset) & (granularity - 1); | ||
| 1119 | } | ||
| 1120 | |||
| 1119 | static inline int queue_sector_alignment_offset(struct request_queue *q, | 1121 | static inline int queue_sector_alignment_offset(struct request_queue *q, |
| 1120 | sector_t sector) | 1122 | sector_t sector) |
| 1121 | { | 1123 | { |
| 1122 | return ((sector << 9) - q->limits.alignment_offset) | 1124 | return queue_limit_alignment_offset(&q->limits, sector << 9); |
| 1123 | & (q->limits.io_min - 1); | ||
| 1124 | } | 1125 | } |
| 1125 | 1126 | ||
| 1126 | static inline int bdev_alignment_offset(struct block_device *bdev) | 1127 | static inline int bdev_alignment_offset(struct block_device *bdev) |
diff --git a/include/linux/firewire-cdev.h b/include/linux/firewire-cdev.h index c6b3ca3af6df..1f716d9f714b 100644 --- a/include/linux/firewire-cdev.h +++ b/include/linux/firewire-cdev.h | |||
| @@ -340,6 +340,9 @@ struct fw_cdev_send_response { | |||
| 340 | * The @closure field is passed back to userspace in the response event. | 340 | * The @closure field is passed back to userspace in the response event. |
| 341 | * The @handle field is an out parameter, returning a handle to the allocated | 341 | * The @handle field is an out parameter, returning a handle to the allocated |
| 342 | * range to be used for later deallocation of the range. | 342 | * range to be used for later deallocation of the range. |
| 343 | * | ||
| 344 | * The address range is allocated on all local nodes. The address allocation | ||
| 345 | * is exclusive except for the FCP command and response registers. | ||
| 343 | */ | 346 | */ |
| 344 | struct fw_cdev_allocate { | 347 | struct fw_cdev_allocate { |
| 345 | __u64 offset; | 348 | __u64 offset; |
diff --git a/include/linux/firewire.h b/include/linux/firewire.h index 9416a461b696..a0e67150a729 100644 --- a/include/linux/firewire.h +++ b/include/linux/firewire.h | |||
| @@ -248,8 +248,8 @@ typedef void (*fw_transaction_callback_t)(struct fw_card *card, int rcode, | |||
| 248 | void *data, size_t length, | 248 | void *data, size_t length, |
| 249 | void *callback_data); | 249 | void *callback_data); |
| 250 | /* | 250 | /* |
| 251 | * Important note: The callback must guarantee that either fw_send_response() | 251 | * Important note: Except for the FCP registers, the callback must guarantee |
| 252 | * or kfree() is called on the @request. | 252 | * that either fw_send_response() or kfree() is called on the @request. |
| 253 | */ | 253 | */ |
| 254 | typedef void (*fw_address_callback_t)(struct fw_card *card, | 254 | typedef void (*fw_address_callback_t)(struct fw_card *card, |
| 255 | struct fw_request *request, | 255 | struct fw_request *request, |
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index d9724a28c0c2..163c840437d6 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
| @@ -832,7 +832,7 @@ struct ieee80211_ht_cap { | |||
| 832 | #define IEEE80211_HT_CAP_DELAY_BA 0x0400 | 832 | #define IEEE80211_HT_CAP_DELAY_BA 0x0400 |
| 833 | #define IEEE80211_HT_CAP_MAX_AMSDU 0x0800 | 833 | #define IEEE80211_HT_CAP_MAX_AMSDU 0x0800 |
| 834 | #define IEEE80211_HT_CAP_DSSSCCK40 0x1000 | 834 | #define IEEE80211_HT_CAP_DSSSCCK40 0x1000 |
| 835 | #define IEEE80211_HT_CAP_PSMP_SUPPORT 0x2000 | 835 | #define IEEE80211_HT_CAP_RESERVED 0x2000 |
| 836 | #define IEEE80211_HT_CAP_40MHZ_INTOLERANT 0x4000 | 836 | #define IEEE80211_HT_CAP_40MHZ_INTOLERANT 0x4000 |
| 837 | #define IEEE80211_HT_CAP_LSIG_TXOP_PROT 0x8000 | 837 | #define IEEE80211_HT_CAP_LSIG_TXOP_PROT 0x8000 |
| 838 | 838 | ||
diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h index 699e85c01a4d..b2304929434e 100644 --- a/include/linux/inetdevice.h +++ b/include/linux/inetdevice.h | |||
| @@ -81,6 +81,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev) | |||
| 81 | #define IN_DEV_FORWARD(in_dev) IN_DEV_CONF_GET((in_dev), FORWARDING) | 81 | #define IN_DEV_FORWARD(in_dev) IN_DEV_CONF_GET((in_dev), FORWARDING) |
| 82 | #define IN_DEV_MFORWARD(in_dev) IN_DEV_ANDCONF((in_dev), MC_FORWARDING) | 82 | #define IN_DEV_MFORWARD(in_dev) IN_DEV_ANDCONF((in_dev), MC_FORWARDING) |
| 83 | #define IN_DEV_RPFILTER(in_dev) IN_DEV_MAXCONF((in_dev), RP_FILTER) | 83 | #define IN_DEV_RPFILTER(in_dev) IN_DEV_MAXCONF((in_dev), RP_FILTER) |
| 84 | #define IN_DEV_SRC_VMARK(in_dev) IN_DEV_ORCONF((in_dev), SRC_VMARK) | ||
| 84 | #define IN_DEV_SOURCE_ROUTE(in_dev) IN_DEV_ANDCONF((in_dev), \ | 85 | #define IN_DEV_SOURCE_ROUTE(in_dev) IN_DEV_ANDCONF((in_dev), \ |
| 85 | ACCEPT_SOURCE_ROUTE) | 86 | ACCEPT_SOURCE_ROUTE) |
| 86 | #define IN_DEV_ACCEPT_LOCAL(in_dev) IN_DEV_ORCONF((in_dev), ACCEPT_LOCAL) | 87 | #define IN_DEV_ACCEPT_LOCAL(in_dev) IN_DEV_ORCONF((in_dev), ACCEPT_LOCAL) |
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index f1011f7f3d41..638ce4554c76 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h | |||
| @@ -653,6 +653,7 @@ struct transaction_s | |||
| 653 | * waiting for it to finish. | 653 | * waiting for it to finish. |
| 654 | */ | 654 | */ |
| 655 | unsigned int t_synchronous_commit:1; | 655 | unsigned int t_synchronous_commit:1; |
| 656 | unsigned int t_flushed_data_blocks:1; | ||
| 656 | 657 | ||
| 657 | /* | 658 | /* |
| 658 | * For use by the filesystem to store fs-specific data | 659 | * For use by the filesystem to store fs-specific data |
diff --git a/include/linux/kfifo.h b/include/linux/kfifo.h index 3d44e9c65a8e..7c6b32a1421c 100644 --- a/include/linux/kfifo.h +++ b/include/linux/kfifo.h | |||
| @@ -81,7 +81,7 @@ union { \ | |||
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | /** | 83 | /** |
| 84 | * INIT_KFIFO - Initialize a kfifo declared by DECLARED_KFIFO | 84 | * INIT_KFIFO - Initialize a kfifo declared by DECLARE_KFIFO |
| 85 | * @name: name of the declared kfifo datatype | 85 | * @name: name of the declared kfifo datatype |
| 86 | */ | 86 | */ |
| 87 | #define INIT_KFIFO(name) \ | 87 | #define INIT_KFIFO(name) \ |
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 84a524afb3dc..84d020bed083 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
| @@ -123,6 +123,8 @@ struct vm_region { | |||
| 123 | struct file *vm_file; /* the backing file or NULL */ | 123 | struct file *vm_file; /* the backing file or NULL */ |
| 124 | 124 | ||
| 125 | atomic_t vm_usage; /* region usage count */ | 125 | atomic_t vm_usage; /* region usage count */ |
| 126 | bool vm_icache_flushed : 1; /* true if the icache has been flushed for | ||
| 127 | * this region */ | ||
| 126 | }; | 128 | }; |
| 127 | 129 | ||
| 128 | /* | 130 | /* |
diff --git a/include/linux/pci.h b/include/linux/pci.h index bf1e67080849..5da0690d9cee 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -566,6 +566,9 @@ void pcibios_align_resource(void *, struct resource *, resource_size_t, | |||
| 566 | resource_size_t); | 566 | resource_size_t); |
| 567 | void pcibios_update_irq(struct pci_dev *, int irq); | 567 | void pcibios_update_irq(struct pci_dev *, int irq); |
| 568 | 568 | ||
| 569 | /* Weak but can be overriden by arch */ | ||
| 570 | void pci_fixup_cardbus(struct pci_bus *); | ||
| 571 | |||
| 569 | /* Generic PCI functions used internally */ | 572 | /* Generic PCI functions used internally */ |
| 570 | 573 | ||
| 571 | extern struct pci_bus *pci_find_bus(int domain, int busnr); | 574 | extern struct pci_bus *pci_find_bus(int domain, int busnr); |
diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h index c96c1858fe2c..1ba3cf6edfbb 100644 --- a/include/linux/reiserfs_fs.h +++ b/include/linux/reiserfs_fs.h | |||
| @@ -62,6 +62,12 @@ void reiserfs_write_unlock(struct super_block *s); | |||
| 62 | int reiserfs_write_lock_once(struct super_block *s); | 62 | int reiserfs_write_lock_once(struct super_block *s); |
| 63 | void reiserfs_write_unlock_once(struct super_block *s, int lock_depth); | 63 | void reiserfs_write_unlock_once(struct super_block *s, int lock_depth); |
| 64 | 64 | ||
| 65 | #ifdef CONFIG_REISERFS_CHECK | ||
| 66 | void reiserfs_lock_check_recursive(struct super_block *s); | ||
| 67 | #else | ||
| 68 | static inline void reiserfs_lock_check_recursive(struct super_block *s) { } | ||
| 69 | #endif | ||
| 70 | |||
| 65 | /* | 71 | /* |
| 66 | * Several mutexes depend on the write lock. | 72 | * Several mutexes depend on the write lock. |
| 67 | * However sometimes we want to relax the write lock while we hold | 73 | * However sometimes we want to relax the write lock while we hold |
| @@ -92,11 +98,31 @@ void reiserfs_write_unlock_once(struct super_block *s, int lock_depth); | |||
| 92 | static inline void reiserfs_mutex_lock_safe(struct mutex *m, | 98 | static inline void reiserfs_mutex_lock_safe(struct mutex *m, |
| 93 | struct super_block *s) | 99 | struct super_block *s) |
| 94 | { | 100 | { |
| 101 | reiserfs_lock_check_recursive(s); | ||
| 95 | reiserfs_write_unlock(s); | 102 | reiserfs_write_unlock(s); |
| 96 | mutex_lock(m); | 103 | mutex_lock(m); |
| 97 | reiserfs_write_lock(s); | 104 | reiserfs_write_lock(s); |
| 98 | } | 105 | } |
| 99 | 106 | ||
| 107 | static inline void | ||
| 108 | reiserfs_mutex_lock_nested_safe(struct mutex *m, unsigned int subclass, | ||
| 109 | struct super_block *s) | ||
| 110 | { | ||
| 111 | reiserfs_lock_check_recursive(s); | ||
| 112 | reiserfs_write_unlock(s); | ||
| 113 | mutex_lock_nested(m, subclass); | ||
| 114 | reiserfs_write_lock(s); | ||
| 115 | } | ||
| 116 | |||
| 117 | static inline void | ||
| 118 | reiserfs_down_read_safe(struct rw_semaphore *sem, struct super_block *s) | ||
| 119 | { | ||
| 120 | reiserfs_lock_check_recursive(s); | ||
| 121 | reiserfs_write_unlock(s); | ||
| 122 | down_read(sem); | ||
| 123 | reiserfs_write_lock(s); | ||
| 124 | } | ||
| 125 | |||
| 100 | /* | 126 | /* |
| 101 | * When we schedule, we usually want to also release the write lock, | 127 | * When we schedule, we usually want to also release the write lock, |
| 102 | * according to the previous bkl based locking scheme of reiserfs. | 128 | * according to the previous bkl based locking scheme of reiserfs. |
diff --git a/include/linux/resource.h b/include/linux/resource.h index 40fc7e626082..f1e914eefeab 100644 --- a/include/linux/resource.h +++ b/include/linux/resource.h | |||
| @@ -3,8 +3,6 @@ | |||
| 3 | 3 | ||
| 4 | #include <linux/time.h> | 4 | #include <linux/time.h> |
| 5 | 5 | ||
| 6 | struct task_struct; | ||
| 7 | |||
| 8 | /* | 6 | /* |
| 9 | * Resource control/accounting header file for linux | 7 | * Resource control/accounting header file for linux |
| 10 | */ | 8 | */ |
| @@ -70,6 +68,12 @@ struct rlimit { | |||
| 70 | */ | 68 | */ |
| 71 | #include <asm/resource.h> | 69 | #include <asm/resource.h> |
| 72 | 70 | ||
| 71 | #ifdef __KERNEL__ | ||
| 72 | |||
| 73 | struct task_struct; | ||
| 74 | |||
| 73 | int getrusage(struct task_struct *p, int who, struct rusage __user *ru); | 75 | int getrusage(struct task_struct *p, int who, struct rusage __user *ru); |
| 74 | 76 | ||
| 77 | #endif /* __KERNEL__ */ | ||
| 78 | |||
| 75 | #endif | 79 | #endif |
diff --git a/include/linux/sched.h b/include/linux/sched.h index f2f842db03ce..8d4991be9d53 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -2601,6 +2601,28 @@ static inline void mm_init_owner(struct mm_struct *mm, struct task_struct *p) | |||
| 2601 | } | 2601 | } |
| 2602 | #endif /* CONFIG_MM_OWNER */ | 2602 | #endif /* CONFIG_MM_OWNER */ |
| 2603 | 2603 | ||
| 2604 | static inline unsigned long task_rlimit(const struct task_struct *tsk, | ||
| 2605 | unsigned int limit) | ||
| 2606 | { | ||
| 2607 | return ACCESS_ONCE(tsk->signal->rlim[limit].rlim_cur); | ||
| 2608 | } | ||
| 2609 | |||
| 2610 | static inline unsigned long task_rlimit_max(const struct task_struct *tsk, | ||
| 2611 | unsigned int limit) | ||
| 2612 | { | ||
| 2613 | return ACCESS_ONCE(tsk->signal->rlim[limit].rlim_max); | ||
| 2614 | } | ||
| 2615 | |||
| 2616 | static inline unsigned long rlimit(unsigned int limit) | ||
| 2617 | { | ||
| 2618 | return task_rlimit(current, limit); | ||
| 2619 | } | ||
| 2620 | |||
| 2621 | static inline unsigned long rlimit_max(unsigned int limit) | ||
| 2622 | { | ||
| 2623 | return task_rlimit_max(current, limit); | ||
| 2624 | } | ||
| 2625 | |||
| 2604 | #endif /* __KERNEL__ */ | 2626 | #endif /* __KERNEL__ */ |
| 2605 | 2627 | ||
| 2606 | #endif | 2628 | #endif |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 65793e90d6f6..207466a49f3d 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
| @@ -195,7 +195,7 @@ struct perf_event_attr; | |||
| 195 | static const struct syscall_metadata __used \ | 195 | static const struct syscall_metadata __used \ |
| 196 | __attribute__((__aligned__(4))) \ | 196 | __attribute__((__aligned__(4))) \ |
| 197 | __attribute__((section("__syscalls_metadata"))) \ | 197 | __attribute__((section("__syscalls_metadata"))) \ |
| 198 | __syscall_meta_##sname = { \ | 198 | __syscall_meta__##sname = { \ |
| 199 | .name = "sys_"#sname, \ | 199 | .name = "sys_"#sname, \ |
| 200 | .nb_args = 0, \ | 200 | .nb_args = 0, \ |
| 201 | .enter_event = &event_enter__##sname, \ | 201 | .enter_event = &event_enter__##sname, \ |
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 877ba039e6a4..bd27fbc9db62 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
| @@ -482,6 +482,7 @@ enum | |||
| 482 | NET_IPV4_CONF_ARP_ACCEPT=21, | 482 | NET_IPV4_CONF_ARP_ACCEPT=21, |
| 483 | NET_IPV4_CONF_ARP_NOTIFY=22, | 483 | NET_IPV4_CONF_ARP_NOTIFY=22, |
| 484 | NET_IPV4_CONF_ACCEPT_LOCAL=23, | 484 | NET_IPV4_CONF_ACCEPT_LOCAL=23, |
| 485 | NET_IPV4_CONF_SRC_VMARK=24, | ||
| 485 | __NET_IPV4_CONF_MAX | 486 | __NET_IPV4_CONF_MAX |
| 486 | }; | 487 | }; |
| 487 | 488 | ||
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index c18c008f4bbf..76e8903cd204 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h | |||
| @@ -70,6 +70,7 @@ struct writeback_control { | |||
| 70 | struct bdi_writeback; | 70 | struct bdi_writeback; |
| 71 | int inode_wait(void *); | 71 | int inode_wait(void *); |
| 72 | void writeback_inodes_sb(struct super_block *); | 72 | void writeback_inodes_sb(struct super_block *); |
| 73 | int writeback_inodes_sb_if_idle(struct super_block *); | ||
| 73 | void sync_inodes_sb(struct super_block *); | 74 | void sync_inodes_sb(struct super_block *); |
| 74 | void writeback_inodes_wbc(struct writeback_control *wbc); | 75 | void writeback_inodes_wbc(struct writeback_control *wbc); |
| 75 | long wb_do_writeback(struct bdi_writeback *wb, int force_wait); | 76 | long wb_do_writeback(struct bdi_writeback *wb, int force_wait); |
