diff options
Diffstat (limited to 'include')
53 files changed, 489 insertions, 233 deletions
diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h index fcdcb5d5c995..d494001b1226 100644 --- a/include/asm-generic/gpio.h +++ b/include/asm-generic/gpio.h | |||
@@ -170,16 +170,6 @@ extern int __gpio_cansleep(unsigned gpio); | |||
170 | 170 | ||
171 | extern int __gpio_to_irq(unsigned gpio); | 171 | extern int __gpio_to_irq(unsigned gpio); |
172 | 172 | ||
173 | #define GPIOF_DIR_OUT (0 << 0) | ||
174 | #define GPIOF_DIR_IN (1 << 0) | ||
175 | |||
176 | #define GPIOF_INIT_LOW (0 << 1) | ||
177 | #define GPIOF_INIT_HIGH (1 << 1) | ||
178 | |||
179 | #define GPIOF_IN (GPIOF_DIR_IN) | ||
180 | #define GPIOF_OUT_INIT_LOW (GPIOF_DIR_OUT | GPIOF_INIT_LOW) | ||
181 | #define GPIOF_OUT_INIT_HIGH (GPIOF_DIR_OUT | GPIOF_INIT_HIGH) | ||
182 | |||
183 | /** | 173 | /** |
184 | * struct gpio - a structure describing a GPIO with configuration | 174 | * struct gpio - a structure describing a GPIO with configuration |
185 | * @gpio: the GPIO number | 175 | * @gpio: the GPIO number |
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index e9b8e5926bef..76bff2bff15e 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h | |||
@@ -88,7 +88,7 @@ static inline pmd_t pmdp_get_and_clear(struct mm_struct *mm, | |||
88 | pmd_t pmd = *pmdp; | 88 | pmd_t pmd = *pmdp; |
89 | pmd_clear(mm, address, pmdp); | 89 | pmd_clear(mm, address, pmdp); |
90 | return pmd; | 90 | return pmd; |
91 | }) | 91 | } |
92 | #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ | 92 | #endif /* CONFIG_TRANSPARENT_HUGEPAGE */ |
93 | #endif | 93 | #endif |
94 | 94 | ||
diff --git a/include/asm-generic/unistd.h b/include/asm-generic/unistd.h index ae90e0f63995..4f76959397fa 100644 --- a/include/asm-generic/unistd.h +++ b/include/asm-generic/unistd.h | |||
@@ -683,9 +683,11 @@ __SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, compat_sys_clock_adjtime) | |||
683 | __SYSCALL(__NR_syncfs, sys_syncfs) | 683 | __SYSCALL(__NR_syncfs, sys_syncfs) |
684 | #define __NR_setns 268 | 684 | #define __NR_setns 268 |
685 | __SYSCALL(__NR_setns, sys_setns) | 685 | __SYSCALL(__NR_setns, sys_setns) |
686 | #define __NR_sendmmsg 269 | ||
687 | __SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg) | ||
686 | 688 | ||
687 | #undef __NR_syscalls | 689 | #undef __NR_syscalls |
688 | #define __NR_syscalls 269 | 690 | #define __NR_syscalls 270 |
689 | 691 | ||
690 | /* | 692 | /* |
691 | * All syscalls below here should go away really, | 693 | * All syscalls below here should go away really, |
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 9573e0ce3120..33d12f87f0e0 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h | |||
@@ -520,6 +520,8 @@ struct drm_connector { | |||
520 | uint32_t encoder_ids[DRM_CONNECTOR_MAX_ENCODER]; | 520 | uint32_t encoder_ids[DRM_CONNECTOR_MAX_ENCODER]; |
521 | uint32_t force_encoder_id; | 521 | uint32_t force_encoder_id; |
522 | struct drm_encoder *encoder; /* currently active encoder */ | 522 | struct drm_encoder *encoder; /* currently active encoder */ |
523 | |||
524 | int null_edid_counter; /* needed to workaround some HW bugs where we get all 0s */ | ||
523 | }; | 525 | }; |
524 | 526 | ||
525 | /** | 527 | /** |
diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h index f04b2a3b0f49..e08f344c6cff 100644 --- a/include/drm/drm_pciids.h +++ b/include/drm/drm_pciids.h | |||
@@ -467,6 +467,17 @@ | |||
467 | {0x1002, 0x9614, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 467 | {0x1002, 0x9614, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
468 | {0x1002, 0x9615, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 468 | {0x1002, 0x9615, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
469 | {0x1002, 0x9616, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 469 | {0x1002, 0x9616, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
470 | {0x1002, 0x9640, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
471 | {0x1002, 0x9641, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
472 | {0x1002, 0x9642, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO2|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
473 | {0x1002, 0x9643, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO2|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
474 | {0x1002, 0x9644, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO2|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
475 | {0x1002, 0x9645, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO2|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
476 | {0x1002, 0x9647, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP},\ | ||
477 | {0x1002, 0x9648, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP},\ | ||
478 | {0x1002, 0x964a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
479 | {0x1002, 0x964e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP},\ | ||
480 | {0x1002, 0x964f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP},\ | ||
470 | {0x1002, 0x9710, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 481 | {0x1002, 0x9710, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
471 | {0x1002, 0x9711, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 482 | {0x1002, 0x9711, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
472 | {0x1002, 0x9712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | 483 | {0x1002, 0x9712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ |
diff --git a/include/linux/basic_mmio_gpio.h b/include/linux/basic_mmio_gpio.h index 1ae12710d732..98999cf107ce 100644 --- a/include/linux/basic_mmio_gpio.h +++ b/include/linux/basic_mmio_gpio.h | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/gpio.h> | 16 | #include <linux/gpio.h> |
17 | #include <linux/types.h> | 17 | #include <linux/types.h> |
18 | #include <linux/compiler.h> | 18 | #include <linux/compiler.h> |
19 | #include <linux/spinlock_types.h> | ||
19 | 20 | ||
20 | struct bgpio_pdata { | 21 | struct bgpio_pdata { |
21 | int base; | 22 | int base; |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index ae9091a68480..1a23722e8878 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -1282,8 +1282,8 @@ queue_max_integrity_segments(struct request_queue *q) | |||
1282 | #define blk_get_integrity(a) (0) | 1282 | #define blk_get_integrity(a) (0) |
1283 | #define blk_integrity_compare(a, b) (0) | 1283 | #define blk_integrity_compare(a, b) (0) |
1284 | #define blk_integrity_register(a, b) (0) | 1284 | #define blk_integrity_register(a, b) (0) |
1285 | #define blk_integrity_unregister(a) do { } while (0); | 1285 | #define blk_integrity_unregister(a) do { } while (0) |
1286 | #define blk_queue_max_integrity_segments(a, b) do { } while (0); | 1286 | #define blk_queue_max_integrity_segments(a, b) do { } while (0) |
1287 | #define queue_max_integrity_segments(a) (0) | 1287 | #define queue_max_integrity_segments(a) (0) |
1288 | #define blk_integrity_merge_rq(a, b, c) (0) | 1288 | #define blk_integrity_merge_rq(a, b, c) (0) |
1289 | #define blk_integrity_merge_bio(a, b, c) (0) | 1289 | #define blk_integrity_merge_bio(a, b, c) (0) |
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h index d4646b48dc4a..18a1baf31f2d 100644 --- a/include/linux/clocksource.h +++ b/include/linux/clocksource.h | |||
@@ -188,6 +188,7 @@ struct clocksource { | |||
188 | #ifdef CONFIG_CLOCKSOURCE_WATCHDOG | 188 | #ifdef CONFIG_CLOCKSOURCE_WATCHDOG |
189 | /* Watchdog related data, used by the framework */ | 189 | /* Watchdog related data, used by the framework */ |
190 | struct list_head wd_list; | 190 | struct list_head wd_list; |
191 | cycle_t cs_last; | ||
191 | cycle_t wd_last; | 192 | cycle_t wd_last; |
192 | #endif | 193 | #endif |
193 | } ____cacheline_aligned; | 194 | } ____cacheline_aligned; |
diff --git a/include/linux/device_cgroup.h b/include/linux/device_cgroup.h index 0b0d9c39ed67..7aad1f440867 100644 --- a/include/linux/device_cgroup.h +++ b/include/linux/device_cgroup.h | |||
@@ -2,8 +2,16 @@ | |||
2 | #include <linux/fs.h> | 2 | #include <linux/fs.h> |
3 | 3 | ||
4 | #ifdef CONFIG_CGROUP_DEVICE | 4 | #ifdef CONFIG_CGROUP_DEVICE |
5 | extern int devcgroup_inode_permission(struct inode *inode, int mask); | 5 | extern int __devcgroup_inode_permission(struct inode *inode, int mask); |
6 | extern int devcgroup_inode_mknod(int mode, dev_t dev); | 6 | extern int devcgroup_inode_mknod(int mode, dev_t dev); |
7 | static inline int devcgroup_inode_permission(struct inode *inode, int mask) | ||
8 | { | ||
9 | if (likely(!inode->i_rdev)) | ||
10 | return 0; | ||
11 | if (!S_ISBLK(inode->i_mode) && !S_ISCHR(inode->i_mode)) | ||
12 | return 0; | ||
13 | return __devcgroup_inode_permission(inode, mask); | ||
14 | } | ||
7 | #else | 15 | #else |
8 | static inline int devcgroup_inode_permission(struct inode *inode, int mask) | 16 | static inline int devcgroup_inode_permission(struct inode *inode, int mask) |
9 | { return 0; } | 17 | { return 0; } |
diff --git a/include/linux/dma_remapping.h b/include/linux/dma_remapping.h index 5619f8522738..bbd8661b3473 100644 --- a/include/linux/dma_remapping.h +++ b/include/linux/dma_remapping.h | |||
@@ -9,8 +9,12 @@ | |||
9 | #define VTD_PAGE_MASK (((u64)-1) << VTD_PAGE_SHIFT) | 9 | #define VTD_PAGE_MASK (((u64)-1) << VTD_PAGE_SHIFT) |
10 | #define VTD_PAGE_ALIGN(addr) (((addr) + VTD_PAGE_SIZE - 1) & VTD_PAGE_MASK) | 10 | #define VTD_PAGE_ALIGN(addr) (((addr) + VTD_PAGE_SIZE - 1) & VTD_PAGE_MASK) |
11 | 11 | ||
12 | #define VTD_STRIDE_SHIFT (9) | ||
13 | #define VTD_STRIDE_MASK (((u64)-1) << VTD_STRIDE_SHIFT) | ||
14 | |||
12 | #define DMA_PTE_READ (1) | 15 | #define DMA_PTE_READ (1) |
13 | #define DMA_PTE_WRITE (2) | 16 | #define DMA_PTE_WRITE (2) |
17 | #define DMA_PTE_LARGE_PAGE (1 << 7) | ||
14 | #define DMA_PTE_SNP (1 << 11) | 18 | #define DMA_PTE_SNP (1 << 11) |
15 | 19 | ||
16 | #define CONTEXT_TT_MULTI_LEVEL 0 | 20 | #define CONTEXT_TT_MULTI_LEVEL 0 |
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index c6a850ab2ec5..439b173c5882 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h | |||
@@ -268,7 +268,7 @@ struct ethtool_pauseparam { | |||
268 | __u32 cmd; /* ETHTOOL_{G,S}PAUSEPARAM */ | 268 | __u32 cmd; /* ETHTOOL_{G,S}PAUSEPARAM */ |
269 | 269 | ||
270 | /* If the link is being auto-negotiated (via ethtool_cmd.autoneg | 270 | /* If the link is being auto-negotiated (via ethtool_cmd.autoneg |
271 | * being true) the user may set 'autonet' here non-zero to have the | 271 | * being true) the user may set 'autoneg' here non-zero to have the |
272 | * pause parameters be auto-negotiated too. In such a case, the | 272 | * pause parameters be auto-negotiated too. In such a case, the |
273 | * {rx,tx}_pause values below determine what capabilities are | 273 | * {rx,tx}_pause values below determine what capabilities are |
274 | * advertised. | 274 | * advertised. |
@@ -811,7 +811,7 @@ bool ethtool_invalid_flags(struct net_device *dev, u32 data, u32 supported); | |||
811 | * @get_tx_csum: Deprecated as redundant. Report whether transmit checksums | 811 | * @get_tx_csum: Deprecated as redundant. Report whether transmit checksums |
812 | * are turned on or off. | 812 | * are turned on or off. |
813 | * @set_tx_csum: Deprecated in favour of generic netdev features. Turn | 813 | * @set_tx_csum: Deprecated in favour of generic netdev features. Turn |
814 | * transmit checksums on or off. Returns a egative error code or zero. | 814 | * transmit checksums on or off. Returns a negative error code or zero. |
815 | * @get_sg: Deprecated as redundant. Report whether scatter-gather is | 815 | * @get_sg: Deprecated as redundant. Report whether scatter-gather is |
816 | * enabled. | 816 | * enabled. |
817 | * @set_sg: Deprecated in favour of generic netdev features. Turn | 817 | * @set_sg: Deprecated in favour of generic netdev features. Turn |
@@ -1087,7 +1087,7 @@ struct ethtool_ops { | |||
1087 | /* The following are all involved in forcing a particular link | 1087 | /* The following are all involved in forcing a particular link |
1088 | * mode for the device for setting things. When getting the | 1088 | * mode for the device for setting things. When getting the |
1089 | * devices settings, these indicate the current mode and whether | 1089 | * devices settings, these indicate the current mode and whether |
1090 | * it was foced up into this mode or autonegotiated. | 1090 | * it was forced up into this mode or autonegotiated. |
1091 | */ | 1091 | */ |
1092 | 1092 | ||
1093 | /* The forced speed, 10Mb, 100Mb, gigabit, 2.5Gb, 10GbE. */ | 1093 | /* The forced speed, 10Mb, 100Mb, gigabit, 2.5Gb, 10GbE. */ |
diff --git a/include/linux/fs.h b/include/linux/fs.h index c55d6b7cd5d6..6e73e2e9ae33 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -208,6 +208,7 @@ struct inodes_stat_t { | |||
208 | #define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */ | 208 | #define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */ |
209 | #define MS_I_VERSION (1<<23) /* Update inode I_version field */ | 209 | #define MS_I_VERSION (1<<23) /* Update inode I_version field */ |
210 | #define MS_STRICTATIME (1<<24) /* Always perform atime updates */ | 210 | #define MS_STRICTATIME (1<<24) /* Always perform atime updates */ |
211 | #define MS_NOSEC (1<<28) | ||
211 | #define MS_BORN (1<<29) | 212 | #define MS_BORN (1<<29) |
212 | #define MS_ACTIVE (1<<30) | 213 | #define MS_ACTIVE (1<<30) |
213 | #define MS_NOUSER (1<<31) | 214 | #define MS_NOUSER (1<<31) |
@@ -743,9 +744,13 @@ struct inode { | |||
743 | 744 | ||
744 | spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */ | 745 | spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */ |
745 | unsigned int i_flags; | 746 | unsigned int i_flags; |
747 | unsigned long i_state; | ||
748 | #ifdef CONFIG_SECURITY | ||
749 | void *i_security; | ||
750 | #endif | ||
746 | struct mutex i_mutex; | 751 | struct mutex i_mutex; |
747 | 752 | ||
748 | unsigned long i_state; | 753 | |
749 | unsigned long dirtied_when; /* jiffies of first dirtying */ | 754 | unsigned long dirtied_when; /* jiffies of first dirtying */ |
750 | 755 | ||
751 | struct hlist_node i_hash; | 756 | struct hlist_node i_hash; |
@@ -797,9 +802,6 @@ struct inode { | |||
797 | atomic_t i_readcount; /* struct files open RO */ | 802 | atomic_t i_readcount; /* struct files open RO */ |
798 | #endif | 803 | #endif |
799 | atomic_t i_writecount; | 804 | atomic_t i_writecount; |
800 | #ifdef CONFIG_SECURITY | ||
801 | void *i_security; | ||
802 | #endif | ||
803 | #ifdef CONFIG_FS_POSIX_ACL | 805 | #ifdef CONFIG_FS_POSIX_ACL |
804 | struct posix_acl *i_acl; | 806 | struct posix_acl *i_acl; |
805 | struct posix_acl *i_default_acl; | 807 | struct posix_acl *i_default_acl; |
@@ -2591,7 +2593,7 @@ static inline int is_sxid(mode_t mode) | |||
2591 | 2593 | ||
2592 | static inline void inode_has_no_xattr(struct inode *inode) | 2594 | static inline void inode_has_no_xattr(struct inode *inode) |
2593 | { | 2595 | { |
2594 | if (!is_sxid(inode->i_mode)) | 2596 | if (!is_sxid(inode->i_mode) && (inode->i_sb->s_flags & MS_NOSEC)) |
2595 | inode->i_flags |= S_NOSEC; | 2597 | inode->i_flags |= S_NOSEC; |
2596 | } | 2598 | } |
2597 | 2599 | ||
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index b78956b3c2e7..300d7582006e 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h | |||
@@ -100,6 +100,7 @@ struct hd_struct { | |||
100 | sector_t start_sect; | 100 | sector_t start_sect; |
101 | sector_t nr_sects; | 101 | sector_t nr_sects; |
102 | sector_t alignment_offset; | 102 | sector_t alignment_offset; |
103 | unsigned int discard_alignment; | ||
103 | struct device __dev; | 104 | struct device __dev; |
104 | struct kobject *holder_dir; | 105 | struct kobject *holder_dir; |
105 | int policy, partno; | 106 | int policy, partno; |
diff --git a/include/linux/gpio.h b/include/linux/gpio.h index 32d47e710661..17b5a0d80e42 100644 --- a/include/linux/gpio.h +++ b/include/linux/gpio.h | |||
@@ -3,6 +3,17 @@ | |||
3 | 3 | ||
4 | /* see Documentation/gpio.txt */ | 4 | /* see Documentation/gpio.txt */ |
5 | 5 | ||
6 | /* make these flag values available regardless of GPIO kconfig options */ | ||
7 | #define GPIOF_DIR_OUT (0 << 0) | ||
8 | #define GPIOF_DIR_IN (1 << 0) | ||
9 | |||
10 | #define GPIOF_INIT_LOW (0 << 1) | ||
11 | #define GPIOF_INIT_HIGH (1 << 1) | ||
12 | |||
13 | #define GPIOF_IN (GPIOF_DIR_IN) | ||
14 | #define GPIOF_OUT_INIT_LOW (GPIOF_DIR_OUT | GPIOF_INIT_LOW) | ||
15 | #define GPIOF_OUT_INIT_HIGH (GPIOF_DIR_OUT | GPIOF_INIT_HIGH) | ||
16 | |||
6 | #ifdef CONFIG_GENERIC_GPIO | 17 | #ifdef CONFIG_GENERIC_GPIO |
7 | #include <asm/gpio.h> | 18 | #include <asm/gpio.h> |
8 | 19 | ||
diff --git a/include/linux/i2c/adp8870.h b/include/linux/i2c/adp8870.h new file mode 100644 index 000000000000..624dceccbd5b --- /dev/null +++ b/include/linux/i2c/adp8870.h | |||
@@ -0,0 +1,153 @@ | |||
1 | /* | ||
2 | * Definitions and platform data for Analog Devices | ||
3 | * Backlight drivers ADP8870 | ||
4 | * | ||
5 | * Copyright 2009-2010 Analog Devices Inc. | ||
6 | * | ||
7 | * Licensed under the GPL-2 or later. | ||
8 | */ | ||
9 | |||
10 | #ifndef __LINUX_I2C_ADP8870_H | ||
11 | #define __LINUX_I2C_ADP8870_H | ||
12 | |||
13 | #define ID_ADP8870 8870 | ||
14 | |||
15 | #define ADP8870_MAX_BRIGHTNESS 0x7F | ||
16 | #define FLAG_OFFT_SHIFT 8 | ||
17 | |||
18 | /* | ||
19 | * LEDs subdevice platform data | ||
20 | */ | ||
21 | |||
22 | #define ADP8870_LED_DIS_BLINK (0 << FLAG_OFFT_SHIFT) | ||
23 | #define ADP8870_LED_OFFT_600ms (1 << FLAG_OFFT_SHIFT) | ||
24 | #define ADP8870_LED_OFFT_1200ms (2 << FLAG_OFFT_SHIFT) | ||
25 | #define ADP8870_LED_OFFT_1800ms (3 << FLAG_OFFT_SHIFT) | ||
26 | |||
27 | #define ADP8870_LED_ONT_200ms 0 | ||
28 | #define ADP8870_LED_ONT_600ms 1 | ||
29 | #define ADP8870_LED_ONT_800ms 2 | ||
30 | #define ADP8870_LED_ONT_1200ms 3 | ||
31 | |||
32 | #define ADP8870_LED_D7 (7) | ||
33 | #define ADP8870_LED_D6 (6) | ||
34 | #define ADP8870_LED_D5 (5) | ||
35 | #define ADP8870_LED_D4 (4) | ||
36 | #define ADP8870_LED_D3 (3) | ||
37 | #define ADP8870_LED_D2 (2) | ||
38 | #define ADP8870_LED_D1 (1) | ||
39 | |||
40 | /* | ||
41 | * Backlight subdevice platform data | ||
42 | */ | ||
43 | |||
44 | #define ADP8870_BL_D7 (1 << 6) | ||
45 | #define ADP8870_BL_D6 (1 << 5) | ||
46 | #define ADP8870_BL_D5 (1 << 4) | ||
47 | #define ADP8870_BL_D4 (1 << 3) | ||
48 | #define ADP8870_BL_D3 (1 << 2) | ||
49 | #define ADP8870_BL_D2 (1 << 1) | ||
50 | #define ADP8870_BL_D1 (1 << 0) | ||
51 | |||
52 | #define ADP8870_FADE_T_DIS 0 /* Fade Timer Disabled */ | ||
53 | #define ADP8870_FADE_T_300ms 1 /* 0.3 Sec */ | ||
54 | #define ADP8870_FADE_T_600ms 2 | ||
55 | #define ADP8870_FADE_T_900ms 3 | ||
56 | #define ADP8870_FADE_T_1200ms 4 | ||
57 | #define ADP8870_FADE_T_1500ms 5 | ||
58 | #define ADP8870_FADE_T_1800ms 6 | ||
59 | #define ADP8870_FADE_T_2100ms 7 | ||
60 | #define ADP8870_FADE_T_2400ms 8 | ||
61 | #define ADP8870_FADE_T_2700ms 9 | ||
62 | #define ADP8870_FADE_T_3000ms 10 | ||
63 | #define ADP8870_FADE_T_3500ms 11 | ||
64 | #define ADP8870_FADE_T_4000ms 12 | ||
65 | #define ADP8870_FADE_T_4500ms 13 | ||
66 | #define ADP8870_FADE_T_5000ms 14 | ||
67 | #define ADP8870_FADE_T_5500ms 15 /* 5.5 Sec */ | ||
68 | |||
69 | #define ADP8870_FADE_LAW_LINEAR 0 | ||
70 | #define ADP8870_FADE_LAW_SQUARE 1 | ||
71 | #define ADP8870_FADE_LAW_CUBIC1 2 | ||
72 | #define ADP8870_FADE_LAW_CUBIC2 3 | ||
73 | |||
74 | #define ADP8870_BL_AMBL_FILT_80ms 0 /* Light sensor filter time */ | ||
75 | #define ADP8870_BL_AMBL_FILT_160ms 1 | ||
76 | #define ADP8870_BL_AMBL_FILT_320ms 2 | ||
77 | #define ADP8870_BL_AMBL_FILT_640ms 3 | ||
78 | #define ADP8870_BL_AMBL_FILT_1280ms 4 | ||
79 | #define ADP8870_BL_AMBL_FILT_2560ms 5 | ||
80 | #define ADP8870_BL_AMBL_FILT_5120ms 6 | ||
81 | #define ADP8870_BL_AMBL_FILT_10240ms 7 /* 10.24 sec */ | ||
82 | |||
83 | /* | ||
84 | * Blacklight current 0..30mA | ||
85 | */ | ||
86 | #define ADP8870_BL_CUR_mA(I) ((I * 127) / 30) | ||
87 | |||
88 | /* | ||
89 | * L2 comparator current 0..1106uA | ||
90 | */ | ||
91 | #define ADP8870_L2_COMP_CURR_uA(I) ((I * 255) / 1106) | ||
92 | |||
93 | /* | ||
94 | * L3 comparator current 0..551uA | ||
95 | */ | ||
96 | #define ADP8870_L3_COMP_CURR_uA(I) ((I * 255) / 551) | ||
97 | |||
98 | /* | ||
99 | * L4 comparator current 0..275uA | ||
100 | */ | ||
101 | #define ADP8870_L4_COMP_CURR_uA(I) ((I * 255) / 275) | ||
102 | |||
103 | /* | ||
104 | * L5 comparator current 0..138uA | ||
105 | */ | ||
106 | #define ADP8870_L5_COMP_CURR_uA(I) ((I * 255) / 138) | ||
107 | |||
108 | struct adp8870_backlight_platform_data { | ||
109 | u8 bl_led_assign; /* 1 = Backlight 0 = Individual LED */ | ||
110 | u8 pwm_assign; /* 1 = Enables PWM mode */ | ||
111 | |||
112 | u8 bl_fade_in; /* Backlight Fade-In Timer */ | ||
113 | u8 bl_fade_out; /* Backlight Fade-Out Timer */ | ||
114 | u8 bl_fade_law; /* fade-on/fade-off transfer characteristic */ | ||
115 | |||
116 | u8 en_ambl_sens; /* 1 = enable ambient light sensor */ | ||
117 | u8 abml_filt; /* Light sensor filter time */ | ||
118 | |||
119 | u8 l1_daylight_max; /* use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
120 | u8 l1_daylight_dim; /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
121 | u8 l2_bright_max; /* use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
122 | u8 l2_bright_dim; /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
123 | u8 l3_office_max; /* use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
124 | u8 l3_office_dim; /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
125 | u8 l4_indoor_max; /* use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
126 | u8 l4_indor_dim; /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
127 | u8 l5_dark_max; /* use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
128 | u8 l5_dark_dim; /* typ = 0, use BL_CUR_mA(I) 0 <= I <= 30 mA */ | ||
129 | |||
130 | u8 l2_trip; /* use L2_COMP_CURR_uA(I) 0 <= I <= 1106 uA */ | ||
131 | u8 l2_hyst; /* use L2_COMP_CURR_uA(I) 0 <= I <= 1106 uA */ | ||
132 | u8 l3_trip; /* use L3_COMP_CURR_uA(I) 0 <= I <= 551 uA */ | ||
133 | u8 l3_hyst; /* use L3_COMP_CURR_uA(I) 0 <= I <= 551 uA */ | ||
134 | u8 l4_trip; /* use L4_COMP_CURR_uA(I) 0 <= I <= 275 uA */ | ||
135 | u8 l4_hyst; /* use L4_COMP_CURR_uA(I) 0 <= I <= 275 uA */ | ||
136 | u8 l5_trip; /* use L5_COMP_CURR_uA(I) 0 <= I <= 138 uA */ | ||
137 | u8 l5_hyst; /* use L6_COMP_CURR_uA(I) 0 <= I <= 138 uA */ | ||
138 | |||
139 | /** | ||
140 | * Independent Current Sinks / LEDS | ||
141 | * Sinks not assigned to the Backlight can be exposed to | ||
142 | * user space using the LEDS CLASS interface | ||
143 | */ | ||
144 | |||
145 | int num_leds; | ||
146 | struct led_info *leds; | ||
147 | u8 led_fade_in; /* LED Fade-In Timer */ | ||
148 | u8 led_fade_out; /* LED Fade-Out Timer */ | ||
149 | u8 led_fade_law; /* fade-on/fade-off transfer characteristic */ | ||
150 | u8 led_on_time; | ||
151 | }; | ||
152 | |||
153 | #endif /* __LINUX_I2C_ADP8870_H */ | ||
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index b2eee5879883..bf56b6f78270 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -1003,8 +1003,12 @@ struct ieee80211_ht_info { | |||
1003 | #define WLAN_CAPABILITY_ESS (1<<0) | 1003 | #define WLAN_CAPABILITY_ESS (1<<0) |
1004 | #define WLAN_CAPABILITY_IBSS (1<<1) | 1004 | #define WLAN_CAPABILITY_IBSS (1<<1) |
1005 | 1005 | ||
1006 | /* A mesh STA sets the ESS and IBSS capability bits to zero */ | 1006 | /* |
1007 | #define WLAN_CAPABILITY_IS_MBSS(cap) \ | 1007 | * A mesh STA sets the ESS and IBSS capability bits to zero. |
1008 | * however, this holds true for p2p probe responses (in the p2p_find | ||
1009 | * phase) as well. | ||
1010 | */ | ||
1011 | #define WLAN_CAPABILITY_IS_STA_BSS(cap) \ | ||
1008 | (!((cap) & (WLAN_CAPABILITY_ESS | WLAN_CAPABILITY_IBSS))) | 1012 | (!((cap) & (WLAN_CAPABILITY_ESS | WLAN_CAPABILITY_IBSS))) |
1009 | 1013 | ||
1010 | #define WLAN_CAPABILITY_CF_POLLABLE (1<<2) | 1014 | #define WLAN_CAPABILITY_CF_POLLABLE (1<<2) |
diff --git a/include/linux/if_packet.h b/include/linux/if_packet.h index 72bfa5a034dd..7b318630139f 100644 --- a/include/linux/if_packet.h +++ b/include/linux/if_packet.h | |||
@@ -62,6 +62,7 @@ struct tpacket_auxdata { | |||
62 | __u16 tp_mac; | 62 | __u16 tp_mac; |
63 | __u16 tp_net; | 63 | __u16 tp_net; |
64 | __u16 tp_vlan_tci; | 64 | __u16 tp_vlan_tci; |
65 | __u16 tp_padding; | ||
65 | }; | 66 | }; |
66 | 67 | ||
67 | /* Rx ring - header status */ | 68 | /* Rx ring - header status */ |
@@ -70,6 +71,7 @@ struct tpacket_auxdata { | |||
70 | #define TP_STATUS_COPY 0x2 | 71 | #define TP_STATUS_COPY 0x2 |
71 | #define TP_STATUS_LOSING 0x4 | 72 | #define TP_STATUS_LOSING 0x4 |
72 | #define TP_STATUS_CSUMNOTREADY 0x8 | 73 | #define TP_STATUS_CSUMNOTREADY 0x8 |
74 | #define TP_STATUS_VLAN_VALID 0x10 /* auxdata has valid tp_vlan_tci */ | ||
73 | 75 | ||
74 | /* Tx ring - header status */ | 76 | /* Tx ring - header status */ |
75 | #define TP_STATUS_AVAILABLE 0x0 | 77 | #define TP_STATUS_AVAILABLE 0x0 |
@@ -100,6 +102,7 @@ struct tpacket2_hdr { | |||
100 | __u32 tp_sec; | 102 | __u32 tp_sec; |
101 | __u32 tp_nsec; | 103 | __u32 tp_nsec; |
102 | __u16 tp_vlan_tci; | 104 | __u16 tp_vlan_tci; |
105 | __u16 tp_padding; | ||
103 | }; | 106 | }; |
104 | 107 | ||
105 | #define TPACKET2_HDRLEN (TPACKET_ALIGN(sizeof(struct tpacket2_hdr)) + sizeof(struct sockaddr_ll)) | 108 | #define TPACKET2_HDRLEN (TPACKET_ALIGN(sizeof(struct tpacket2_hdr)) + sizeof(struct sockaddr_ll)) |
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h index dc01681fbb42..affa27380b72 100644 --- a/include/linux/if_vlan.h +++ b/include/linux/if_vlan.h | |||
@@ -225,7 +225,7 @@ static inline int vlan_hwaccel_receive_skb(struct sk_buff *skb, | |||
225 | } | 225 | } |
226 | 226 | ||
227 | /** | 227 | /** |
228 | * __vlan_put_tag - regular VLAN tag inserting | 228 | * vlan_insert_tag - regular VLAN tag inserting |
229 | * @skb: skbuff to tag | 229 | * @skb: skbuff to tag |
230 | * @vlan_tci: VLAN TCI to insert | 230 | * @vlan_tci: VLAN TCI to insert |
231 | * | 231 | * |
@@ -234,8 +234,10 @@ static inline int vlan_hwaccel_receive_skb(struct sk_buff *skb, | |||
234 | * | 234 | * |
235 | * Following the skb_unshare() example, in case of error, the calling function | 235 | * Following the skb_unshare() example, in case of error, the calling function |
236 | * doesn't have to worry about freeing the original skb. | 236 | * doesn't have to worry about freeing the original skb. |
237 | * | ||
238 | * Does not change skb->protocol so this function can be used during receive. | ||
237 | */ | 239 | */ |
238 | static inline struct sk_buff *__vlan_put_tag(struct sk_buff *skb, u16 vlan_tci) | 240 | static inline struct sk_buff *vlan_insert_tag(struct sk_buff *skb, u16 vlan_tci) |
239 | { | 241 | { |
240 | struct vlan_ethhdr *veth; | 242 | struct vlan_ethhdr *veth; |
241 | 243 | ||
@@ -255,8 +257,25 @@ static inline struct sk_buff *__vlan_put_tag(struct sk_buff *skb, u16 vlan_tci) | |||
255 | /* now, the TCI */ | 257 | /* now, the TCI */ |
256 | veth->h_vlan_TCI = htons(vlan_tci); | 258 | veth->h_vlan_TCI = htons(vlan_tci); |
257 | 259 | ||
258 | skb->protocol = htons(ETH_P_8021Q); | 260 | return skb; |
261 | } | ||
259 | 262 | ||
263 | /** | ||
264 | * __vlan_put_tag - regular VLAN tag inserting | ||
265 | * @skb: skbuff to tag | ||
266 | * @vlan_tci: VLAN TCI to insert | ||
267 | * | ||
268 | * Inserts the VLAN tag into @skb as part of the payload | ||
269 | * Returns a VLAN tagged skb. If a new skb is created, @skb is freed. | ||
270 | * | ||
271 | * Following the skb_unshare() example, in case of error, the calling function | ||
272 | * doesn't have to worry about freeing the original skb. | ||
273 | */ | ||
274 | static inline struct sk_buff *__vlan_put_tag(struct sk_buff *skb, u16 vlan_tci) | ||
275 | { | ||
276 | skb = vlan_insert_tag(skb, vlan_tci); | ||
277 | if (skb) | ||
278 | skb->protocol = htons(ETH_P_8021Q); | ||
260 | return skb; | 279 | return skb; |
261 | } | 280 | } |
262 | 281 | ||
diff --git a/include/linux/input/sh_keysc.h b/include/linux/input/sh_keysc.h index 649dc7f12925..5d253cd93691 100644 --- a/include/linux/input/sh_keysc.h +++ b/include/linux/input/sh_keysc.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef __SH_KEYSC_H__ | 1 | #ifndef __SH_KEYSC_H__ |
2 | #define __SH_KEYSC_H__ | 2 | #define __SH_KEYSC_H__ |
3 | 3 | ||
4 | #define SH_KEYSC_MAXKEYS 49 | 4 | #define SH_KEYSC_MAXKEYS 64 |
5 | 5 | ||
6 | struct sh_keysc_info { | 6 | struct sh_keysc_info { |
7 | enum { SH_KEYSC_MODE_1, SH_KEYSC_MODE_2, SH_KEYSC_MODE_3, | 7 | enum { SH_KEYSC_MODE_1, SH_KEYSC_MODE_2, SH_KEYSC_MODE_3, |
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 6c12989839d9..f6efed0039ed 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
@@ -414,6 +414,7 @@ enum | |||
414 | TASKLET_SOFTIRQ, | 414 | TASKLET_SOFTIRQ, |
415 | SCHED_SOFTIRQ, | 415 | SCHED_SOFTIRQ, |
416 | HRTIMER_SOFTIRQ, | 416 | HRTIMER_SOFTIRQ, |
417 | RCU_SOFTIRQ, /* Preferable RCU should always be the last softirq */ | ||
417 | 418 | ||
418 | NR_SOFTIRQS | 419 | NR_SOFTIRQS |
419 | }; | 420 | }; |
diff --git a/include/linux/irqreturn.h b/include/linux/irqreturn.h index 819acaaac3f5..714ba08dc092 100644 --- a/include/linux/irqreturn.h +++ b/include/linux/irqreturn.h | |||
@@ -8,9 +8,9 @@ | |||
8 | * @IRQ_WAKE_THREAD handler requests to wake the handler thread | 8 | * @IRQ_WAKE_THREAD handler requests to wake the handler thread |
9 | */ | 9 | */ |
10 | enum irqreturn { | 10 | enum irqreturn { |
11 | IRQ_NONE, | 11 | IRQ_NONE = (0 << 0), |
12 | IRQ_HANDLED, | 12 | IRQ_HANDLED = (1 << 0), |
13 | IRQ_WAKE_THREAD, | 13 | IRQ_WAKE_THREAD = (1 << 1), |
14 | }; | 14 | }; |
15 | 15 | ||
16 | typedef enum irqreturn irqreturn_t; | 16 | typedef enum irqreturn irqreturn_t; |
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index 4ecb7b16b278..d087c2e7b2aa 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h | |||
@@ -1024,7 +1024,6 @@ struct journal_s | |||
1024 | 1024 | ||
1025 | /* Filing buffers */ | 1025 | /* Filing buffers */ |
1026 | extern void jbd2_journal_unfile_buffer(journal_t *, struct journal_head *); | 1026 | extern void jbd2_journal_unfile_buffer(journal_t *, struct journal_head *); |
1027 | extern void __jbd2_journal_unfile_buffer(struct journal_head *); | ||
1028 | extern void __jbd2_journal_refile_buffer(struct journal_head *); | 1027 | extern void __jbd2_journal_refile_buffer(struct journal_head *); |
1029 | extern void jbd2_journal_refile_buffer(journal_t *, struct journal_head *); | 1028 | extern void jbd2_journal_refile_buffer(journal_t *, struct journal_head *); |
1030 | extern void __jbd2_journal_file_buffer(struct journal_head *, transaction_t *, int); | 1029 | extern void __jbd2_journal_file_buffer(struct journal_head *, transaction_t *, int); |
@@ -1165,7 +1164,6 @@ extern void jbd2_journal_release_jbd_inode(journal_t *journal, struct jbd2_in | |||
1165 | */ | 1164 | */ |
1166 | struct journal_head *jbd2_journal_add_journal_head(struct buffer_head *bh); | 1165 | struct journal_head *jbd2_journal_add_journal_head(struct buffer_head *bh); |
1167 | struct journal_head *jbd2_journal_grab_journal_head(struct buffer_head *bh); | 1166 | struct journal_head *jbd2_journal_grab_journal_head(struct buffer_head *bh); |
1168 | void jbd2_journal_remove_journal_head(struct buffer_head *bh); | ||
1169 | void jbd2_journal_put_journal_head(struct journal_head *jh); | 1167 | void jbd2_journal_put_journal_head(struct journal_head *jh); |
1170 | 1168 | ||
1171 | /* | 1169 | /* |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index fb0e7329fee1..953352a88336 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -671,8 +671,8 @@ struct sysinfo { | |||
671 | 671 | ||
672 | #ifdef __CHECKER__ | 672 | #ifdef __CHECKER__ |
673 | #define BUILD_BUG_ON_NOT_POWER_OF_2(n) | 673 | #define BUILD_BUG_ON_NOT_POWER_OF_2(n) |
674 | #define BUILD_BUG_ON_ZERO(e) | 674 | #define BUILD_BUG_ON_ZERO(e) (0) |
675 | #define BUILD_BUG_ON_NULL(e) | 675 | #define BUILD_BUG_ON_NULL(e) ((void*)0) |
676 | #define BUILD_BUG_ON(condition) | 676 | #define BUILD_BUG_ON(condition) |
677 | #else /* __CHECKER__ */ | 677 | #else /* __CHECKER__ */ |
678 | 678 | ||
diff --git a/include/linux/kmod.h b/include/linux/kmod.h index d4a5c84c503d..0da38cf7db7b 100644 --- a/include/linux/kmod.h +++ b/include/linux/kmod.h | |||
@@ -45,7 +45,7 @@ static inline int request_module_nowait(const char *name, ...) { return -ENOSYS; | |||
45 | #endif | 45 | #endif |
46 | 46 | ||
47 | 47 | ||
48 | struct key; | 48 | struct cred; |
49 | struct file; | 49 | struct file; |
50 | 50 | ||
51 | enum umh_wait { | 51 | enum umh_wait { |
@@ -62,7 +62,7 @@ struct subprocess_info { | |||
62 | char **envp; | 62 | char **envp; |
63 | enum umh_wait wait; | 63 | enum umh_wait wait; |
64 | int retval; | 64 | int retval; |
65 | int (*init)(struct subprocess_info *info); | 65 | int (*init)(struct subprocess_info *info, struct cred *new); |
66 | void (*cleanup)(struct subprocess_info *info); | 66 | void (*cleanup)(struct subprocess_info *info); |
67 | void *data; | 67 | void *data; |
68 | }; | 68 | }; |
@@ -73,7 +73,7 @@ struct subprocess_info *call_usermodehelper_setup(char *path, char **argv, | |||
73 | 73 | ||
74 | /* Set various pieces of state into the subprocess_info structure */ | 74 | /* Set various pieces of state into the subprocess_info structure */ |
75 | void call_usermodehelper_setfns(struct subprocess_info *info, | 75 | void call_usermodehelper_setfns(struct subprocess_info *info, |
76 | int (*init)(struct subprocess_info *info), | 76 | int (*init)(struct subprocess_info *info, struct cred *new), |
77 | void (*cleanup)(struct subprocess_info *info), | 77 | void (*cleanup)(struct subprocess_info *info), |
78 | void *data); | 78 | void *data); |
79 | 79 | ||
@@ -87,7 +87,7 @@ void call_usermodehelper_freeinfo(struct subprocess_info *info); | |||
87 | static inline int | 87 | static inline int |
88 | call_usermodehelper_fns(char *path, char **argv, char **envp, | 88 | call_usermodehelper_fns(char *path, char **argv, char **envp, |
89 | enum umh_wait wait, | 89 | enum umh_wait wait, |
90 | int (*init)(struct subprocess_info *info), | 90 | int (*init)(struct subprocess_info *info, struct cred *new), |
91 | void (*cleanup)(struct subprocess_info *), void *data) | 91 | void (*cleanup)(struct subprocess_info *), void *data) |
92 | { | 92 | { |
93 | struct subprocess_info *info; | 93 | struct subprocess_info *info; |
diff --git a/include/linux/kmsg_dump.h b/include/linux/kmsg_dump.h index 2a0d7d651dc3..ee0c952188de 100644 --- a/include/linux/kmsg_dump.h +++ b/include/linux/kmsg_dump.h | |||
@@ -12,6 +12,7 @@ | |||
12 | #ifndef _LINUX_KMSG_DUMP_H | 12 | #ifndef _LINUX_KMSG_DUMP_H |
13 | #define _LINUX_KMSG_DUMP_H | 13 | #define _LINUX_KMSG_DUMP_H |
14 | 14 | ||
15 | #include <linux/errno.h> | ||
15 | #include <linux/list.h> | 16 | #include <linux/list.h> |
16 | 17 | ||
17 | enum kmsg_dump_reason { | 18 | enum kmsg_dump_reason { |
diff --git a/include/linux/kobject_ns.h b/include/linux/kobject_ns.h index 82cb5bf461fb..f66b065a8b5f 100644 --- a/include/linux/kobject_ns.h +++ b/include/linux/kobject_ns.h | |||
@@ -32,15 +32,17 @@ enum kobj_ns_type { | |||
32 | 32 | ||
33 | /* | 33 | /* |
34 | * Callbacks so sysfs can determine namespaces | 34 | * Callbacks so sysfs can determine namespaces |
35 | * @current_ns: return calling task's namespace | 35 | * @grab_current_ns: return a new reference to calling task's namespace |
36 | * @netlink_ns: return namespace to which a sock belongs (right?) | 36 | * @netlink_ns: return namespace to which a sock belongs (right?) |
37 | * @initial_ns: return the initial namespace (i.e. init_net_ns) | 37 | * @initial_ns: return the initial namespace (i.e. init_net_ns) |
38 | * @drop_ns: drops a reference to namespace | ||
38 | */ | 39 | */ |
39 | struct kobj_ns_type_operations { | 40 | struct kobj_ns_type_operations { |
40 | enum kobj_ns_type type; | 41 | enum kobj_ns_type type; |
41 | const void *(*current_ns)(void); | 42 | void *(*grab_current_ns)(void); |
42 | const void *(*netlink_ns)(struct sock *sk); | 43 | const void *(*netlink_ns)(struct sock *sk); |
43 | const void *(*initial_ns)(void); | 44 | const void *(*initial_ns)(void); |
45 | void (*drop_ns)(void *); | ||
44 | }; | 46 | }; |
45 | 47 | ||
46 | int kobj_ns_type_register(const struct kobj_ns_type_operations *ops); | 48 | int kobj_ns_type_register(const struct kobj_ns_type_operations *ops); |
@@ -48,9 +50,9 @@ int kobj_ns_type_registered(enum kobj_ns_type type); | |||
48 | const struct kobj_ns_type_operations *kobj_child_ns_ops(struct kobject *parent); | 50 | const struct kobj_ns_type_operations *kobj_child_ns_ops(struct kobject *parent); |
49 | const struct kobj_ns_type_operations *kobj_ns_ops(struct kobject *kobj); | 51 | const struct kobj_ns_type_operations *kobj_ns_ops(struct kobject *kobj); |
50 | 52 | ||
51 | const void *kobj_ns_current(enum kobj_ns_type type); | 53 | void *kobj_ns_grab_current(enum kobj_ns_type type); |
52 | const void *kobj_ns_netlink(enum kobj_ns_type type, struct sock *sk); | 54 | const void *kobj_ns_netlink(enum kobj_ns_type type, struct sock *sk); |
53 | const void *kobj_ns_initial(enum kobj_ns_type type); | 55 | const void *kobj_ns_initial(enum kobj_ns_type type); |
54 | void kobj_ns_exit(enum kobj_ns_type type, const void *ns); | 56 | void kobj_ns_drop(enum kobj_ns_type type, void *ns); |
55 | 57 | ||
56 | #endif /* _LINUX_KOBJECT_NS_H */ | 58 | #endif /* _LINUX_KOBJECT_NS_H */ |
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 9724a38ee69d..50940da6adf3 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
@@ -84,6 +84,7 @@ int task_in_mem_cgroup(struct task_struct *task, const struct mem_cgroup *mem); | |||
84 | 84 | ||
85 | extern struct mem_cgroup *try_get_mem_cgroup_from_page(struct page *page); | 85 | extern struct mem_cgroup *try_get_mem_cgroup_from_page(struct page *page); |
86 | extern struct mem_cgroup *mem_cgroup_from_task(struct task_struct *p); | 86 | extern struct mem_cgroup *mem_cgroup_from_task(struct task_struct *p); |
87 | extern struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm); | ||
87 | 88 | ||
88 | static inline | 89 | static inline |
89 | int mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *cgroup) | 90 | int mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *cgroup) |
@@ -246,6 +247,11 @@ static inline struct mem_cgroup *try_get_mem_cgroup_from_page(struct page *page) | |||
246 | return NULL; | 247 | return NULL; |
247 | } | 248 | } |
248 | 249 | ||
250 | static inline struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm) | ||
251 | { | ||
252 | return NULL; | ||
253 | } | ||
254 | |||
249 | static inline int mm_match_cgroup(struct mm_struct *mm, struct mem_cgroup *mem) | 255 | static inline int mm_match_cgroup(struct mm_struct *mm, struct mem_cgroup *mem) |
250 | { | 256 | { |
251 | return 1; | 257 | return 1; |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index ca333e79e10f..54b8b4d7b68f 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -2555,7 +2555,7 @@ extern void netdev_class_remove_file(struct class_attribute *class_attr); | |||
2555 | 2555 | ||
2556 | extern struct kobj_ns_type_operations net_ns_type_operations; | 2556 | extern struct kobj_ns_type_operations net_ns_type_operations; |
2557 | 2557 | ||
2558 | extern char *netdev_drivername(const struct net_device *dev, char *buffer, int len); | 2558 | extern const char *netdev_drivername(const struct net_device *dev); |
2559 | 2559 | ||
2560 | extern void linkwatch_run_queue(void); | 2560 | extern void linkwatch_run_queue(void); |
2561 | 2561 | ||
diff --git a/include/linux/netfilter/nf_conntrack_common.h b/include/linux/netfilter/nf_conntrack_common.h index 50cdc2559a5a..0d3dd66322ec 100644 --- a/include/linux/netfilter/nf_conntrack_common.h +++ b/include/linux/netfilter/nf_conntrack_common.h | |||
@@ -18,6 +18,9 @@ enum ip_conntrack_info { | |||
18 | /* >= this indicates reply direction */ | 18 | /* >= this indicates reply direction */ |
19 | IP_CT_IS_REPLY, | 19 | IP_CT_IS_REPLY, |
20 | 20 | ||
21 | IP_CT_ESTABLISHED_REPLY = IP_CT_ESTABLISHED + IP_CT_IS_REPLY, | ||
22 | IP_CT_RELATED_REPLY = IP_CT_RELATED + IP_CT_IS_REPLY, | ||
23 | IP_CT_NEW_REPLY = IP_CT_NEW + IP_CT_IS_REPLY, | ||
21 | /* Number of distinct IP_CT types (no NEW in reply dirn). */ | 24 | /* Number of distinct IP_CT types (no NEW in reply dirn). */ |
22 | IP_CT_NUMBER = IP_CT_IS_REPLY * 2 - 1 | 25 | IP_CT_NUMBER = IP_CT_IS_REPLY * 2 - 1 |
23 | }; | 26 | }; |
diff --git a/include/linux/percpu.h b/include/linux/percpu.h index 8b97308e65df..9ca008f0c542 100644 --- a/include/linux/percpu.h +++ b/include/linux/percpu.h | |||
@@ -259,6 +259,9 @@ extern void __bad_size_call_parameter(void); | |||
259 | * Special handling for cmpxchg_double. cmpxchg_double is passed two | 259 | * Special handling for cmpxchg_double. cmpxchg_double is passed two |
260 | * percpu variables. The first has to be aligned to a double word | 260 | * percpu variables. The first has to be aligned to a double word |
261 | * boundary and the second has to follow directly thereafter. | 261 | * boundary and the second has to follow directly thereafter. |
262 | * We enforce this on all architectures even if they don't support | ||
263 | * a double cmpxchg instruction, since it's a cheap requirement, and it | ||
264 | * avoids breaking the requirement for architectures with the instruction. | ||
262 | */ | 265 | */ |
263 | #define __pcpu_double_call_return_bool(stem, pcp1, pcp2, ...) \ | 266 | #define __pcpu_double_call_return_bool(stem, pcp1, pcp2, ...) \ |
264 | ({ \ | 267 | ({ \ |
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 3412684ce5d5..e0786e35f247 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h | |||
@@ -137,14 +137,14 @@ enum perf_event_sample_format { | |||
137 | * | 137 | * |
138 | * struct read_format { | 138 | * struct read_format { |
139 | * { u64 value; | 139 | * { u64 value; |
140 | * { u64 time_enabled; } && PERF_FORMAT_ENABLED | 140 | * { u64 time_enabled; } && PERF_FORMAT_TOTAL_TIME_ENABLED |
141 | * { u64 time_running; } && PERF_FORMAT_RUNNING | 141 | * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING |
142 | * { u64 id; } && PERF_FORMAT_ID | 142 | * { u64 id; } && PERF_FORMAT_ID |
143 | * } && !PERF_FORMAT_GROUP | 143 | * } && !PERF_FORMAT_GROUP |
144 | * | 144 | * |
145 | * { u64 nr; | 145 | * { u64 nr; |
146 | * { u64 time_enabled; } && PERF_FORMAT_ENABLED | 146 | * { u64 time_enabled; } && PERF_FORMAT_TOTAL_TIME_ENABLED |
147 | * { u64 time_running; } && PERF_FORMAT_RUNNING | 147 | * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING |
148 | * { u64 value; | 148 | * { u64 value; |
149 | * { u64 id; } && PERF_FORMAT_ID | 149 | * { u64 id; } && PERF_FORMAT_ID |
150 | * } cntr[nr]; | 150 | * } cntr[nr]; |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 2a8621c4be1e..a837b20ba190 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1063,6 +1063,7 @@ struct sched_domain; | |||
1063 | */ | 1063 | */ |
1064 | #define WF_SYNC 0x01 /* waker goes to sleep after wakup */ | 1064 | #define WF_SYNC 0x01 /* waker goes to sleep after wakup */ |
1065 | #define WF_FORK 0x02 /* child wakeup after fork */ | 1065 | #define WF_FORK 0x02 /* child wakeup after fork */ |
1066 | #define WF_MIGRATED 0x04 /* internal use, task got migrated */ | ||
1066 | 1067 | ||
1067 | #define ENQUEUE_WAKEUP 1 | 1068 | #define ENQUEUE_WAKEUP 1 |
1068 | #define ENQUEUE_HEAD 2 | 1069 | #define ENQUEUE_HEAD 2 |
diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h index e9811892844f..c6db9fb33c44 100644 --- a/include/linux/seqlock.h +++ b/include/linux/seqlock.h | |||
@@ -28,6 +28,7 @@ | |||
28 | 28 | ||
29 | #include <linux/spinlock.h> | 29 | #include <linux/spinlock.h> |
30 | #include <linux/preempt.h> | 30 | #include <linux/preempt.h> |
31 | #include <asm/processor.h> | ||
31 | 32 | ||
32 | typedef struct { | 33 | typedef struct { |
33 | unsigned sequence; | 34 | unsigned sequence; |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index e8b78ce14474..c0a4f3ab0cc0 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -1256,6 +1256,11 @@ static inline void skb_reserve(struct sk_buff *skb, int len) | |||
1256 | skb->tail += len; | 1256 | skb->tail += len; |
1257 | } | 1257 | } |
1258 | 1258 | ||
1259 | static inline void skb_reset_mac_len(struct sk_buff *skb) | ||
1260 | { | ||
1261 | skb->mac_len = skb->network_header - skb->mac_header; | ||
1262 | } | ||
1263 | |||
1259 | #ifdef NET_SKBUFF_DATA_USES_OFFSET | 1264 | #ifdef NET_SKBUFF_DATA_USES_OFFSET |
1260 | static inline unsigned char *skb_transport_header(const struct sk_buff *skb) | 1265 | static inline unsigned char *skb_transport_header(const struct sk_buff *skb) |
1261 | { | 1266 | { |
diff --git a/include/linux/smp.h b/include/linux/smp.h index 7ad824d510a2..8cc38d3bab0c 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h | |||
@@ -85,12 +85,15 @@ int smp_call_function_any(const struct cpumask *mask, | |||
85 | * Generic and arch helpers | 85 | * Generic and arch helpers |
86 | */ | 86 | */ |
87 | #ifdef CONFIG_USE_GENERIC_SMP_HELPERS | 87 | #ifdef CONFIG_USE_GENERIC_SMP_HELPERS |
88 | void __init call_function_init(void); | ||
88 | void generic_smp_call_function_single_interrupt(void); | 89 | void generic_smp_call_function_single_interrupt(void); |
89 | void generic_smp_call_function_interrupt(void); | 90 | void generic_smp_call_function_interrupt(void); |
90 | void ipi_call_lock(void); | 91 | void ipi_call_lock(void); |
91 | void ipi_call_unlock(void); | 92 | void ipi_call_unlock(void); |
92 | void ipi_call_lock_irq(void); | 93 | void ipi_call_lock_irq(void); |
93 | void ipi_call_unlock_irq(void); | 94 | void ipi_call_unlock_irq(void); |
95 | #else | ||
96 | static inline void call_function_init(void) { } | ||
94 | #endif | 97 | #endif |
95 | 98 | ||
96 | /* | 99 | /* |
@@ -134,7 +137,7 @@ static inline void smp_send_reschedule(int cpu) { } | |||
134 | #define smp_prepare_boot_cpu() do {} while (0) | 137 | #define smp_prepare_boot_cpu() do {} while (0) |
135 | #define smp_call_function_many(mask, func, info, wait) \ | 138 | #define smp_call_function_many(mask, func, info, wait) \ |
136 | (up_smp_call_function(func, info)) | 139 | (up_smp_call_function(func, info)) |
137 | static inline void init_call_single_data(void) { } | 140 | static inline void call_function_init(void) { } |
138 | 141 | ||
139 | static inline int | 142 | static inline int |
140 | smp_call_function_any(const struct cpumask *mask, smp_call_func_t func, | 143 | smp_call_function_any(const struct cpumask *mask, smp_call_func_t func, |
diff --git a/include/linux/sunrpc/gss_krb5_enctypes.h b/include/linux/sunrpc/gss_krb5_enctypes.h new file mode 100644 index 000000000000..ec6234eee89c --- /dev/null +++ b/include/linux/sunrpc/gss_krb5_enctypes.h | |||
@@ -0,0 +1,4 @@ | |||
1 | /* | ||
2 | * Dumb way to share this static piece of information with nfsd | ||
3 | */ | ||
4 | #define KRB5_SUPPORTED_ENCTYPES "18,17,16,23,3,1,2" | ||
diff --git a/include/linux/swap.h b/include/linux/swap.h index 384eb5fe530b..e70564647039 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
@@ -358,6 +358,7 @@ struct backing_dev_info; | |||
358 | extern struct mm_struct *swap_token_mm; | 358 | extern struct mm_struct *swap_token_mm; |
359 | extern void grab_swap_token(struct mm_struct *); | 359 | extern void grab_swap_token(struct mm_struct *); |
360 | extern void __put_swap_token(struct mm_struct *); | 360 | extern void __put_swap_token(struct mm_struct *); |
361 | extern void disable_swap_token(struct mem_cgroup *memcg); | ||
361 | 362 | ||
362 | static inline int has_swap_token(struct mm_struct *mm) | 363 | static inline int has_swap_token(struct mm_struct *mm) |
363 | { | 364 | { |
@@ -370,11 +371,6 @@ static inline void put_swap_token(struct mm_struct *mm) | |||
370 | __put_swap_token(mm); | 371 | __put_swap_token(mm); |
371 | } | 372 | } |
372 | 373 | ||
373 | static inline void disable_swap_token(void) | ||
374 | { | ||
375 | put_swap_token(swap_token_mm); | ||
376 | } | ||
377 | |||
378 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR | 374 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR |
379 | extern void | 375 | extern void |
380 | mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent, bool swapout); | 376 | mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent, bool swapout); |
@@ -500,7 +496,7 @@ static inline int has_swap_token(struct mm_struct *mm) | |||
500 | return 0; | 496 | return 0; |
501 | } | 497 | } |
502 | 498 | ||
503 | static inline void disable_swap_token(void) | 499 | static inline void disable_swap_token(struct mem_cgroup *memcg) |
504 | { | 500 | { |
505 | } | 501 | } |
506 | 502 | ||
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h index 8c0e349f4a6c..445702c60d04 100644 --- a/include/linux/swiotlb.h +++ b/include/linux/swiotlb.h | |||
@@ -24,6 +24,7 @@ extern int swiotlb_force; | |||
24 | 24 | ||
25 | extern void swiotlb_init(int verbose); | 25 | extern void swiotlb_init(int verbose); |
26 | extern void swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose); | 26 | extern void swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose); |
27 | extern unsigned long swioltb_nr_tbl(void); | ||
27 | 28 | ||
28 | /* | 29 | /* |
29 | * Enumeration for sync targets | 30 | * Enumeration for sync targets |
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index c3acda60eee0..e2696d76a599 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h | |||
@@ -177,9 +177,6 @@ struct sysfs_dirent *sysfs_get_dirent(struct sysfs_dirent *parent_sd, | |||
177 | struct sysfs_dirent *sysfs_get(struct sysfs_dirent *sd); | 177 | struct sysfs_dirent *sysfs_get(struct sysfs_dirent *sd); |
178 | void sysfs_put(struct sysfs_dirent *sd); | 178 | void sysfs_put(struct sysfs_dirent *sd); |
179 | 179 | ||
180 | /* Called to clear a ns tag when it is no longer valid */ | ||
181 | void sysfs_exit_ns(enum kobj_ns_type type, const void *tag); | ||
182 | |||
183 | int __must_check sysfs_init(void); | 180 | int __must_check sysfs_init(void); |
184 | 181 | ||
185 | #else /* CONFIG_SYSFS */ | 182 | #else /* CONFIG_SYSFS */ |
@@ -338,10 +335,6 @@ static inline void sysfs_put(struct sysfs_dirent *sd) | |||
338 | { | 335 | { |
339 | } | 336 | } |
340 | 337 | ||
341 | static inline void sysfs_exit_ns(int type, const void *tag) | ||
342 | { | ||
343 | } | ||
344 | |||
345 | static inline int __must_check sysfs_init(void) | 338 | static inline int __must_check sysfs_init(void) |
346 | { | 339 | { |
347 | return 0; | 340 | return 0; |
diff --git a/include/linux/topology.h b/include/linux/topology.h index b91a40e847d2..fc839bfa7935 100644 --- a/include/linux/topology.h +++ b/include/linux/topology.h | |||
@@ -60,7 +60,7 @@ int arch_update_cpu_topology(void); | |||
60 | * (in whatever arch specific measurement units returned by node_distance()) | 60 | * (in whatever arch specific measurement units returned by node_distance()) |
61 | * then switch on zone reclaim on boot. | 61 | * then switch on zone reclaim on boot. |
62 | */ | 62 | */ |
63 | #define RECLAIM_DISTANCE 20 | 63 | #define RECLAIM_DISTANCE 30 |
64 | #endif | 64 | #endif |
65 | #ifndef PENALTY_FOR_NODE_WITH_CPUS | 65 | #ifndef PENALTY_FOR_NODE_WITH_CPUS |
66 | #define PENALTY_FOR_NODE_WITH_CPUS (1) | 66 | #define PENALTY_FOR_NODE_WITH_CPUS (1) |
diff --git a/include/linux/tty_ldisc.h b/include/linux/tty_ldisc.h index 5b07792ccb46..ff7dc08696a8 100644 --- a/include/linux/tty_ldisc.h +++ b/include/linux/tty_ldisc.h | |||
@@ -76,7 +76,7 @@ | |||
76 | * tty device. It is solely the responsibility of the line | 76 | * tty device. It is solely the responsibility of the line |
77 | * discipline to handle poll requests. | 77 | * discipline to handle poll requests. |
78 | * | 78 | * |
79 | * unsigned int (*receive_buf)(struct tty_struct *, const unsigned char *cp, | 79 | * void (*receive_buf)(struct tty_struct *, const unsigned char *cp, |
80 | * char *fp, int count); | 80 | * char *fp, int count); |
81 | * | 81 | * |
82 | * This function is called by the low-level tty driver to send | 82 | * This function is called by the low-level tty driver to send |
@@ -84,8 +84,7 @@ | |||
84 | * processing. <cp> is a pointer to the buffer of input | 84 | * processing. <cp> is a pointer to the buffer of input |
85 | * character received by the device. <fp> is a pointer to a | 85 | * character received by the device. <fp> is a pointer to a |
86 | * pointer of flag bytes which indicate whether a character was | 86 | * pointer of flag bytes which indicate whether a character was |
87 | * received with a parity error, etc. Returns the amount of bytes | 87 | * received with a parity error, etc. |
88 | * received. | ||
89 | * | 88 | * |
90 | * void (*write_wakeup)(struct tty_struct *); | 89 | * void (*write_wakeup)(struct tty_struct *); |
91 | * | 90 | * |
@@ -141,8 +140,8 @@ struct tty_ldisc_ops { | |||
141 | /* | 140 | /* |
142 | * The following routines are called from below. | 141 | * The following routines are called from below. |
143 | */ | 142 | */ |
144 | unsigned int (*receive_buf)(struct tty_struct *, | 143 | void (*receive_buf)(struct tty_struct *, const unsigned char *cp, |
145 | const unsigned char *cp, char *fp, int count); | 144 | char *fp, int count); |
146 | void (*write_wakeup)(struct tty_struct *); | 145 | void (*write_wakeup)(struct tty_struct *); |
147 | void (*dcd_change)(struct tty_struct *, unsigned int, | 146 | void (*dcd_change)(struct tty_struct *, unsigned int, |
148 | struct pps_event_time *); | 147 | struct pps_event_time *); |
diff --git a/include/linux/usb_usual.h b/include/linux/usb_usual.h index 71693d4a4fe1..17df3600bcef 100644 --- a/include/linux/usb_usual.h +++ b/include/linux/usb_usual.h | |||
@@ -62,7 +62,9 @@ | |||
62 | US_FLAG(NO_READ_DISC_INFO, 0x00040000) \ | 62 | US_FLAG(NO_READ_DISC_INFO, 0x00040000) \ |
63 | /* cannot handle READ_DISC_INFO */ \ | 63 | /* cannot handle READ_DISC_INFO */ \ |
64 | US_FLAG(NO_READ_CAPACITY_16, 0x00080000) \ | 64 | US_FLAG(NO_READ_CAPACITY_16, 0x00080000) \ |
65 | /* cannot handle READ_CAPACITY_16 */ | 65 | /* cannot handle READ_CAPACITY_16 */ \ |
66 | US_FLAG(INITIAL_READ10, 0x00100000) \ | ||
67 | /* Initial READ(10) (and others) must be retried */ | ||
66 | 68 | ||
67 | #define US_FLAG(name, value) US_FL_##name = value , | 69 | #define US_FLAG(name, value) US_FL_##name = value , |
68 | enum { US_DO_ALL_FLAGS }; | 70 | enum { US_DO_ALL_FLAGS }; |
diff --git a/include/linux/uts.h b/include/linux/uts.h index 73eb1ed36ec4..6ddbd86377de 100644 --- a/include/linux/uts.h +++ b/include/linux/uts.h | |||
@@ -9,7 +9,7 @@ | |||
9 | #endif | 9 | #endif |
10 | 10 | ||
11 | #ifndef UTS_NODENAME | 11 | #ifndef UTS_NODENAME |
12 | #define UTS_NODENAME "(none)" /* set by sethostname() */ | 12 | #define UTS_NODENAME CONFIG_DEFAULT_HOSTNAME /* set by sethostname() */ |
13 | #endif | 13 | #endif |
14 | 14 | ||
15 | #ifndef UTS_DOMAINNAME | 15 | #ifndef UTS_DOMAINNAME |
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h index 93e96fb93452..c7c40f1d2624 100644 --- a/include/media/v4l2-dev.h +++ b/include/media/v4l2-dev.h | |||
@@ -128,8 +128,8 @@ struct video_device | |||
128 | struct mutex *lock; | 128 | struct mutex *lock; |
129 | }; | 129 | }; |
130 | 130 | ||
131 | #define media_entity_to_video_device(entity) \ | 131 | #define media_entity_to_video_device(__e) \ |
132 | container_of(entity, struct video_device, entity) | 132 | container_of(__e, struct video_device, entity) |
133 | /* dev to video-device */ | 133 | /* dev to video-device */ |
134 | #define to_video_device(cd) container_of(cd, struct video_device, dev) | 134 | #define to_video_device(cd) container_of(cd, struct video_device, dev) |
135 | 135 | ||
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h index 2bf9ed9ef26b..aef430d779bd 100644 --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h | |||
@@ -35,8 +35,11 @@ struct netns_ipvs; | |||
35 | #define NETDEV_HASHENTRIES (1 << NETDEV_HASHBITS) | 35 | #define NETDEV_HASHENTRIES (1 << NETDEV_HASHBITS) |
36 | 36 | ||
37 | struct net { | 37 | struct net { |
38 | atomic_t passive; /* To decided when the network | ||
39 | * namespace should be freed. | ||
40 | */ | ||
38 | atomic_t count; /* To decided when the network | 41 | atomic_t count; /* To decided when the network |
39 | * namespace should be freed. | 42 | * namespace should be shut down. |
40 | */ | 43 | */ |
41 | #ifdef NETNS_REFCNT_DEBUG | 44 | #ifdef NETNS_REFCNT_DEBUG |
42 | atomic_t use_count; /* To track references we | 45 | atomic_t use_count; /* To track references we |
@@ -154,6 +157,9 @@ int net_eq(const struct net *net1, const struct net *net2) | |||
154 | { | 157 | { |
155 | return net1 == net2; | 158 | return net1 == net2; |
156 | } | 159 | } |
160 | |||
161 | extern void net_drop_ns(void *); | ||
162 | |||
157 | #else | 163 | #else |
158 | 164 | ||
159 | static inline struct net *get_net(struct net *net) | 165 | static inline struct net *get_net(struct net *net) |
@@ -175,6 +181,8 @@ int net_eq(const struct net *net1, const struct net *net2) | |||
175 | { | 181 | { |
176 | return 1; | 182 | return 1; |
177 | } | 183 | } |
184 | |||
185 | #define net_drop_ns NULL | ||
178 | #endif | 186 | #endif |
179 | 187 | ||
180 | 188 | ||
diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h index c7c42e7acc31..5d4f8e586e32 100644 --- a/include/net/netfilter/nf_conntrack.h +++ b/include/net/netfilter/nf_conntrack.h | |||
@@ -307,6 +307,12 @@ static inline int nf_ct_is_untracked(const struct nf_conn *ct) | |||
307 | return test_bit(IPS_UNTRACKED_BIT, &ct->status); | 307 | return test_bit(IPS_UNTRACKED_BIT, &ct->status); |
308 | } | 308 | } |
309 | 309 | ||
310 | /* Packet is received from loopback */ | ||
311 | static inline bool nf_is_loopback_packet(const struct sk_buff *skb) | ||
312 | { | ||
313 | return skb->dev && skb->skb_iif && skb->dev->flags & IFF_LOOPBACK; | ||
314 | } | ||
315 | |||
310 | extern int nf_conntrack_set_hashsize(const char *val, struct kernel_param *kp); | 316 | extern int nf_conntrack_set_hashsize(const char *val, struct kernel_param *kp); |
311 | extern unsigned int nf_conntrack_htable_size; | 317 | extern unsigned int nf_conntrack_htable_size; |
312 | extern unsigned int nf_conntrack_max; | 318 | extern unsigned int nf_conntrack_max; |
diff --git a/include/net/sctp/command.h b/include/net/sctp/command.h index 2b447646ce4b..dd6847e5d6e4 100644 --- a/include/net/sctp/command.h +++ b/include/net/sctp/command.h | |||
@@ -107,6 +107,7 @@ typedef enum { | |||
107 | SCTP_CMD_UPDATE_INITTAG, /* Update peer inittag */ | 107 | SCTP_CMD_UPDATE_INITTAG, /* Update peer inittag */ |
108 | SCTP_CMD_SEND_MSG, /* Send the whole use message */ | 108 | SCTP_CMD_SEND_MSG, /* Send the whole use message */ |
109 | SCTP_CMD_SEND_NEXT_ASCONF, /* Send the next ASCONF after ACK */ | 109 | SCTP_CMD_SEND_NEXT_ASCONF, /* Send the next ASCONF after ACK */ |
110 | SCTP_CMD_PURGE_ASCONF_QUEUE, /* Purge all asconf queues.*/ | ||
110 | SCTP_CMD_LAST | 111 | SCTP_CMD_LAST |
111 | } sctp_verb_t; | 112 | } sctp_verb_t; |
112 | 113 | ||
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index 795f4886e111..7df327a6d564 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
@@ -1993,7 +1993,7 @@ void sctp_assoc_clean_asconf_ack_cache(const struct sctp_association *asoc); | |||
1993 | struct sctp_chunk *sctp_assoc_lookup_asconf_ack( | 1993 | struct sctp_chunk *sctp_assoc_lookup_asconf_ack( |
1994 | const struct sctp_association *asoc, | 1994 | const struct sctp_association *asoc, |
1995 | __be32 serial); | 1995 | __be32 serial); |
1996 | 1996 | void sctp_asconf_queue_teardown(struct sctp_association *asoc); | |
1997 | 1997 | ||
1998 | int sctp_cmp_addr_exact(const union sctp_addr *ss1, | 1998 | int sctp_cmp_addr_exact(const union sctp_addr *ss1, |
1999 | const union sctp_addr *ss2); | 1999 | const union sctp_addr *ss2); |
diff --git a/include/staging/altera.h b/include/staging/altera.h deleted file mode 100644 index 94c0c6181daf..000000000000 --- a/include/staging/altera.h +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | /* | ||
2 | * altera.h | ||
3 | * | ||
4 | * altera FPGA driver | ||
5 | * | ||
6 | * Copyright (C) Altera Corporation 1998-2001 | ||
7 | * Copyright (C) 2010 NetUP Inc. | ||
8 | * Copyright (C) 2010 Igor M. Liplianin <liplianin@netup.ru> | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public License | ||
22 | * along with this program; if not, write to the Free Software | ||
23 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
24 | */ | ||
25 | |||
26 | #ifndef _ALTERA_H_ | ||
27 | #define _ALTERA_H_ | ||
28 | |||
29 | struct altera_config { | ||
30 | void *dev; | ||
31 | u8 *action; | ||
32 | int (*jtag_io) (void *dev, int tms, int tdi, int tdo); | ||
33 | }; | ||
34 | |||
35 | #if defined(CONFIG_ALTERA_STAPL) || \ | ||
36 | (defined(CONFIG_ALTERA_STAPL_MODULE) && defined(MODULE)) | ||
37 | |||
38 | extern int altera_init(struct altera_config *config, const struct firmware *fw); | ||
39 | #else | ||
40 | |||
41 | static inline int altera_init(struct altera_config *config, | ||
42 | const struct firmware *fw) | ||
43 | { | ||
44 | printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); | ||
45 | return 0; | ||
46 | } | ||
47 | #endif /* CONFIG_ALTERA_STAPL */ | ||
48 | |||
49 | #endif /* _ALTERA_H_ */ | ||
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index e09592d2f916..5ce2b2f5f524 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h | |||
@@ -26,7 +26,7 @@ TRACE_EVENT(ext4_free_inode, | |||
26 | __field( umode_t, mode ) | 26 | __field( umode_t, mode ) |
27 | __field( uid_t, uid ) | 27 | __field( uid_t, uid ) |
28 | __field( gid_t, gid ) | 28 | __field( gid_t, gid ) |
29 | __field( blkcnt_t, blocks ) | 29 | __field( __u64, blocks ) |
30 | ), | 30 | ), |
31 | 31 | ||
32 | TP_fast_assign( | 32 | TP_fast_assign( |
@@ -40,9 +40,8 @@ TRACE_EVENT(ext4_free_inode, | |||
40 | 40 | ||
41 | TP_printk("dev %d,%d ino %lu mode 0%o uid %u gid %u blocks %llu", | 41 | TP_printk("dev %d,%d ino %lu mode 0%o uid %u gid %u blocks %llu", |
42 | MAJOR(__entry->dev), MINOR(__entry->dev), | 42 | MAJOR(__entry->dev), MINOR(__entry->dev), |
43 | (unsigned long) __entry->ino, | 43 | (unsigned long) __entry->ino, __entry->mode, |
44 | __entry->mode, __entry->uid, __entry->gid, | 44 | __entry->uid, __entry->gid, __entry->blocks) |
45 | (unsigned long long) __entry->blocks) | ||
46 | ); | 45 | ); |
47 | 46 | ||
48 | TRACE_EVENT(ext4_request_inode, | 47 | TRACE_EVENT(ext4_request_inode, |
@@ -178,7 +177,7 @@ TRACE_EVENT(ext4_begin_ordered_truncate, | |||
178 | TP_printk("dev %d,%d ino %lu new_size %lld", | 177 | TP_printk("dev %d,%d ino %lu new_size %lld", |
179 | MAJOR(__entry->dev), MINOR(__entry->dev), | 178 | MAJOR(__entry->dev), MINOR(__entry->dev), |
180 | (unsigned long) __entry->ino, | 179 | (unsigned long) __entry->ino, |
181 | (long long) __entry->new_size) | 180 | __entry->new_size) |
182 | ); | 181 | ); |
183 | 182 | ||
184 | DECLARE_EVENT_CLASS(ext4__write_begin, | 183 | DECLARE_EVENT_CLASS(ext4__write_begin, |
@@ -204,7 +203,7 @@ DECLARE_EVENT_CLASS(ext4__write_begin, | |||
204 | __entry->flags = flags; | 203 | __entry->flags = flags; |
205 | ), | 204 | ), |
206 | 205 | ||
207 | TP_printk("dev %d,%d ino %lu pos %llu len %u flags %u", | 206 | TP_printk("dev %d,%d ino %lu pos %lld len %u flags %u", |
208 | MAJOR(__entry->dev), MINOR(__entry->dev), | 207 | MAJOR(__entry->dev), MINOR(__entry->dev), |
209 | (unsigned long) __entry->ino, | 208 | (unsigned long) __entry->ino, |
210 | __entry->pos, __entry->len, __entry->flags) | 209 | __entry->pos, __entry->len, __entry->flags) |
@@ -248,7 +247,7 @@ DECLARE_EVENT_CLASS(ext4__write_end, | |||
248 | __entry->copied = copied; | 247 | __entry->copied = copied; |
249 | ), | 248 | ), |
250 | 249 | ||
251 | TP_printk("dev %d,%d ino %lu pos %llu len %u copied %u", | 250 | TP_printk("dev %d,%d ino %lu pos %lld len %u copied %u", |
252 | MAJOR(__entry->dev), MINOR(__entry->dev), | 251 | MAJOR(__entry->dev), MINOR(__entry->dev), |
253 | (unsigned long) __entry->ino, | 252 | (unsigned long) __entry->ino, |
254 | __entry->pos, __entry->len, __entry->copied) | 253 | __entry->pos, __entry->len, __entry->copied) |
@@ -286,29 +285,6 @@ DEFINE_EVENT(ext4__write_end, ext4_da_write_end, | |||
286 | TP_ARGS(inode, pos, len, copied) | 285 | TP_ARGS(inode, pos, len, copied) |
287 | ); | 286 | ); |
288 | 287 | ||
289 | TRACE_EVENT(ext4_writepage, | ||
290 | TP_PROTO(struct inode *inode, struct page *page), | ||
291 | |||
292 | TP_ARGS(inode, page), | ||
293 | |||
294 | TP_STRUCT__entry( | ||
295 | __field( dev_t, dev ) | ||
296 | __field( ino_t, ino ) | ||
297 | __field( pgoff_t, index ) | ||
298 | |||
299 | ), | ||
300 | |||
301 | TP_fast_assign( | ||
302 | __entry->dev = inode->i_sb->s_dev; | ||
303 | __entry->ino = inode->i_ino; | ||
304 | __entry->index = page->index; | ||
305 | ), | ||
306 | |||
307 | TP_printk("dev %d,%d ino %lu page_index %lu", | ||
308 | MAJOR(__entry->dev), MINOR(__entry->dev), | ||
309 | (unsigned long) __entry->ino, __entry->index) | ||
310 | ); | ||
311 | |||
312 | TRACE_EVENT(ext4_da_writepages, | 288 | TRACE_EVENT(ext4_da_writepages, |
313 | TP_PROTO(struct inode *inode, struct writeback_control *wbc), | 289 | TP_PROTO(struct inode *inode, struct writeback_control *wbc), |
314 | 290 | ||
@@ -341,7 +317,7 @@ TRACE_EVENT(ext4_da_writepages, | |||
341 | ), | 317 | ), |
342 | 318 | ||
343 | TP_printk("dev %d,%d ino %lu nr_to_write %ld pages_skipped %ld " | 319 | TP_printk("dev %d,%d ino %lu nr_to_write %ld pages_skipped %ld " |
344 | "range_start %llu range_end %llu sync_mode %d" | 320 | "range_start %lld range_end %lld sync_mode %d" |
345 | "for_kupdate %d range_cyclic %d writeback_index %lu", | 321 | "for_kupdate %d range_cyclic %d writeback_index %lu", |
346 | MAJOR(__entry->dev), MINOR(__entry->dev), | 322 | MAJOR(__entry->dev), MINOR(__entry->dev), |
347 | (unsigned long) __entry->ino, __entry->nr_to_write, | 323 | (unsigned long) __entry->ino, __entry->nr_to_write, |
@@ -449,7 +425,14 @@ DECLARE_EVENT_CLASS(ext4__page_op, | |||
449 | TP_printk("dev %d,%d ino %lu page_index %lu", | 425 | TP_printk("dev %d,%d ino %lu page_index %lu", |
450 | MAJOR(__entry->dev), MINOR(__entry->dev), | 426 | MAJOR(__entry->dev), MINOR(__entry->dev), |
451 | (unsigned long) __entry->ino, | 427 | (unsigned long) __entry->ino, |
452 | __entry->index) | 428 | (unsigned long) __entry->index) |
429 | ); | ||
430 | |||
431 | DEFINE_EVENT(ext4__page_op, ext4_writepage, | ||
432 | |||
433 | TP_PROTO(struct page *page), | ||
434 | |||
435 | TP_ARGS(page) | ||
453 | ); | 436 | ); |
454 | 437 | ||
455 | DEFINE_EVENT(ext4__page_op, ext4_readpage, | 438 | DEFINE_EVENT(ext4__page_op, ext4_readpage, |
@@ -489,7 +472,7 @@ TRACE_EVENT(ext4_invalidatepage, | |||
489 | TP_printk("dev %d,%d ino %lu page_index %lu offset %lu", | 472 | TP_printk("dev %d,%d ino %lu page_index %lu offset %lu", |
490 | MAJOR(__entry->dev), MINOR(__entry->dev), | 473 | MAJOR(__entry->dev), MINOR(__entry->dev), |
491 | (unsigned long) __entry->ino, | 474 | (unsigned long) __entry->ino, |
492 | __entry->index, __entry->offset) | 475 | (unsigned long) __entry->index, __entry->offset) |
493 | ); | 476 | ); |
494 | 477 | ||
495 | TRACE_EVENT(ext4_discard_blocks, | 478 | TRACE_EVENT(ext4_discard_blocks, |
@@ -562,12 +545,10 @@ DEFINE_EVENT(ext4__mb_new_pa, ext4_mb_new_group_pa, | |||
562 | ); | 545 | ); |
563 | 546 | ||
564 | TRACE_EVENT(ext4_mb_release_inode_pa, | 547 | TRACE_EVENT(ext4_mb_release_inode_pa, |
565 | TP_PROTO(struct super_block *sb, | 548 | TP_PROTO(struct ext4_prealloc_space *pa, |
566 | struct inode *inode, | ||
567 | struct ext4_prealloc_space *pa, | ||
568 | unsigned long long block, unsigned int count), | 549 | unsigned long long block, unsigned int count), |
569 | 550 | ||
570 | TP_ARGS(sb, inode, pa, block, count), | 551 | TP_ARGS(pa, block, count), |
571 | 552 | ||
572 | TP_STRUCT__entry( | 553 | TP_STRUCT__entry( |
573 | __field( dev_t, dev ) | 554 | __field( dev_t, dev ) |
@@ -578,8 +559,8 @@ TRACE_EVENT(ext4_mb_release_inode_pa, | |||
578 | ), | 559 | ), |
579 | 560 | ||
580 | TP_fast_assign( | 561 | TP_fast_assign( |
581 | __entry->dev = sb->s_dev; | 562 | __entry->dev = pa->pa_inode->i_sb->s_dev; |
582 | __entry->ino = inode->i_ino; | 563 | __entry->ino = pa->pa_inode->i_ino; |
583 | __entry->block = block; | 564 | __entry->block = block; |
584 | __entry->count = count; | 565 | __entry->count = count; |
585 | ), | 566 | ), |
@@ -591,10 +572,9 @@ TRACE_EVENT(ext4_mb_release_inode_pa, | |||
591 | ); | 572 | ); |
592 | 573 | ||
593 | TRACE_EVENT(ext4_mb_release_group_pa, | 574 | TRACE_EVENT(ext4_mb_release_group_pa, |
594 | TP_PROTO(struct super_block *sb, | 575 | TP_PROTO(struct ext4_prealloc_space *pa), |
595 | struct ext4_prealloc_space *pa), | ||
596 | 576 | ||
597 | TP_ARGS(sb, pa), | 577 | TP_ARGS(pa), |
598 | 578 | ||
599 | TP_STRUCT__entry( | 579 | TP_STRUCT__entry( |
600 | __field( dev_t, dev ) | 580 | __field( dev_t, dev ) |
@@ -604,7 +584,7 @@ TRACE_EVENT(ext4_mb_release_group_pa, | |||
604 | ), | 584 | ), |
605 | 585 | ||
606 | TP_fast_assign( | 586 | TP_fast_assign( |
607 | __entry->dev = sb->s_dev; | 587 | __entry->dev = pa->pa_inode->i_sb->s_dev; |
608 | __entry->pa_pstart = pa->pa_pstart; | 588 | __entry->pa_pstart = pa->pa_pstart; |
609 | __entry->pa_len = pa->pa_len; | 589 | __entry->pa_len = pa->pa_len; |
610 | ), | 590 | ), |
@@ -666,10 +646,10 @@ TRACE_EVENT(ext4_request_blocks, | |||
666 | __field( ino_t, ino ) | 646 | __field( ino_t, ino ) |
667 | __field( unsigned int, flags ) | 647 | __field( unsigned int, flags ) |
668 | __field( unsigned int, len ) | 648 | __field( unsigned int, len ) |
669 | __field( __u64, logical ) | 649 | __field( __u32, logical ) |
650 | __field( __u32, lleft ) | ||
651 | __field( __u32, lright ) | ||
670 | __field( __u64, goal ) | 652 | __field( __u64, goal ) |
671 | __field( __u64, lleft ) | ||
672 | __field( __u64, lright ) | ||
673 | __field( __u64, pleft ) | 653 | __field( __u64, pleft ) |
674 | __field( __u64, pright ) | 654 | __field( __u64, pright ) |
675 | ), | 655 | ), |
@@ -687,17 +667,13 @@ TRACE_EVENT(ext4_request_blocks, | |||
687 | __entry->pright = ar->pright; | 667 | __entry->pright = ar->pright; |
688 | ), | 668 | ), |
689 | 669 | ||
690 | TP_printk("dev %d,%d ino %lu flags %u len %u lblk %llu goal %llu " | 670 | TP_printk("dev %d,%d ino %lu flags %u len %u lblk %u goal %llu " |
691 | "lleft %llu lright %llu pleft %llu pright %llu ", | 671 | "lleft %u lright %u pleft %llu pright %llu ", |
692 | MAJOR(__entry->dev), MINOR(__entry->dev), | 672 | MAJOR(__entry->dev), MINOR(__entry->dev), |
693 | (unsigned long) __entry->ino, | 673 | (unsigned long) __entry->ino, __entry->flags, |
694 | __entry->flags, __entry->len, | 674 | __entry->len, __entry->logical, __entry->goal, |
695 | (unsigned long long) __entry->logical, | 675 | __entry->lleft, __entry->lright, __entry->pleft, |
696 | (unsigned long long) __entry->goal, | 676 | __entry->pright) |
697 | (unsigned long long) __entry->lleft, | ||
698 | (unsigned long long) __entry->lright, | ||
699 | (unsigned long long) __entry->pleft, | ||
700 | (unsigned long long) __entry->pright) | ||
701 | ); | 677 | ); |
702 | 678 | ||
703 | TRACE_EVENT(ext4_allocate_blocks, | 679 | TRACE_EVENT(ext4_allocate_blocks, |
@@ -711,10 +687,10 @@ TRACE_EVENT(ext4_allocate_blocks, | |||
711 | __field( __u64, block ) | 687 | __field( __u64, block ) |
712 | __field( unsigned int, flags ) | 688 | __field( unsigned int, flags ) |
713 | __field( unsigned int, len ) | 689 | __field( unsigned int, len ) |
714 | __field( __u64, logical ) | 690 | __field( __u32, logical ) |
691 | __field( __u32, lleft ) | ||
692 | __field( __u32, lright ) | ||
715 | __field( __u64, goal ) | 693 | __field( __u64, goal ) |
716 | __field( __u64, lleft ) | ||
717 | __field( __u64, lright ) | ||
718 | __field( __u64, pleft ) | 694 | __field( __u64, pleft ) |
719 | __field( __u64, pright ) | 695 | __field( __u64, pright ) |
720 | ), | 696 | ), |
@@ -733,17 +709,13 @@ TRACE_EVENT(ext4_allocate_blocks, | |||
733 | __entry->pright = ar->pright; | 709 | __entry->pright = ar->pright; |
734 | ), | 710 | ), |
735 | 711 | ||
736 | TP_printk("dev %d,%d ino %lu flags %u len %u block %llu lblk %llu " | 712 | TP_printk("dev %d,%d ino %lu flags %u len %u block %llu lblk %u " |
737 | "goal %llu lleft %llu lright %llu pleft %llu pright %llu", | 713 | "goal %llu lleft %u lright %u pleft %llu pright %llu", |
738 | MAJOR(__entry->dev), MINOR(__entry->dev), | 714 | MAJOR(__entry->dev), MINOR(__entry->dev), |
739 | (unsigned long) __entry->ino, | 715 | (unsigned long) __entry->ino, __entry->flags, |
740 | __entry->flags, __entry->len, __entry->block, | 716 | __entry->len, __entry->block, __entry->logical, |
741 | (unsigned long long) __entry->logical, | 717 | __entry->goal, __entry->lleft, __entry->lright, |
742 | (unsigned long long) __entry->goal, | 718 | __entry->pleft, __entry->pright) |
743 | (unsigned long long) __entry->lleft, | ||
744 | (unsigned long long) __entry->lright, | ||
745 | (unsigned long long) __entry->pleft, | ||
746 | (unsigned long long) __entry->pright) | ||
747 | ); | 719 | ); |
748 | 720 | ||
749 | TRACE_EVENT(ext4_free_blocks, | 721 | TRACE_EVENT(ext4_free_blocks, |
@@ -755,10 +727,10 @@ TRACE_EVENT(ext4_free_blocks, | |||
755 | TP_STRUCT__entry( | 727 | TP_STRUCT__entry( |
756 | __field( dev_t, dev ) | 728 | __field( dev_t, dev ) |
757 | __field( ino_t, ino ) | 729 | __field( ino_t, ino ) |
758 | __field( umode_t, mode ) | 730 | __field( umode_t, mode ) |
759 | __field( __u64, block ) | 731 | __field( __u64, block ) |
760 | __field( unsigned long, count ) | 732 | __field( unsigned long, count ) |
761 | __field( int, flags ) | 733 | __field( int, flags ) |
762 | ), | 734 | ), |
763 | 735 | ||
764 | TP_fast_assign( | 736 | TP_fast_assign( |
@@ -798,7 +770,7 @@ TRACE_EVENT(ext4_sync_file_enter, | |||
798 | __entry->parent = dentry->d_parent->d_inode->i_ino; | 770 | __entry->parent = dentry->d_parent->d_inode->i_ino; |
799 | ), | 771 | ), |
800 | 772 | ||
801 | TP_printk("dev %d,%d ino %ld parent %ld datasync %d ", | 773 | TP_printk("dev %d,%d ino %lu parent %lu datasync %d ", |
802 | MAJOR(__entry->dev), MINOR(__entry->dev), | 774 | MAJOR(__entry->dev), MINOR(__entry->dev), |
803 | (unsigned long) __entry->ino, | 775 | (unsigned long) __entry->ino, |
804 | (unsigned long) __entry->parent, __entry->datasync) | 776 | (unsigned long) __entry->parent, __entry->datasync) |
@@ -821,7 +793,7 @@ TRACE_EVENT(ext4_sync_file_exit, | |||
821 | __entry->dev = inode->i_sb->s_dev; | 793 | __entry->dev = inode->i_sb->s_dev; |
822 | ), | 794 | ), |
823 | 795 | ||
824 | TP_printk("dev %d,%d ino %ld ret %d", | 796 | TP_printk("dev %d,%d ino %lu ret %d", |
825 | MAJOR(__entry->dev), MINOR(__entry->dev), | 797 | MAJOR(__entry->dev), MINOR(__entry->dev), |
826 | (unsigned long) __entry->ino, | 798 | (unsigned long) __entry->ino, |
827 | __entry->ret) | 799 | __entry->ret) |
@@ -1005,7 +977,7 @@ DECLARE_EVENT_CLASS(ext4__mballoc, | |||
1005 | __entry->result_len = len; | 977 | __entry->result_len = len; |
1006 | ), | 978 | ), |
1007 | 979 | ||
1008 | TP_printk("dev %d,%d inode %lu extent %u/%d/%u ", | 980 | TP_printk("dev %d,%d inode %lu extent %u/%d/%d ", |
1009 | MAJOR(__entry->dev), MINOR(__entry->dev), | 981 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1010 | (unsigned long) __entry->ino, | 982 | (unsigned long) __entry->ino, |
1011 | __entry->result_group, __entry->result_start, | 983 | __entry->result_group, __entry->result_start, |
@@ -1093,7 +1065,7 @@ TRACE_EVENT(ext4_da_update_reserve_space, | |||
1093 | "allocated_meta_blocks %d", | 1065 | "allocated_meta_blocks %d", |
1094 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1066 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1095 | (unsigned long) __entry->ino, | 1067 | (unsigned long) __entry->ino, |
1096 | __entry->mode, (unsigned long long) __entry->i_blocks, | 1068 | __entry->mode, __entry->i_blocks, |
1097 | __entry->used_blocks, __entry->reserved_data_blocks, | 1069 | __entry->used_blocks, __entry->reserved_data_blocks, |
1098 | __entry->reserved_meta_blocks, __entry->allocated_meta_blocks) | 1070 | __entry->reserved_meta_blocks, __entry->allocated_meta_blocks) |
1099 | ); | 1071 | ); |
@@ -1127,7 +1099,7 @@ TRACE_EVENT(ext4_da_reserve_space, | |||
1127 | "reserved_data_blocks %d reserved_meta_blocks %d", | 1099 | "reserved_data_blocks %d reserved_meta_blocks %d", |
1128 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1100 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1129 | (unsigned long) __entry->ino, | 1101 | (unsigned long) __entry->ino, |
1130 | __entry->mode, (unsigned long long) __entry->i_blocks, | 1102 | __entry->mode, __entry->i_blocks, |
1131 | __entry->md_needed, __entry->reserved_data_blocks, | 1103 | __entry->md_needed, __entry->reserved_data_blocks, |
1132 | __entry->reserved_meta_blocks) | 1104 | __entry->reserved_meta_blocks) |
1133 | ); | 1105 | ); |
@@ -1164,7 +1136,7 @@ TRACE_EVENT(ext4_da_release_space, | |||
1164 | "allocated_meta_blocks %d", | 1136 | "allocated_meta_blocks %d", |
1165 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1137 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1166 | (unsigned long) __entry->ino, | 1138 | (unsigned long) __entry->ino, |
1167 | __entry->mode, (unsigned long long) __entry->i_blocks, | 1139 | __entry->mode, __entry->i_blocks, |
1168 | __entry->freed_blocks, __entry->reserved_data_blocks, | 1140 | __entry->freed_blocks, __entry->reserved_data_blocks, |
1169 | __entry->reserved_meta_blocks, __entry->allocated_meta_blocks) | 1141 | __entry->reserved_meta_blocks, __entry->allocated_meta_blocks) |
1170 | ); | 1142 | ); |
@@ -1239,14 +1211,15 @@ TRACE_EVENT(ext4_direct_IO_enter, | |||
1239 | __entry->rw = rw; | 1211 | __entry->rw = rw; |
1240 | ), | 1212 | ), |
1241 | 1213 | ||
1242 | TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d", | 1214 | TP_printk("dev %d,%d ino %lu pos %lld len %lu rw %d", |
1243 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1215 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1244 | (unsigned long) __entry->ino, | 1216 | (unsigned long) __entry->ino, |
1245 | (unsigned long long) __entry->pos, __entry->len, __entry->rw) | 1217 | __entry->pos, __entry->len, __entry->rw) |
1246 | ); | 1218 | ); |
1247 | 1219 | ||
1248 | TRACE_EVENT(ext4_direct_IO_exit, | 1220 | TRACE_EVENT(ext4_direct_IO_exit, |
1249 | TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw, int ret), | 1221 | TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, |
1222 | int rw, int ret), | ||
1250 | 1223 | ||
1251 | TP_ARGS(inode, offset, len, rw, ret), | 1224 | TP_ARGS(inode, offset, len, rw, ret), |
1252 | 1225 | ||
@@ -1268,10 +1241,10 @@ TRACE_EVENT(ext4_direct_IO_exit, | |||
1268 | __entry->ret = ret; | 1241 | __entry->ret = ret; |
1269 | ), | 1242 | ), |
1270 | 1243 | ||
1271 | TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d ret %d", | 1244 | TP_printk("dev %d,%d ino %lu pos %lld len %lu rw %d ret %d", |
1272 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1245 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1273 | (unsigned long) __entry->ino, | 1246 | (unsigned long) __entry->ino, |
1274 | (unsigned long long) __entry->pos, __entry->len, | 1247 | __entry->pos, __entry->len, |
1275 | __entry->rw, __entry->ret) | 1248 | __entry->rw, __entry->ret) |
1276 | ); | 1249 | ); |
1277 | 1250 | ||
@@ -1296,15 +1269,15 @@ TRACE_EVENT(ext4_fallocate_enter, | |||
1296 | __entry->mode = mode; | 1269 | __entry->mode = mode; |
1297 | ), | 1270 | ), |
1298 | 1271 | ||
1299 | TP_printk("dev %d,%d ino %ld pos %llu len %llu mode %d", | 1272 | TP_printk("dev %d,%d ino %lu pos %lld len %lld mode %d", |
1300 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1273 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1301 | (unsigned long) __entry->ino, | 1274 | (unsigned long) __entry->ino, __entry->pos, |
1302 | (unsigned long long) __entry->pos, | 1275 | __entry->len, __entry->mode) |
1303 | (unsigned long long) __entry->len, __entry->mode) | ||
1304 | ); | 1276 | ); |
1305 | 1277 | ||
1306 | TRACE_EVENT(ext4_fallocate_exit, | 1278 | TRACE_EVENT(ext4_fallocate_exit, |
1307 | TP_PROTO(struct inode *inode, loff_t offset, unsigned int max_blocks, int ret), | 1279 | TP_PROTO(struct inode *inode, loff_t offset, |
1280 | unsigned int max_blocks, int ret), | ||
1308 | 1281 | ||
1309 | TP_ARGS(inode, offset, max_blocks, ret), | 1282 | TP_ARGS(inode, offset, max_blocks, ret), |
1310 | 1283 | ||
@@ -1312,7 +1285,7 @@ TRACE_EVENT(ext4_fallocate_exit, | |||
1312 | __field( ino_t, ino ) | 1285 | __field( ino_t, ino ) |
1313 | __field( dev_t, dev ) | 1286 | __field( dev_t, dev ) |
1314 | __field( loff_t, pos ) | 1287 | __field( loff_t, pos ) |
1315 | __field( unsigned, blocks ) | 1288 | __field( unsigned int, blocks ) |
1316 | __field( int, ret ) | 1289 | __field( int, ret ) |
1317 | ), | 1290 | ), |
1318 | 1291 | ||
@@ -1324,10 +1297,10 @@ TRACE_EVENT(ext4_fallocate_exit, | |||
1324 | __entry->ret = ret; | 1297 | __entry->ret = ret; |
1325 | ), | 1298 | ), |
1326 | 1299 | ||
1327 | TP_printk("dev %d,%d ino %ld pos %llu blocks %d ret %d", | 1300 | TP_printk("dev %d,%d ino %lu pos %lld blocks %u ret %d", |
1328 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1301 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1329 | (unsigned long) __entry->ino, | 1302 | (unsigned long) __entry->ino, |
1330 | (unsigned long long) __entry->pos, __entry->blocks, | 1303 | __entry->pos, __entry->blocks, |
1331 | __entry->ret) | 1304 | __entry->ret) |
1332 | ); | 1305 | ); |
1333 | 1306 | ||
@@ -1350,7 +1323,7 @@ TRACE_EVENT(ext4_unlink_enter, | |||
1350 | __entry->dev = dentry->d_inode->i_sb->s_dev; | 1323 | __entry->dev = dentry->d_inode->i_sb->s_dev; |
1351 | ), | 1324 | ), |
1352 | 1325 | ||
1353 | TP_printk("dev %d,%d ino %ld size %lld parent %ld", | 1326 | TP_printk("dev %d,%d ino %lu size %lld parent %lu", |
1354 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1327 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1355 | (unsigned long) __entry->ino, __entry->size, | 1328 | (unsigned long) __entry->ino, __entry->size, |
1356 | (unsigned long) __entry->parent) | 1329 | (unsigned long) __entry->parent) |
@@ -1373,7 +1346,7 @@ TRACE_EVENT(ext4_unlink_exit, | |||
1373 | __entry->ret = ret; | 1346 | __entry->ret = ret; |
1374 | ), | 1347 | ), |
1375 | 1348 | ||
1376 | TP_printk("dev %d,%d ino %ld ret %d", | 1349 | TP_printk("dev %d,%d ino %lu ret %d", |
1377 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1350 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1378 | (unsigned long) __entry->ino, | 1351 | (unsigned long) __entry->ino, |
1379 | __entry->ret) | 1352 | __entry->ret) |
@@ -1387,7 +1360,7 @@ DECLARE_EVENT_CLASS(ext4__truncate, | |||
1387 | TP_STRUCT__entry( | 1360 | TP_STRUCT__entry( |
1388 | __field( ino_t, ino ) | 1361 | __field( ino_t, ino ) |
1389 | __field( dev_t, dev ) | 1362 | __field( dev_t, dev ) |
1390 | __field( blkcnt_t, blocks ) | 1363 | __field( __u64, blocks ) |
1391 | ), | 1364 | ), |
1392 | 1365 | ||
1393 | TP_fast_assign( | 1366 | TP_fast_assign( |
@@ -1396,9 +1369,9 @@ DECLARE_EVENT_CLASS(ext4__truncate, | |||
1396 | __entry->blocks = inode->i_blocks; | 1369 | __entry->blocks = inode->i_blocks; |
1397 | ), | 1370 | ), |
1398 | 1371 | ||
1399 | TP_printk("dev %d,%d ino %lu blocks %lu", | 1372 | TP_printk("dev %d,%d ino %lu blocks %llu", |
1400 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1373 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1401 | (unsigned long) __entry->ino, (unsigned long) __entry->blocks) | 1374 | (unsigned long) __entry->ino, __entry->blocks) |
1402 | ); | 1375 | ); |
1403 | 1376 | ||
1404 | DEFINE_EVENT(ext4__truncate, ext4_truncate_enter, | 1377 | DEFINE_EVENT(ext4__truncate, ext4_truncate_enter, |
@@ -1417,7 +1390,7 @@ DEFINE_EVENT(ext4__truncate, ext4_truncate_exit, | |||
1417 | 1390 | ||
1418 | DECLARE_EVENT_CLASS(ext4__map_blocks_enter, | 1391 | DECLARE_EVENT_CLASS(ext4__map_blocks_enter, |
1419 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, | 1392 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, |
1420 | unsigned len, unsigned flags), | 1393 | unsigned int len, unsigned int flags), |
1421 | 1394 | ||
1422 | TP_ARGS(inode, lblk, len, flags), | 1395 | TP_ARGS(inode, lblk, len, flags), |
1423 | 1396 | ||
@@ -1425,8 +1398,8 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_enter, | |||
1425 | __field( ino_t, ino ) | 1398 | __field( ino_t, ino ) |
1426 | __field( dev_t, dev ) | 1399 | __field( dev_t, dev ) |
1427 | __field( ext4_lblk_t, lblk ) | 1400 | __field( ext4_lblk_t, lblk ) |
1428 | __field( unsigned, len ) | 1401 | __field( unsigned int, len ) |
1429 | __field( unsigned, flags ) | 1402 | __field( unsigned int, flags ) |
1430 | ), | 1403 | ), |
1431 | 1404 | ||
1432 | TP_fast_assign( | 1405 | TP_fast_assign( |
@@ -1440,7 +1413,7 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_enter, | |||
1440 | TP_printk("dev %d,%d ino %lu lblk %u len %u flags %u", | 1413 | TP_printk("dev %d,%d ino %lu lblk %u len %u flags %u", |
1441 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1414 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1442 | (unsigned long) __entry->ino, | 1415 | (unsigned long) __entry->ino, |
1443 | (unsigned) __entry->lblk, __entry->len, __entry->flags) | 1416 | __entry->lblk, __entry->len, __entry->flags) |
1444 | ); | 1417 | ); |
1445 | 1418 | ||
1446 | DEFINE_EVENT(ext4__map_blocks_enter, ext4_ext_map_blocks_enter, | 1419 | DEFINE_EVENT(ext4__map_blocks_enter, ext4_ext_map_blocks_enter, |
@@ -1459,7 +1432,7 @@ DEFINE_EVENT(ext4__map_blocks_enter, ext4_ind_map_blocks_enter, | |||
1459 | 1432 | ||
1460 | DECLARE_EVENT_CLASS(ext4__map_blocks_exit, | 1433 | DECLARE_EVENT_CLASS(ext4__map_blocks_exit, |
1461 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, | 1434 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, |
1462 | ext4_fsblk_t pblk, unsigned len, int ret), | 1435 | ext4_fsblk_t pblk, unsigned int len, int ret), |
1463 | 1436 | ||
1464 | TP_ARGS(inode, lblk, pblk, len, ret), | 1437 | TP_ARGS(inode, lblk, pblk, len, ret), |
1465 | 1438 | ||
@@ -1468,7 +1441,7 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_exit, | |||
1468 | __field( dev_t, dev ) | 1441 | __field( dev_t, dev ) |
1469 | __field( ext4_lblk_t, lblk ) | 1442 | __field( ext4_lblk_t, lblk ) |
1470 | __field( ext4_fsblk_t, pblk ) | 1443 | __field( ext4_fsblk_t, pblk ) |
1471 | __field( unsigned, len ) | 1444 | __field( unsigned int, len ) |
1472 | __field( int, ret ) | 1445 | __field( int, ret ) |
1473 | ), | 1446 | ), |
1474 | 1447 | ||
@@ -1484,7 +1457,7 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_exit, | |||
1484 | TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u ret %d", | 1457 | TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u ret %d", |
1485 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1458 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1486 | (unsigned long) __entry->ino, | 1459 | (unsigned long) __entry->ino, |
1487 | (unsigned) __entry->lblk, (unsigned long long) __entry->pblk, | 1460 | __entry->lblk, __entry->pblk, |
1488 | __entry->len, __entry->ret) | 1461 | __entry->len, __entry->ret) |
1489 | ); | 1462 | ); |
1490 | 1463 | ||
@@ -1524,7 +1497,7 @@ TRACE_EVENT(ext4_ext_load_extent, | |||
1524 | TP_printk("dev %d,%d ino %lu lblk %u pblk %llu", | 1497 | TP_printk("dev %d,%d ino %lu lblk %u pblk %llu", |
1525 | MAJOR(__entry->dev), MINOR(__entry->dev), | 1498 | MAJOR(__entry->dev), MINOR(__entry->dev), |
1526 | (unsigned long) __entry->ino, | 1499 | (unsigned long) __entry->ino, |
1527 | (unsigned) __entry->lblk, (unsigned long long) __entry->pblk) | 1500 | __entry->lblk, __entry->pblk) |
1528 | ); | 1501 | ); |
1529 | 1502 | ||
1530 | TRACE_EVENT(ext4_load_inode, | 1503 | TRACE_EVENT(ext4_load_inode, |
diff --git a/include/trace/events/irq.h b/include/trace/events/irq.h index ae045ca7d356..1c09820df585 100644 --- a/include/trace/events/irq.h +++ b/include/trace/events/irq.h | |||
@@ -20,7 +20,8 @@ struct softirq_action; | |||
20 | softirq_name(BLOCK_IOPOLL), \ | 20 | softirq_name(BLOCK_IOPOLL), \ |
21 | softirq_name(TASKLET), \ | 21 | softirq_name(TASKLET), \ |
22 | softirq_name(SCHED), \ | 22 | softirq_name(SCHED), \ |
23 | softirq_name(HRTIMER)) | 23 | softirq_name(HRTIMER), \ |
24 | softirq_name(RCU)) | ||
24 | 25 | ||
25 | /** | 26 | /** |
26 | * irq_handler_entry - called immediately before the irq action handler | 27 | * irq_handler_entry - called immediately before the irq action handler |
diff --git a/include/trace/events/net.h b/include/trace/events/net.h index 5f247f5ffc56..f99645d05a8f 100644 --- a/include/trace/events/net.h +++ b/include/trace/events/net.h | |||
@@ -12,22 +12,24 @@ | |||
12 | TRACE_EVENT(net_dev_xmit, | 12 | TRACE_EVENT(net_dev_xmit, |
13 | 13 | ||
14 | TP_PROTO(struct sk_buff *skb, | 14 | TP_PROTO(struct sk_buff *skb, |
15 | int rc), | 15 | int rc, |
16 | struct net_device *dev, | ||
17 | unsigned int skb_len), | ||
16 | 18 | ||
17 | TP_ARGS(skb, rc), | 19 | TP_ARGS(skb, rc, dev, skb_len), |
18 | 20 | ||
19 | TP_STRUCT__entry( | 21 | TP_STRUCT__entry( |
20 | __field( void *, skbaddr ) | 22 | __field( void *, skbaddr ) |
21 | __field( unsigned int, len ) | 23 | __field( unsigned int, len ) |
22 | __field( int, rc ) | 24 | __field( int, rc ) |
23 | __string( name, skb->dev->name ) | 25 | __string( name, dev->name ) |
24 | ), | 26 | ), |
25 | 27 | ||
26 | TP_fast_assign( | 28 | TP_fast_assign( |
27 | __entry->skbaddr = skb; | 29 | __entry->skbaddr = skb; |
28 | __entry->len = skb->len; | 30 | __entry->len = skb_len; |
29 | __entry->rc = rc; | 31 | __entry->rc = rc; |
30 | __assign_str(name, skb->dev->name); | 32 | __assign_str(name, dev->name); |
31 | ), | 33 | ), |
32 | 34 | ||
33 | TP_printk("dev=%s skbaddr=%p len=%u rc=%d", | 35 | TP_printk("dev=%s skbaddr=%p len=%u rc=%d", |
diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h index ea422aaa23e1..b2c33bd955fa 100644 --- a/include/trace/events/vmscan.h +++ b/include/trace/events/vmscan.h | |||
@@ -6,6 +6,8 @@ | |||
6 | 6 | ||
7 | #include <linux/types.h> | 7 | #include <linux/types.h> |
8 | #include <linux/tracepoint.h> | 8 | #include <linux/tracepoint.h> |
9 | #include <linux/mm.h> | ||
10 | #include <linux/memcontrol.h> | ||
9 | #include "gfpflags.h" | 11 | #include "gfpflags.h" |
10 | 12 | ||
11 | #define RECLAIM_WB_ANON 0x0001u | 13 | #define RECLAIM_WB_ANON 0x0001u |
@@ -310,6 +312,87 @@ TRACE_EVENT(mm_vmscan_lru_shrink_inactive, | |||
310 | show_reclaim_flags(__entry->reclaim_flags)) | 312 | show_reclaim_flags(__entry->reclaim_flags)) |
311 | ); | 313 | ); |
312 | 314 | ||
315 | TRACE_EVENT(replace_swap_token, | ||
316 | TP_PROTO(struct mm_struct *old_mm, | ||
317 | struct mm_struct *new_mm), | ||
318 | |||
319 | TP_ARGS(old_mm, new_mm), | ||
320 | |||
321 | TP_STRUCT__entry( | ||
322 | __field(struct mm_struct*, old_mm) | ||
323 | __field(unsigned int, old_prio) | ||
324 | __field(struct mm_struct*, new_mm) | ||
325 | __field(unsigned int, new_prio) | ||
326 | ), | ||
327 | |||
328 | TP_fast_assign( | ||
329 | __entry->old_mm = old_mm; | ||
330 | __entry->old_prio = old_mm ? old_mm->token_priority : 0; | ||
331 | __entry->new_mm = new_mm; | ||
332 | __entry->new_prio = new_mm->token_priority; | ||
333 | ), | ||
334 | |||
335 | TP_printk("old_token_mm=%p old_prio=%u new_token_mm=%p new_prio=%u", | ||
336 | __entry->old_mm, __entry->old_prio, | ||
337 | __entry->new_mm, __entry->new_prio) | ||
338 | ); | ||
339 | |||
340 | DECLARE_EVENT_CLASS(put_swap_token_template, | ||
341 | TP_PROTO(struct mm_struct *swap_token_mm), | ||
342 | |||
343 | TP_ARGS(swap_token_mm), | ||
344 | |||
345 | TP_STRUCT__entry( | ||
346 | __field(struct mm_struct*, swap_token_mm) | ||
347 | ), | ||
348 | |||
349 | TP_fast_assign( | ||
350 | __entry->swap_token_mm = swap_token_mm; | ||
351 | ), | ||
352 | |||
353 | TP_printk("token_mm=%p", __entry->swap_token_mm) | ||
354 | ); | ||
355 | |||
356 | DEFINE_EVENT(put_swap_token_template, put_swap_token, | ||
357 | TP_PROTO(struct mm_struct *swap_token_mm), | ||
358 | TP_ARGS(swap_token_mm) | ||
359 | ); | ||
360 | |||
361 | DEFINE_EVENT_CONDITION(put_swap_token_template, disable_swap_token, | ||
362 | TP_PROTO(struct mm_struct *swap_token_mm), | ||
363 | TP_ARGS(swap_token_mm), | ||
364 | TP_CONDITION(swap_token_mm != NULL) | ||
365 | ); | ||
366 | |||
367 | TRACE_EVENT_CONDITION(update_swap_token_priority, | ||
368 | TP_PROTO(struct mm_struct *mm, | ||
369 | unsigned int old_prio, | ||
370 | struct mm_struct *swap_token_mm), | ||
371 | |||
372 | TP_ARGS(mm, old_prio, swap_token_mm), | ||
373 | |||
374 | TP_CONDITION(mm->token_priority != old_prio), | ||
375 | |||
376 | TP_STRUCT__entry( | ||
377 | __field(struct mm_struct*, mm) | ||
378 | __field(unsigned int, old_prio) | ||
379 | __field(unsigned int, new_prio) | ||
380 | __field(struct mm_struct*, swap_token_mm) | ||
381 | __field(unsigned int, swap_token_prio) | ||
382 | ), | ||
383 | |||
384 | TP_fast_assign( | ||
385 | __entry->mm = mm; | ||
386 | __entry->old_prio = old_prio; | ||
387 | __entry->new_prio = mm->token_priority; | ||
388 | __entry->swap_token_mm = swap_token_mm; | ||
389 | __entry->swap_token_prio = swap_token_mm ? swap_token_mm->token_priority : 0; | ||
390 | ), | ||
391 | |||
392 | TP_printk("mm=%p old_prio=%u new_prio=%u swap_token_mm=%p token_prio=%u", | ||
393 | __entry->mm, __entry->old_prio, __entry->new_prio, | ||
394 | __entry->swap_token_mm, __entry->swap_token_prio) | ||
395 | ); | ||
313 | 396 | ||
314 | #endif /* _TRACE_VMSCAN_H */ | 397 | #endif /* _TRACE_VMSCAN_H */ |
315 | 398 | ||