diff options
Diffstat (limited to 'include')
61 files changed, 390 insertions, 266 deletions
diff --git a/include/asm-generic/unistd.h b/include/asm-generic/unistd.h index f4c38d8c6674..2292d1af9d70 100644 --- a/include/asm-generic/unistd.h +++ b/include/asm-generic/unistd.h | |||
@@ -685,9 +685,15 @@ __SYSCALL(__NR_syncfs, sys_syncfs) | |||
685 | __SYSCALL(__NR_setns, sys_setns) | 685 | __SYSCALL(__NR_setns, sys_setns) |
686 | #define __NR_sendmmsg 269 | 686 | #define __NR_sendmmsg 269 |
687 | __SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg) | 687 | __SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg) |
688 | #define __NR_process_vm_readv 270 | ||
689 | __SC_COMP(__NR_process_vm_readv, sys_process_vm_readv, \ | ||
690 | compat_sys_process_vm_readv) | ||
691 | #define __NR_process_vm_writev 271 | ||
692 | __SC_COMP(__NR_process_vm_writev, sys_process_vm_writev, \ | ||
693 | compat_sys_process_vm_writev) | ||
688 | 694 | ||
689 | #undef __NR_syscalls | 695 | #undef __NR_syscalls |
690 | #define __NR_syscalls 270 | 696 | #define __NR_syscalls 272 |
691 | 697 | ||
692 | /* | 698 | /* |
693 | * All syscalls below here should go away really, | 699 | * All syscalls below here should go away really, |
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index cf399495d38f..1f9e9516e2b7 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h | |||
@@ -990,7 +990,9 @@ struct drm_minor { | |||
990 | struct proc_dir_entry *proc_root; /**< proc directory entry */ | 990 | struct proc_dir_entry *proc_root; /**< proc directory entry */ |
991 | struct drm_info_node proc_nodes; | 991 | struct drm_info_node proc_nodes; |
992 | struct dentry *debugfs_root; | 992 | struct dentry *debugfs_root; |
993 | struct drm_info_node debugfs_nodes; | 993 | |
994 | struct list_head debugfs_list; | ||
995 | struct mutex debugfs_lock; /* Protects debugfs_list. */ | ||
994 | 996 | ||
995 | struct drm_master *master; /* currently active master for this node */ | 997 | struct drm_master *master; /* currently active master for this node */ |
996 | struct list_head master_list; | 998 | struct list_head master_list; |
diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h index d30bedfeb7ef..ddd46db65b57 100644 --- a/include/drm/drm_mode.h +++ b/include/drm/drm_mode.h | |||
@@ -235,6 +235,8 @@ struct drm_mode_fb_cmd { | |||
235 | #define DRM_MODE_FB_DIRTY_ANNOTATE_FILL 0x02 | 235 | #define DRM_MODE_FB_DIRTY_ANNOTATE_FILL 0x02 |
236 | #define DRM_MODE_FB_DIRTY_FLAGS 0x03 | 236 | #define DRM_MODE_FB_DIRTY_FLAGS 0x03 |
237 | 237 | ||
238 | #define DRM_MODE_FB_DIRTY_MAX_CLIPS 256 | ||
239 | |||
238 | /* | 240 | /* |
239 | * Mark a region of a framebuffer as dirty. | 241 | * Mark a region of a framebuffer as dirty. |
240 | * | 242 | * |
diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h index 3d53efd25ab9..4e4fbb820e20 100644 --- a/include/drm/drm_pciids.h +++ b/include/drm/drm_pciids.h | |||
@@ -4,6 +4,7 @@ | |||
4 | */ | 4 | */ |
5 | #define radeon_PCI_IDS \ | 5 | #define radeon_PCI_IDS \ |
6 | {0x1002, 0x3150, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \ | 6 | {0x1002, 0x3150, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \ |
7 | {0x1002, 0x3151, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | ||
7 | {0x1002, 0x3152, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 8 | {0x1002, 0x3152, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
8 | {0x1002, 0x3154, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 9 | {0x1002, 0x3154, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
9 | {0x1002, 0x3155, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 10 | {0x1002, 0x3155, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
@@ -55,6 +56,7 @@ | |||
55 | {0x1002, 0x4C64, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \ | 56 | {0x1002, 0x4C64, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \ |
56 | {0x1002, 0x4C66, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \ | 57 | {0x1002, 0x4C66, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \ |
57 | {0x1002, 0x4C67, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \ | 58 | {0x1002, 0x4C67, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \ |
59 | {0x1002, 0x4C6E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280|RADEON_IS_MOBILITY}, \ | ||
58 | {0x1002, 0x4E44, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \ | 60 | {0x1002, 0x4E44, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \ |
59 | {0x1002, 0x4E45, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \ | 61 | {0x1002, 0x4E45, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \ |
60 | {0x1002, 0x4E46, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \ | 62 | {0x1002, 0x4E46, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \ |
@@ -195,6 +197,14 @@ | |||
195 | {0x1002, 0x6770, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \ | 197 | {0x1002, 0x6770, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \ |
196 | {0x1002, 0x6778, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \ | 198 | {0x1002, 0x6778, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \ |
197 | {0x1002, 0x6779, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \ | 199 | {0x1002, 0x6779, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \ |
200 | {0x1002, 0x6840, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | ||
201 | {0x1002, 0x6841, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | ||
202 | {0x1002, 0x6842, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | ||
203 | {0x1002, 0x6843, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | ||
204 | {0x1002, 0x6849, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \ | ||
205 | {0x1002, 0x6850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \ | ||
206 | {0x1002, 0x6858, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \ | ||
207 | {0x1002, 0x6859, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \ | ||
198 | {0x1002, 0x6880, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 208 | {0x1002, 0x6880, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
199 | {0x1002, 0x6888, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \ | 209 | {0x1002, 0x6888, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \ |
200 | {0x1002, 0x6889, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \ | 210 | {0x1002, 0x6889, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \ |
diff --git a/include/drm/exynos_drm.h b/include/drm/exynos_drm.h index 874c4d271328..12050434d57a 100644 --- a/include/drm/exynos_drm.h +++ b/include/drm/exynos_drm.h | |||
@@ -32,13 +32,14 @@ | |||
32 | /** | 32 | /** |
33 | * User-desired buffer creation information structure. | 33 | * User-desired buffer creation information structure. |
34 | * | 34 | * |
35 | * @size: requested size for the object. | 35 | * @size: user-desired memory allocation size. |
36 | * - this size value would be page-aligned internally. | 36 | * - this size value would be page-aligned internally. |
37 | * @flags: user request for setting memory type or cache attributes. | 37 | * @flags: user request for setting memory type or cache attributes. |
38 | * @handle: returned handle for the object. | 38 | * @handle: returned a handle to created gem object. |
39 | * - this handle will be set by gem module of kernel side. | ||
39 | */ | 40 | */ |
40 | struct drm_exynos_gem_create { | 41 | struct drm_exynos_gem_create { |
41 | unsigned int size; | 42 | uint64_t size; |
42 | unsigned int flags; | 43 | unsigned int flags; |
43 | unsigned int handle; | 44 | unsigned int handle; |
44 | }; | 45 | }; |
diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h index b65be6054a18..be94be6d6f17 100644 --- a/include/drm/radeon_drm.h +++ b/include/drm/radeon_drm.h | |||
@@ -874,6 +874,10 @@ struct drm_radeon_gem_pwrite { | |||
874 | 874 | ||
875 | #define RADEON_CHUNK_ID_RELOCS 0x01 | 875 | #define RADEON_CHUNK_ID_RELOCS 0x01 |
876 | #define RADEON_CHUNK_ID_IB 0x02 | 876 | #define RADEON_CHUNK_ID_IB 0x02 |
877 | #define RADEON_CHUNK_ID_FLAGS 0x03 | ||
878 | |||
879 | /* The first dword of RADEON_CHUNK_ID_FLAGS is a uint32 of these flags: */ | ||
880 | #define RADEON_CS_KEEP_TILING_FLAGS 0x01 | ||
877 | 881 | ||
878 | struct drm_radeon_cs_chunk { | 882 | struct drm_radeon_cs_chunk { |
879 | uint32_t chunk_id; | 883 | uint32_t chunk_id; |
diff --git a/include/linux/bio.h b/include/linux/bio.h index a3c071c9e189..847994aef0e9 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
@@ -211,8 +211,8 @@ extern void bio_pair_release(struct bio_pair *dbio); | |||
211 | extern struct bio_set *bioset_create(unsigned int, unsigned int); | 211 | extern struct bio_set *bioset_create(unsigned int, unsigned int); |
212 | extern void bioset_free(struct bio_set *); | 212 | extern void bioset_free(struct bio_set *); |
213 | 213 | ||
214 | extern struct bio *bio_alloc(gfp_t, int); | 214 | extern struct bio *bio_alloc(gfp_t, unsigned int); |
215 | extern struct bio *bio_kmalloc(gfp_t, int); | 215 | extern struct bio *bio_kmalloc(gfp_t, unsigned int); |
216 | extern struct bio *bio_alloc_bioset(gfp_t, int, struct bio_set *); | 216 | extern struct bio *bio_alloc_bioset(gfp_t, int, struct bio_set *); |
217 | extern void bio_put(struct bio *); | 217 | extern void bio_put(struct bio *); |
218 | extern void bio_free(struct bio *, struct bio_set *); | 218 | extern void bio_free(struct bio *, struct bio_set *); |
@@ -519,7 +519,11 @@ extern void bio_integrity_init(void); | |||
519 | #define bioset_integrity_create(a, b) (0) | 519 | #define bioset_integrity_create(a, b) (0) |
520 | #define bio_integrity_prep(a) (0) | 520 | #define bio_integrity_prep(a) (0) |
521 | #define bio_integrity_enabled(a) (0) | 521 | #define bio_integrity_enabled(a) (0) |
522 | #define bio_integrity_clone(a, b, c, d) (0) | 522 | static inline int bio_integrity_clone(struct bio *bio, struct bio *bio_src, |
523 | gfp_t gfp_mask, struct bio_set *bs) | ||
524 | { | ||
525 | return 0; | ||
526 | } | ||
523 | #define bioset_integrity_free(a) do { } while (0) | 527 | #define bioset_integrity_free(a) do { } while (0) |
524 | #define bio_integrity_free(a, b) do { } while (0) | 528 | #define bio_integrity_free(a, b) do { } while (0) |
525 | #define bio_integrity_endio(a, b) do { } while (0) | 529 | #define bio_integrity_endio(a, b) do { } while (0) |
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h index f88eacb111d4..7c05ac202d90 100644 --- a/include/linux/ceph/osd_client.h +++ b/include/linux/ceph/osd_client.h | |||
@@ -10,6 +10,12 @@ | |||
10 | #include "osdmap.h" | 10 | #include "osdmap.h" |
11 | #include "messenger.h" | 11 | #include "messenger.h" |
12 | 12 | ||
13 | /* | ||
14 | * Maximum object name size | ||
15 | * (must be at least as big as RBD_MAX_MD_NAME_LEN -- currently 100) | ||
16 | */ | ||
17 | #define MAX_OBJ_NAME_SIZE 100 | ||
18 | |||
13 | struct ceph_msg; | 19 | struct ceph_msg; |
14 | struct ceph_snap_context; | 20 | struct ceph_snap_context; |
15 | struct ceph_osd_request; | 21 | struct ceph_osd_request; |
@@ -75,7 +81,7 @@ struct ceph_osd_request { | |||
75 | struct inode *r_inode; /* for use by callbacks */ | 81 | struct inode *r_inode; /* for use by callbacks */ |
76 | void *r_priv; /* ditto */ | 82 | void *r_priv; /* ditto */ |
77 | 83 | ||
78 | char r_oid[40]; /* object name */ | 84 | char r_oid[MAX_OBJ_NAME_SIZE]; /* object name */ |
79 | int r_oid_len; | 85 | int r_oid_len; |
80 | unsigned long r_stamp; /* send OR check time */ | 86 | unsigned long r_stamp; /* send OR check time */ |
81 | 87 | ||
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h index 139c4db55f17..c86c940d1de3 100644 --- a/include/linux/clocksource.h +++ b/include/linux/clocksource.h | |||
@@ -156,6 +156,7 @@ extern u64 timecounter_cyc2time(struct timecounter *tc, | |||
156 | * @mult: cycle to nanosecond multiplier | 156 | * @mult: cycle to nanosecond multiplier |
157 | * @shift: cycle to nanosecond divisor (power of two) | 157 | * @shift: cycle to nanosecond divisor (power of two) |
158 | * @max_idle_ns: max idle time permitted by the clocksource (nsecs) | 158 | * @max_idle_ns: max idle time permitted by the clocksource (nsecs) |
159 | * @maxadj maximum adjustment value to mult (~11%) | ||
159 | * @flags: flags describing special properties | 160 | * @flags: flags describing special properties |
160 | * @archdata: arch-specific data | 161 | * @archdata: arch-specific data |
161 | * @suspend: suspend function for the clocksource, if necessary | 162 | * @suspend: suspend function for the clocksource, if necessary |
@@ -172,7 +173,7 @@ struct clocksource { | |||
172 | u32 mult; | 173 | u32 mult; |
173 | u32 shift; | 174 | u32 shift; |
174 | u64 max_idle_ns; | 175 | u64 max_idle_ns; |
175 | 176 | u32 maxadj; | |
176 | #ifdef CONFIG_ARCH_CLOCKSOURCE_DATA | 177 | #ifdef CONFIG_ARCH_CLOCKSOURCE_DATA |
177 | struct arch_clocksource_data archdata; | 178 | struct arch_clocksource_data archdata; |
178 | #endif | 179 | #endif |
diff --git a/include/linux/compat.h b/include/linux/compat.h index 154bf5683015..66ed067fb729 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h | |||
@@ -552,5 +552,14 @@ extern ssize_t compat_rw_copy_check_uvector(int type, | |||
552 | 552 | ||
553 | extern void __user *compat_alloc_user_space(unsigned long len); | 553 | extern void __user *compat_alloc_user_space(unsigned long len); |
554 | 554 | ||
555 | asmlinkage ssize_t compat_sys_process_vm_readv(compat_pid_t pid, | ||
556 | const struct compat_iovec __user *lvec, | ||
557 | unsigned long liovcnt, const struct compat_iovec __user *rvec, | ||
558 | unsigned long riovcnt, unsigned long flags); | ||
559 | asmlinkage ssize_t compat_sys_process_vm_writev(compat_pid_t pid, | ||
560 | const struct compat_iovec __user *lvec, | ||
561 | unsigned long liovcnt, const struct compat_iovec __user *rvec, | ||
562 | unsigned long riovcnt, unsigned long flags); | ||
563 | |||
555 | #endif /* CONFIG_COMPAT */ | 564 | #endif /* CONFIG_COMPAT */ |
556 | #endif /* _LINUX_COMPAT_H */ | 565 | #endif /* _LINUX_COMPAT_H */ |
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index 4df926199369..ed9f74f6c519 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
@@ -339,7 +339,8 @@ extern int d_validate(struct dentry *, struct dentry *); | |||
339 | */ | 339 | */ |
340 | extern char *dynamic_dname(struct dentry *, char *, int, const char *, ...); | 340 | extern char *dynamic_dname(struct dentry *, char *, int, const char *, ...); |
341 | 341 | ||
342 | extern char *__d_path(const struct path *path, struct path *root, char *, int); | 342 | extern char *__d_path(const struct path *, const struct path *, char *, int); |
343 | extern char *d_absolute_path(const struct path *, char *, int); | ||
343 | extern char *d_path(const struct path *, char *, int); | 344 | extern char *d_path(const struct path *, char *, int); |
344 | extern char *d_path_with_unreachable(const struct path *, char *, int); | 345 | extern char *d_path_with_unreachable(const struct path *, char *, int); |
345 | extern char *dentry_path_raw(struct dentry *, char *, int); | 346 | extern char *dentry_path_raw(struct dentry *, char *, int); |
diff --git a/include/linux/devfreq.h b/include/linux/devfreq.h index afb94583960c..98ce8124b1cc 100644 --- a/include/linux/devfreq.h +++ b/include/linux/devfreq.h | |||
@@ -41,7 +41,7 @@ struct devfreq_dev_status { | |||
41 | unsigned long total_time; | 41 | unsigned long total_time; |
42 | unsigned long busy_time; | 42 | unsigned long busy_time; |
43 | unsigned long current_frequency; | 43 | unsigned long current_frequency; |
44 | void *private_date; | 44 | void *private_data; |
45 | }; | 45 | }; |
46 | 46 | ||
47 | /** | 47 | /** |
diff --git a/include/linux/device.h b/include/linux/device.h index ffbcf95cd97d..3136ede5a1e1 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -69,7 +69,7 @@ extern void bus_remove_file(struct bus_type *, struct bus_attribute *); | |||
69 | * @resume: Called to bring a device on this bus out of sleep mode. | 69 | * @resume: Called to bring a device on this bus out of sleep mode. |
70 | * @pm: Power management operations of this bus, callback the specific | 70 | * @pm: Power management operations of this bus, callback the specific |
71 | * device driver's pm-ops. | 71 | * device driver's pm-ops. |
72 | * @iommu_ops IOMMU specific operations for this bus, used to attach IOMMU | 72 | * @iommu_ops: IOMMU specific operations for this bus, used to attach IOMMU |
73 | * driver implementations to a bus and allow the driver to do | 73 | * driver implementations to a bus and allow the driver to do |
74 | * bus-specific setup | 74 | * bus-specific setup |
75 | * @p: The private data of the driver core, only the driver core can | 75 | * @p: The private data of the driver core, only the driver core can |
@@ -682,6 +682,11 @@ static inline bool device_async_suspend_enabled(struct device *dev) | |||
682 | return !!dev->power.async_suspend; | 682 | return !!dev->power.async_suspend; |
683 | } | 683 | } |
684 | 684 | ||
685 | static inline void pm_suspend_ignore_children(struct device *dev, bool enable) | ||
686 | { | ||
687 | dev->power.ignore_children = enable; | ||
688 | } | ||
689 | |||
685 | static inline void device_lock(struct device *dev) | 690 | static inline void device_lock(struct device *dev) |
686 | { | 691 | { |
687 | mutex_lock(&dev->mutex); | 692 | mutex_lock(&dev->mutex); |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 0c4df261af7e..e0bc4ffb8e7f 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -393,8 +393,8 @@ struct inodes_stat_t { | |||
393 | #include <linux/semaphore.h> | 393 | #include <linux/semaphore.h> |
394 | #include <linux/fiemap.h> | 394 | #include <linux/fiemap.h> |
395 | #include <linux/rculist_bl.h> | 395 | #include <linux/rculist_bl.h> |
396 | #include <linux/shrinker.h> | ||
397 | #include <linux/atomic.h> | 396 | #include <linux/atomic.h> |
397 | #include <linux/shrinker.h> | ||
398 | 398 | ||
399 | #include <asm/byteorder.h> | 399 | #include <asm/byteorder.h> |
400 | 400 | ||
@@ -1886,6 +1886,7 @@ extern struct dentry *mount_single(struct file_system_type *fs_type, | |||
1886 | extern struct dentry *mount_nodev(struct file_system_type *fs_type, | 1886 | extern struct dentry *mount_nodev(struct file_system_type *fs_type, |
1887 | int flags, void *data, | 1887 | int flags, void *data, |
1888 | int (*fill_super)(struct super_block *, void *, int)); | 1888 | int (*fill_super)(struct super_block *, void *, int)); |
1889 | extern struct dentry *mount_subtree(struct vfsmount *mnt, const char *path); | ||
1889 | void generic_shutdown_super(struct super_block *sb); | 1890 | void generic_shutdown_super(struct super_block *sb); |
1890 | void kill_block_super(struct super_block *sb); | 1891 | void kill_block_super(struct super_block *sb); |
1891 | void kill_anon_super(struct super_block *sb); | 1892 | void kill_anon_super(struct super_block *sb); |
@@ -1941,6 +1942,7 @@ extern int fd_statfs(int, struct kstatfs *); | |||
1941 | extern int statfs_by_dentry(struct dentry *, struct kstatfs *); | 1942 | extern int statfs_by_dentry(struct dentry *, struct kstatfs *); |
1942 | extern int freeze_super(struct super_block *super); | 1943 | extern int freeze_super(struct super_block *super); |
1943 | extern int thaw_super(struct super_block *super); | 1944 | extern int thaw_super(struct super_block *super); |
1945 | extern bool our_mnt(struct vfsmount *mnt); | ||
1944 | 1946 | ||
1945 | extern int current_umask(void); | 1947 | extern int current_umask(void); |
1946 | 1948 | ||
diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h index 96efa6794ea5..c3da42dd22ba 100644 --- a/include/linux/ftrace_event.h +++ b/include/linux/ftrace_event.h | |||
@@ -172,6 +172,7 @@ enum { | |||
172 | TRACE_EVENT_FL_FILTERED_BIT, | 172 | TRACE_EVENT_FL_FILTERED_BIT, |
173 | TRACE_EVENT_FL_RECORDED_CMD_BIT, | 173 | TRACE_EVENT_FL_RECORDED_CMD_BIT, |
174 | TRACE_EVENT_FL_CAP_ANY_BIT, | 174 | TRACE_EVENT_FL_CAP_ANY_BIT, |
175 | TRACE_EVENT_FL_NO_SET_FILTER_BIT, | ||
175 | }; | 176 | }; |
176 | 177 | ||
177 | enum { | 178 | enum { |
@@ -179,6 +180,7 @@ enum { | |||
179 | TRACE_EVENT_FL_FILTERED = (1 << TRACE_EVENT_FL_FILTERED_BIT), | 180 | TRACE_EVENT_FL_FILTERED = (1 << TRACE_EVENT_FL_FILTERED_BIT), |
180 | TRACE_EVENT_FL_RECORDED_CMD = (1 << TRACE_EVENT_FL_RECORDED_CMD_BIT), | 181 | TRACE_EVENT_FL_RECORDED_CMD = (1 << TRACE_EVENT_FL_RECORDED_CMD_BIT), |
181 | TRACE_EVENT_FL_CAP_ANY = (1 << TRACE_EVENT_FL_CAP_ANY_BIT), | 182 | TRACE_EVENT_FL_CAP_ANY = (1 << TRACE_EVENT_FL_CAP_ANY_BIT), |
183 | TRACE_EVENT_FL_NO_SET_FILTER = (1 << TRACE_EVENT_FL_NO_SET_FILTER_BIT), | ||
182 | }; | 184 | }; |
183 | 185 | ||
184 | struct ftrace_event_call { | 186 | struct ftrace_event_call { |
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 9de31bc98c88..6d18f3531f18 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h | |||
@@ -21,8 +21,6 @@ | |||
21 | #define dev_to_part(device) container_of((device), struct hd_struct, __dev) | 21 | #define dev_to_part(device) container_of((device), struct hd_struct, __dev) |
22 | #define disk_to_dev(disk) (&(disk)->part0.__dev) | 22 | #define disk_to_dev(disk) (&(disk)->part0.__dev) |
23 | #define part_to_dev(part) (&((part)->__dev)) | 23 | #define part_to_dev(part) (&((part)->__dev)) |
24 | #define alias_name(disk) ((disk)->alias ? (disk)->alias : \ | ||
25 | (disk)->disk_name) | ||
26 | 24 | ||
27 | extern struct device_type part_type; | 25 | extern struct device_type part_type; |
28 | extern struct kobject *block_depr; | 26 | extern struct kobject *block_depr; |
@@ -60,7 +58,6 @@ enum { | |||
60 | 58 | ||
61 | #define DISK_MAX_PARTS 256 | 59 | #define DISK_MAX_PARTS 256 |
62 | #define DISK_NAME_LEN 32 | 60 | #define DISK_NAME_LEN 32 |
63 | #define ALIAS_LEN 256 | ||
64 | 61 | ||
65 | #include <linux/major.h> | 62 | #include <linux/major.h> |
66 | #include <linux/device.h> | 63 | #include <linux/device.h> |
@@ -166,7 +163,6 @@ struct gendisk { | |||
166 | * disks that can't be partitioned. */ | 163 | * disks that can't be partitioned. */ |
167 | 164 | ||
168 | char disk_name[DISK_NAME_LEN]; /* name of major driver */ | 165 | char disk_name[DISK_NAME_LEN]; /* name of major driver */ |
169 | char *alias; /* alias name of disk */ | ||
170 | char *(*devnode)(struct gendisk *gd, mode_t *mode); | 166 | char *(*devnode)(struct gendisk *gd, mode_t *mode); |
171 | 167 | ||
172 | unsigned int events; /* supported events */ | 168 | unsigned int events; /* supported events */ |
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 19644e0016bd..d9d6c868b86b 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h | |||
@@ -110,11 +110,6 @@ static inline void copy_huge_page(struct page *dst, struct page *src) | |||
110 | 110 | ||
111 | #define hugetlb_change_protection(vma, address, end, newprot) | 111 | #define hugetlb_change_protection(vma, address, end, newprot) |
112 | 112 | ||
113 | #ifndef HPAGE_MASK | ||
114 | #define HPAGE_MASK PAGE_MASK /* Keep the compiler happy */ | ||
115 | #define HPAGE_SIZE PAGE_SIZE | ||
116 | #endif | ||
117 | |||
118 | #endif /* !CONFIG_HUGETLB_PAGE */ | 113 | #endif /* !CONFIG_HUGETLB_PAGE */ |
119 | 114 | ||
120 | #define HUGETLB_ANON_FILE "anon_hugepage" | 115 | #define HUGETLB_ANON_FILE "anon_hugepage" |
diff --git a/include/linux/hwspinlock.h b/include/linux/hwspinlock.h index 08a2fee40659..aad6bd4b3efd 100644 --- a/include/linux/hwspinlock.h +++ b/include/linux/hwspinlock.h | |||
@@ -118,7 +118,6 @@ int __hwspin_trylock(struct hwspinlock *hwlock, int mode, unsigned long *flags) | |||
118 | static inline | 118 | static inline |
119 | void __hwspin_unlock(struct hwspinlock *hwlock, int mode, unsigned long *flags) | 119 | void __hwspin_unlock(struct hwspinlock *hwlock, int mode, unsigned long *flags) |
120 | { | 120 | { |
121 | return 0; | ||
122 | } | 121 | } |
123 | 122 | ||
124 | static inline int hwspin_lock_get_id(struct hwspinlock *hwlock) | 123 | static inline int hwspin_lock_get_id(struct hwspinlock *hwlock) |
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index a81bf6d23b3e..07d103a06d64 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
@@ -432,9 +432,6 @@ void i2c_unlock_adapter(struct i2c_adapter *); | |||
432 | /* Internal numbers to terminate lists */ | 432 | /* Internal numbers to terminate lists */ |
433 | #define I2C_CLIENT_END 0xfffeU | 433 | #define I2C_CLIENT_END 0xfffeU |
434 | 434 | ||
435 | /* The numbers to use to set I2C bus address */ | ||
436 | #define ANY_I2C_BUS 0xffff | ||
437 | |||
438 | /* Construct an I2C_CLIENT_END-terminated array of i2c addresses */ | 435 | /* Construct an I2C_CLIENT_END-terminated array of i2c addresses */ |
439 | #define I2C_ADDRS(addr, addrs...) \ | 436 | #define I2C_ADDRS(addr, addrs...) \ |
440 | ((const unsigned short []){ addr, ## addrs, I2C_CLIENT_END }) | 437 | ((const unsigned short []){ addr, ## addrs, I2C_CLIENT_END }) |
diff --git a/include/linux/inet_diag.h b/include/linux/inet_diag.h index 80b480c97532..abf5028db981 100644 --- a/include/linux/inet_diag.h +++ b/include/linux/inet_diag.h | |||
@@ -98,9 +98,10 @@ enum { | |||
98 | INET_DIAG_VEGASINFO, | 98 | INET_DIAG_VEGASINFO, |
99 | INET_DIAG_CONG, | 99 | INET_DIAG_CONG, |
100 | INET_DIAG_TOS, | 100 | INET_DIAG_TOS, |
101 | INET_DIAG_TCLASS, | ||
101 | }; | 102 | }; |
102 | 103 | ||
103 | #define INET_DIAG_MAX INET_DIAG_TOS | 104 | #define INET_DIAG_MAX INET_DIAG_TCLASS |
104 | 105 | ||
105 | 106 | ||
106 | /* INET_DIAG_MEM */ | 107 | /* INET_DIAG_MEM */ |
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 08ffab01e76c..32574eef9394 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
@@ -126,6 +126,8 @@ extern struct cred init_cred; | |||
126 | # define INIT_PERF_EVENTS(tsk) | 126 | # define INIT_PERF_EVENTS(tsk) |
127 | #endif | 127 | #endif |
128 | 128 | ||
129 | #define INIT_TASK_COMM "swapper" | ||
130 | |||
129 | /* | 131 | /* |
130 | * INIT_TASK is used to set up the first task table, touch at | 132 | * INIT_TASK is used to set up the first task table, touch at |
131 | * your own risk!. Base=0, limit=0x1fffff (=2MB) | 133 | * your own risk!. Base=0, limit=0x1fffff (=2MB) |
@@ -162,7 +164,7 @@ extern struct cred init_cred; | |||
162 | .group_leader = &tsk, \ | 164 | .group_leader = &tsk, \ |
163 | RCU_INIT_POINTER(.real_cred, &init_cred), \ | 165 | RCU_INIT_POINTER(.real_cred, &init_cred), \ |
164 | RCU_INIT_POINTER(.cred, &init_cred), \ | 166 | RCU_INIT_POINTER(.cred, &init_cred), \ |
165 | .comm = "swapper", \ | 167 | .comm = INIT_TASK_COMM, \ |
166 | .thread = INIT_THREAD, \ | 168 | .thread = INIT_THREAD, \ |
167 | .fs = &init_fs, \ | 169 | .fs = &init_fs, \ |
168 | .files = &init_files, \ | 170 | .files = &init_files, \ |
@@ -184,7 +186,6 @@ extern struct cred init_cred; | |||
184 | [PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \ | 186 | [PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \ |
185 | }, \ | 187 | }, \ |
186 | .thread_group = LIST_HEAD_INIT(tsk.thread_group), \ | 188 | .thread_group = LIST_HEAD_INIT(tsk.thread_group), \ |
187 | .dirties = INIT_PROP_LOCAL_SINGLE(dirties), \ | ||
188 | INIT_IDS \ | 189 | INIT_IDS \ |
189 | INIT_PERF_EVENTS(tsk) \ | 190 | INIT_PERF_EVENTS(tsk) \ |
190 | INIT_TRACE_IRQFLAGS \ | 191 | INIT_TRACE_IRQFLAGS \ |
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index f47fcd30273d..c3892fc1d538 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
@@ -555,7 +555,6 @@ struct kvm_ppc_pvinfo { | |||
555 | #define KVM_CAP_PPC_SMT 64 | 555 | #define KVM_CAP_PPC_SMT 64 |
556 | #define KVM_CAP_PPC_RMA 65 | 556 | #define KVM_CAP_PPC_RMA 65 |
557 | #define KVM_CAP_MAX_VCPUS 66 /* returns max vcpus per vm */ | 557 | #define KVM_CAP_MAX_VCPUS 66 /* returns max vcpus per vm */ |
558 | #define KVM_CAP_PPC_HIOR 67 | ||
559 | #define KVM_CAP_PPC_PAPR 68 | 558 | #define KVM_CAP_PPC_PAPR 68 |
560 | #define KVM_CAP_S390_GMAP 71 | 559 | #define KVM_CAP_S390_GMAP 71 |
561 | 560 | ||
diff --git a/include/linux/mfd/tps65910.h b/include/linux/mfd/tps65910.h index 82b4c8801a4f..8bf2cb9502dd 100644 --- a/include/linux/mfd/tps65910.h +++ b/include/linux/mfd/tps65910.h | |||
@@ -243,7 +243,8 @@ | |||
243 | 243 | ||
244 | 244 | ||
245 | /*Registers VDD1, VDD2 voltage values definitions */ | 245 | /*Registers VDD1, VDD2 voltage values definitions */ |
246 | #define VDD1_2_NUM_VOLTS 73 | 246 | #define VDD1_2_NUM_VOLT_FINE 73 |
247 | #define VDD1_2_NUM_VOLT_COARSE 3 | ||
247 | #define VDD1_2_MIN_VOLT 6000 | 248 | #define VDD1_2_MIN_VOLT 6000 |
248 | #define VDD1_2_OFFSET 125 | 249 | #define VDD1_2_OFFSET 125 |
249 | 250 | ||
diff --git a/include/linux/mfd/wm8994/registers.h b/include/linux/mfd/wm8994/registers.h index fae295048a8b..83a9caec0e43 100644 --- a/include/linux/mfd/wm8994/registers.h +++ b/include/linux/mfd/wm8994/registers.h | |||
@@ -1963,6 +1963,21 @@ | |||
1963 | #define WM8958_MICB2_DISCH_WIDTH 1 /* MICB2_DISCH */ | 1963 | #define WM8958_MICB2_DISCH_WIDTH 1 /* MICB2_DISCH */ |
1964 | 1964 | ||
1965 | /* | 1965 | /* |
1966 | * R210 (0xD2) - Mic Detect 3 | ||
1967 | */ | ||
1968 | #define WM8958_MICD_LVL_MASK 0x07FC /* MICD_LVL - [10:2] */ | ||
1969 | #define WM8958_MICD_LVL_SHIFT 2 /* MICD_LVL - [10:2] */ | ||
1970 | #define WM8958_MICD_LVL_WIDTH 9 /* MICD_LVL - [10:2] */ | ||
1971 | #define WM8958_MICD_VALID 0x0002 /* MICD_VALID */ | ||
1972 | #define WM8958_MICD_VALID_MASK 0x0002 /* MICD_VALID */ | ||
1973 | #define WM8958_MICD_VALID_SHIFT 1 /* MICD_VALID */ | ||
1974 | #define WM8958_MICD_VALID_WIDTH 1 /* MICD_VALID */ | ||
1975 | #define WM8958_MICD_STS 0x0001 /* MICD_STS */ | ||
1976 | #define WM8958_MICD_STS_MASK 0x0001 /* MICD_STS */ | ||
1977 | #define WM8958_MICD_STS_SHIFT 0 /* MICD_STS */ | ||
1978 | #define WM8958_MICD_STS_WIDTH 1 /* MICD_STS */ | ||
1979 | |||
1980 | /* | ||
1966 | * R76 (0x4C) - Charge Pump (1) | 1981 | * R76 (0x4C) - Charge Pump (1) |
1967 | */ | 1982 | */ |
1968 | #define WM8994_CP_ENA 0x8000 /* CP_ENA */ | 1983 | #define WM8994_CP_ENA 0x8000 /* CP_ENA */ |
diff --git a/include/linux/mm.h b/include/linux/mm.h index 3dc3a8c2c485..4baadd18f4ad 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/mmzone.h> | 10 | #include <linux/mmzone.h> |
11 | #include <linux/rbtree.h> | 11 | #include <linux/rbtree.h> |
12 | #include <linux/prio_tree.h> | 12 | #include <linux/prio_tree.h> |
13 | #include <linux/atomic.h> | ||
13 | #include <linux/debug_locks.h> | 14 | #include <linux/debug_locks.h> |
14 | #include <linux/mm_types.h> | 15 | #include <linux/mm_types.h> |
15 | #include <linux/range.h> | 16 | #include <linux/range.h> |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index cbeb5867cff7..a82ad4dd306a 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -2536,6 +2536,8 @@ extern void net_disable_timestamp(void); | |||
2536 | extern void *dev_seq_start(struct seq_file *seq, loff_t *pos); | 2536 | extern void *dev_seq_start(struct seq_file *seq, loff_t *pos); |
2537 | extern void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos); | 2537 | extern void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos); |
2538 | extern void dev_seq_stop(struct seq_file *seq, void *v); | 2538 | extern void dev_seq_stop(struct seq_file *seq, void *v); |
2539 | extern int dev_seq_open_ops(struct inode *inode, struct file *file, | ||
2540 | const struct seq_operations *ops); | ||
2539 | #endif | 2541 | #endif |
2540 | 2542 | ||
2541 | extern int netdev_class_create_file(struct class_attribute *class_attr); | 2543 | extern int netdev_class_create_file(struct class_attribute *class_attr); |
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index ab2c6343361a..92ecf5585fac 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -410,6 +410,9 @@ extern const struct inode_operations nfs_file_inode_operations; | |||
410 | extern const struct inode_operations nfs3_file_inode_operations; | 410 | extern const struct inode_operations nfs3_file_inode_operations; |
411 | #endif /* CONFIG_NFS_V3 */ | 411 | #endif /* CONFIG_NFS_V3 */ |
412 | extern const struct file_operations nfs_file_operations; | 412 | extern const struct file_operations nfs_file_operations; |
413 | #ifdef CONFIG_NFS_V4 | ||
414 | extern const struct file_operations nfs4_file_operations; | ||
415 | #endif /* CONFIG_NFS_V4 */ | ||
413 | extern const struct address_space_operations nfs_file_aops; | 416 | extern const struct address_space_operations nfs_file_aops; |
414 | extern const struct address_space_operations nfs_dir_aops; | 417 | extern const struct address_space_operations nfs_dir_aops; |
415 | 418 | ||
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index c74595ba7094..2a7c533be5dd 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
@@ -1192,6 +1192,7 @@ struct nfs_rpc_ops { | |||
1192 | const struct dentry_operations *dentry_ops; | 1192 | const struct dentry_operations *dentry_ops; |
1193 | const struct inode_operations *dir_inode_ops; | 1193 | const struct inode_operations *dir_inode_ops; |
1194 | const struct inode_operations *file_inode_ops; | 1194 | const struct inode_operations *file_inode_ops; |
1195 | const struct file_operations *file_ops; | ||
1195 | 1196 | ||
1196 | int (*getroot) (struct nfs_server *, struct nfs_fh *, | 1197 | int (*getroot) (struct nfs_server *, struct nfs_fh *, |
1197 | struct nfs_fsinfo *); | 1198 | struct nfs_fsinfo *); |
diff --git a/include/linux/pci-ats.h b/include/linux/pci-ats.h index e3d0b3890249..7ef68724f0f0 100644 --- a/include/linux/pci-ats.h +++ b/include/linux/pci-ats.h | |||
@@ -12,7 +12,7 @@ struct pci_ats { | |||
12 | unsigned int is_enabled:1; /* Enable bit is set */ | 12 | unsigned int is_enabled:1; /* Enable bit is set */ |
13 | }; | 13 | }; |
14 | 14 | ||
15 | #ifdef CONFIG_PCI_IOV | 15 | #ifdef CONFIG_PCI_ATS |
16 | 16 | ||
17 | extern int pci_enable_ats(struct pci_dev *dev, int ps); | 17 | extern int pci_enable_ats(struct pci_dev *dev, int ps); |
18 | extern void pci_disable_ats(struct pci_dev *dev); | 18 | extern void pci_disable_ats(struct pci_dev *dev); |
@@ -29,7 +29,7 @@ static inline int pci_ats_enabled(struct pci_dev *dev) | |||
29 | return dev->ats && dev->ats->is_enabled; | 29 | return dev->ats && dev->ats->is_enabled; |
30 | } | 30 | } |
31 | 31 | ||
32 | #else /* CONFIG_PCI_IOV */ | 32 | #else /* CONFIG_PCI_ATS */ |
33 | 33 | ||
34 | static inline int pci_enable_ats(struct pci_dev *dev, int ps) | 34 | static inline int pci_enable_ats(struct pci_dev *dev, int ps) |
35 | { | 35 | { |
@@ -50,7 +50,7 @@ static inline int pci_ats_enabled(struct pci_dev *dev) | |||
50 | return 0; | 50 | return 0; |
51 | } | 51 | } |
52 | 52 | ||
53 | #endif /* CONFIG_PCI_IOV */ | 53 | #endif /* CONFIG_PCI_ATS */ |
54 | 54 | ||
55 | #ifdef CONFIG_PCI_PRI | 55 | #ifdef CONFIG_PCI_PRI |
56 | 56 | ||
diff --git a/include/linux/pci.h b/include/linux/pci.h index 337df0d5d5f7..7cda65b5f798 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -338,7 +338,7 @@ struct pci_dev { | |||
338 | struct list_head msi_list; | 338 | struct list_head msi_list; |
339 | #endif | 339 | #endif |
340 | struct pci_vpd *vpd; | 340 | struct pci_vpd *vpd; |
341 | #ifdef CONFIG_PCI_IOV | 341 | #ifdef CONFIG_PCI_ATS |
342 | union { | 342 | union { |
343 | struct pci_sriov *sriov; /* SR-IOV capability related */ | 343 | struct pci_sriov *sriov; /* SR-IOV capability related */ |
344 | struct pci_dev *physfn; /* the PF this VF is associated with */ | 344 | struct pci_dev *physfn; /* the PF this VF is associated with */ |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 3fdf251389de..2aaee0ca9da8 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -517,8 +517,12 @@ | |||
517 | #define PCI_DEVICE_ID_AMD_11H_NB_DRAM 0x1302 | 517 | #define PCI_DEVICE_ID_AMD_11H_NB_DRAM 0x1302 |
518 | #define PCI_DEVICE_ID_AMD_11H_NB_MISC 0x1303 | 518 | #define PCI_DEVICE_ID_AMD_11H_NB_MISC 0x1303 |
519 | #define PCI_DEVICE_ID_AMD_11H_NB_LINK 0x1304 | 519 | #define PCI_DEVICE_ID_AMD_11H_NB_LINK 0x1304 |
520 | #define PCI_DEVICE_ID_AMD_15H_NB_F0 0x1600 | ||
521 | #define PCI_DEVICE_ID_AMD_15H_NB_F1 0x1601 | ||
522 | #define PCI_DEVICE_ID_AMD_15H_NB_F2 0x1602 | ||
520 | #define PCI_DEVICE_ID_AMD_15H_NB_F3 0x1603 | 523 | #define PCI_DEVICE_ID_AMD_15H_NB_F3 0x1603 |
521 | #define PCI_DEVICE_ID_AMD_15H_NB_F4 0x1604 | 524 | #define PCI_DEVICE_ID_AMD_15H_NB_F4 0x1604 |
525 | #define PCI_DEVICE_ID_AMD_15H_NB_F5 0x1605 | ||
522 | #define PCI_DEVICE_ID_AMD_CNB17H_F3 0x1703 | 526 | #define PCI_DEVICE_ID_AMD_CNB17H_F3 0x1703 |
523 | #define PCI_DEVICE_ID_AMD_LANCE 0x2000 | 527 | #define PCI_DEVICE_ID_AMD_LANCE 0x2000 |
524 | #define PCI_DEVICE_ID_AMD_LANCE_HOME 0x2001 | 528 | #define PCI_DEVICE_ID_AMD_LANCE_HOME 0x2001 |
@@ -2405,6 +2409,8 @@ | |||
2405 | 2409 | ||
2406 | #define PCI_VENDOR_ID_AZWAVE 0x1a3b | 2410 | #define PCI_VENDOR_ID_AZWAVE 0x1a3b |
2407 | 2411 | ||
2412 | #define PCI_VENDOR_ID_ASMEDIA 0x1b21 | ||
2413 | |||
2408 | #define PCI_VENDOR_ID_TEKRAM 0x1de1 | 2414 | #define PCI_VENDOR_ID_TEKRAM 0x1de1 |
2409 | #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29 | 2415 | #define PCI_DEVICE_ID_TEKRAM_DC290 0xdc29 |
2410 | 2416 | ||
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 1e9ebe5e0091..b1f89122bf6a 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h | |||
@@ -822,6 +822,7 @@ struct perf_event { | |||
822 | int mmap_locked; | 822 | int mmap_locked; |
823 | struct user_struct *mmap_user; | 823 | struct user_struct *mmap_user; |
824 | struct ring_buffer *rb; | 824 | struct ring_buffer *rb; |
825 | struct list_head rb_entry; | ||
825 | 826 | ||
826 | /* poll related */ | 827 | /* poll related */ |
827 | wait_queue_head_t waitq; | 828 | wait_queue_head_t waitq; |
diff --git a/include/linux/pinctrl/pinctrl.h b/include/linux/pinctrl/pinctrl.h index 3605e947fa90..04c011038f32 100644 --- a/include/linux/pinctrl/pinctrl.h +++ b/include/linux/pinctrl/pinctrl.h | |||
@@ -121,6 +121,7 @@ extern const char *pinctrl_dev_get_name(struct pinctrl_dev *pctldev); | |||
121 | extern void *pinctrl_dev_get_drvdata(struct pinctrl_dev *pctldev); | 121 | extern void *pinctrl_dev_get_drvdata(struct pinctrl_dev *pctldev); |
122 | #else | 122 | #else |
123 | 123 | ||
124 | struct pinctrl_dev; | ||
124 | 125 | ||
125 | /* Sufficiently stupid default function when pinctrl is not in use */ | 126 | /* Sufficiently stupid default function when pinctrl is not in use */ |
126 | static inline bool pin_is_valid(struct pinctrl_dev *pctldev, int pin) | 127 | static inline bool pin_is_valid(struct pinctrl_dev *pctldev, int pin) |
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h index c5336705921f..7281d5acf2f9 100644 --- a/include/linux/pkt_sched.h +++ b/include/linux/pkt_sched.h | |||
@@ -30,7 +30,7 @@ | |||
30 | */ | 30 | */ |
31 | 31 | ||
32 | struct tc_stats { | 32 | struct tc_stats { |
33 | __u64 bytes; /* NUmber of enqueues bytes */ | 33 | __u64 bytes; /* Number of enqueued bytes */ |
34 | __u32 packets; /* Number of enqueued packets */ | 34 | __u32 packets; /* Number of enqueued packets */ |
35 | __u32 drops; /* Packets dropped because of lack of resources */ | 35 | __u32 drops; /* Packets dropped because of lack of resources */ |
36 | __u32 overlimits; /* Number of throttle events when this | 36 | __u32 overlimits; /* Number of throttle events when this |
@@ -297,7 +297,7 @@ struct tc_htb_glob { | |||
297 | __u32 debug; /* debug flags */ | 297 | __u32 debug; /* debug flags */ |
298 | 298 | ||
299 | /* stats */ | 299 | /* stats */ |
300 | __u32 direct_pkts; /* count of non shapped packets */ | 300 | __u32 direct_pkts; /* count of non shaped packets */ |
301 | }; | 301 | }; |
302 | enum { | 302 | enum { |
303 | TCA_HTB_UNSPEC, | 303 | TCA_HTB_UNSPEC, |
@@ -503,7 +503,7 @@ enum { | |||
503 | }; | 503 | }; |
504 | #define NETEM_LOSS_MAX (__NETEM_LOSS_MAX - 1) | 504 | #define NETEM_LOSS_MAX (__NETEM_LOSS_MAX - 1) |
505 | 505 | ||
506 | /* State transition probablities for 4 state model */ | 506 | /* State transition probabilities for 4 state model */ |
507 | struct tc_netem_gimodel { | 507 | struct tc_netem_gimodel { |
508 | __u32 p13; | 508 | __u32 p13; |
509 | __u32 p31; | 509 | __u32 p31; |
diff --git a/include/linux/pm.h b/include/linux/pm.h index f15acb646813..3f3ed83a9aa5 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h | |||
@@ -54,118 +54,145 @@ typedef struct pm_message { | |||
54 | /** | 54 | /** |
55 | * struct dev_pm_ops - device PM callbacks | 55 | * struct dev_pm_ops - device PM callbacks |
56 | * | 56 | * |
57 | * Several driver power state transitions are externally visible, affecting | 57 | * Several device power state transitions are externally visible, affecting |
58 | * the state of pending I/O queues and (for drivers that touch hardware) | 58 | * the state of pending I/O queues and (for drivers that touch hardware) |
59 | * interrupts, wakeups, DMA, and other hardware state. There may also be | 59 | * interrupts, wakeups, DMA, and other hardware state. There may also be |
60 | * internal transitions to various low power modes, which are transparent | 60 | * internal transitions to various low-power modes which are transparent |
61 | * to the rest of the driver stack (such as a driver that's ON gating off | 61 | * to the rest of the driver stack (such as a driver that's ON gating off |
62 | * clocks which are not in active use). | 62 | * clocks which are not in active use). |
63 | * | 63 | * |
64 | * The externally visible transitions are handled with the help of the following | 64 | * The externally visible transitions are handled with the help of callbacks |
65 | * callbacks included in this structure: | 65 | * included in this structure in such a way that two levels of callbacks are |
66 | * | 66 | * involved. First, the PM core executes callbacks provided by PM domains, |
67 | * @prepare: Prepare the device for the upcoming transition, but do NOT change | 67 | * device types, classes and bus types. They are the subsystem-level callbacks |
68 | * its hardware state. Prevent new children of the device from being | 68 | * supposed to execute callbacks provided by device drivers, although they may |
69 | * registered after @prepare() returns (the driver's subsystem and | 69 | * choose not to do that. If the driver callbacks are executed, they have to |
70 | * generally the rest of the kernel is supposed to prevent new calls to the | 70 | * collaborate with the subsystem-level callbacks to achieve the goals |
71 | * probe method from being made too once @prepare() has succeeded). If | 71 | * appropriate for the given system transition, given transition phase and the |
72 | * @prepare() detects a situation it cannot handle (e.g. registration of a | 72 | * subsystem the device belongs to. |
73 | * child already in progress), it may return -EAGAIN, so that the PM core | 73 | * |
74 | * can execute it once again (e.g. after the new child has been registered) | 74 | * @prepare: The principal role of this callback is to prevent new children of |
75 | * to recover from the race condition. This method is executed for all | 75 | * the device from being registered after it has returned (the driver's |
76 | * kinds of suspend transitions and is followed by one of the suspend | 76 | * subsystem and generally the rest of the kernel is supposed to prevent |
77 | * callbacks: @suspend(), @freeze(), or @poweroff(). | 77 | * new calls to the probe method from being made too once @prepare() has |
78 | * The PM core executes @prepare() for all devices before starting to | 78 | * succeeded). If @prepare() detects a situation it cannot handle (e.g. |
79 | * execute suspend callbacks for any of them, so drivers may assume all of | 79 | * registration of a child already in progress), it may return -EAGAIN, so |
80 | * the other devices to be present and functional while @prepare() is being | 80 | * that the PM core can execute it once again (e.g. after a new child has |
81 | * executed. In particular, it is safe to make GFP_KERNEL memory | 81 | * been registered) to recover from the race condition. |
82 | * allocations from within @prepare(). However, drivers may NOT assume | 82 | * This method is executed for all kinds of suspend transitions and is |
83 | * anything about the availability of the user space at that time and it | 83 | * followed by one of the suspend callbacks: @suspend(), @freeze(), or |
84 | * is not correct to request firmware from within @prepare() (it's too | 84 | * @poweroff(). The PM core executes subsystem-level @prepare() for all |
85 | * late to do that). [To work around this limitation, drivers may | 85 | * devices before starting to invoke suspend callbacks for any of them, so |
86 | * register suspend and hibernation notifiers that are executed before the | 86 | * generally devices may be assumed to be functional or to respond to |
87 | * freezing of tasks.] | 87 | * runtime resume requests while @prepare() is being executed. However, |
88 | * device drivers may NOT assume anything about the availability of user | ||
89 | * space at that time and it is NOT valid to request firmware from within | ||
90 | * @prepare() (it's too late to do that). It also is NOT valid to allocate | ||
91 | * substantial amounts of memory from @prepare() in the GFP_KERNEL mode. | ||
92 | * [To work around these limitations, drivers may register suspend and | ||
93 | * hibernation notifiers to be executed before the freezing of tasks.] | ||
88 | * | 94 | * |
89 | * @complete: Undo the changes made by @prepare(). This method is executed for | 95 | * @complete: Undo the changes made by @prepare(). This method is executed for |
90 | * all kinds of resume transitions, following one of the resume callbacks: | 96 | * all kinds of resume transitions, following one of the resume callbacks: |
91 | * @resume(), @thaw(), @restore(). Also called if the state transition | 97 | * @resume(), @thaw(), @restore(). Also called if the state transition |
92 | * fails before the driver's suspend callback (@suspend(), @freeze(), | 98 | * fails before the driver's suspend callback: @suspend(), @freeze() or |
93 | * @poweroff()) can be executed (e.g. if the suspend callback fails for one | 99 | * @poweroff(), can be executed (e.g. if the suspend callback fails for one |
94 | * of the other devices that the PM core has unsuccessfully attempted to | 100 | * of the other devices that the PM core has unsuccessfully attempted to |
95 | * suspend earlier). | 101 | * suspend earlier). |
96 | * The PM core executes @complete() after it has executed the appropriate | 102 | * The PM core executes subsystem-level @complete() after it has executed |
97 | * resume callback for all devices. | 103 | * the appropriate resume callbacks for all devices. |
98 | * | 104 | * |
99 | * @suspend: Executed before putting the system into a sleep state in which the | 105 | * @suspend: Executed before putting the system into a sleep state in which the |
100 | * contents of main memory are preserved. Quiesce the device, put it into | 106 | * contents of main memory are preserved. The exact action to perform |
101 | * a low power state appropriate for the upcoming system state (such as | 107 | * depends on the device's subsystem (PM domain, device type, class or bus |
102 | * PCI_D3hot), and enable wakeup events as appropriate. | 108 | * type), but generally the device must be quiescent after subsystem-level |
109 | * @suspend() has returned, so that it doesn't do any I/O or DMA. | ||
110 | * Subsystem-level @suspend() is executed for all devices after invoking | ||
111 | * subsystem-level @prepare() for all of them. | ||
103 | * | 112 | * |
104 | * @resume: Executed after waking the system up from a sleep state in which the | 113 | * @resume: Executed after waking the system up from a sleep state in which the |
105 | * contents of main memory were preserved. Put the device into the | 114 | * contents of main memory were preserved. The exact action to perform |
106 | * appropriate state, according to the information saved in memory by the | 115 | * depends on the device's subsystem, but generally the driver is expected |
107 | * preceding @suspend(). The driver starts working again, responding to | 116 | * to start working again, responding to hardware events and software |
108 | * hardware events and software requests. The hardware may have gone | 117 | * requests (the device itself may be left in a low-power state, waiting |
109 | * through a power-off reset, or it may have maintained state from the | 118 | * for a runtime resume to occur). The state of the device at the time its |
110 | * previous suspend() which the driver may rely on while resuming. On most | 119 | * driver's @resume() callback is run depends on the platform and subsystem |
111 | * platforms, there are no restrictions on availability of resources like | 120 | * the device belongs to. On most platforms, there are no restrictions on |
112 | * clocks during @resume(). | 121 | * availability of resources like clocks during @resume(). |
122 | * Subsystem-level @resume() is executed for all devices after invoking | ||
123 | * subsystem-level @resume_noirq() for all of them. | ||
113 | * | 124 | * |
114 | * @freeze: Hibernation-specific, executed before creating a hibernation image. | 125 | * @freeze: Hibernation-specific, executed before creating a hibernation image. |
115 | * Quiesce operations so that a consistent image can be created, but do NOT | 126 | * Analogous to @suspend(), but it should not enable the device to signal |
116 | * otherwise put the device into a low power device state and do NOT emit | 127 | * wakeup events or change its power state. The majority of subsystems |
117 | * system wakeup events. Save in main memory the device settings to be | 128 | * (with the notable exception of the PCI bus type) expect the driver-level |
118 | * used by @restore() during the subsequent resume from hibernation or by | 129 | * @freeze() to save the device settings in memory to be used by @restore() |
119 | * the subsequent @thaw(), if the creation of the image or the restoration | 130 | * during the subsequent resume from hibernation. |
120 | * of main memory contents from it fails. | 131 | * Subsystem-level @freeze() is executed for all devices after invoking |
132 | * subsystem-level @prepare() for all of them. | ||
121 | * | 133 | * |
122 | * @thaw: Hibernation-specific, executed after creating a hibernation image OR | 134 | * @thaw: Hibernation-specific, executed after creating a hibernation image OR |
123 | * if the creation of the image fails. Also executed after a failing | 135 | * if the creation of an image has failed. Also executed after a failing |
124 | * attempt to restore the contents of main memory from such an image. | 136 | * attempt to restore the contents of main memory from such an image. |
125 | * Undo the changes made by the preceding @freeze(), so the device can be | 137 | * Undo the changes made by the preceding @freeze(), so the device can be |
126 | * operated in the same way as immediately before the call to @freeze(). | 138 | * operated in the same way as immediately before the call to @freeze(). |
139 | * Subsystem-level @thaw() is executed for all devices after invoking | ||
140 | * subsystem-level @thaw_noirq() for all of them. It also may be executed | ||
141 | * directly after @freeze() in case of a transition error. | ||
127 | * | 142 | * |
128 | * @poweroff: Hibernation-specific, executed after saving a hibernation image. | 143 | * @poweroff: Hibernation-specific, executed after saving a hibernation image. |
129 | * Quiesce the device, put it into a low power state appropriate for the | 144 | * Analogous to @suspend(), but it need not save the device's settings in |
130 | * upcoming system state (such as PCI_D3hot), and enable wakeup events as | 145 | * memory. |
131 | * appropriate. | 146 | * Subsystem-level @poweroff() is executed for all devices after invoking |
147 | * subsystem-level @prepare() for all of them. | ||
132 | * | 148 | * |
133 | * @restore: Hibernation-specific, executed after restoring the contents of main | 149 | * @restore: Hibernation-specific, executed after restoring the contents of main |
134 | * memory from a hibernation image. Driver starts working again, | 150 | * memory from a hibernation image, analogous to @resume(). |
135 | * responding to hardware events and software requests. Drivers may NOT | 151 | * |
136 | * make ANY assumptions about the hardware state right prior to @restore(). | 152 | * @suspend_noirq: Complete the actions started by @suspend(). Carry out any |
137 | * On most platforms, there are no restrictions on availability of | 153 | * additional operations required for suspending the device that might be |
138 | * resources like clocks during @restore(). | 154 | * racing with its driver's interrupt handler, which is guaranteed not to |
139 | * | 155 | * run while @suspend_noirq() is being executed. |
140 | * @suspend_noirq: Complete the operations of ->suspend() by carrying out any | 156 | * It generally is expected that the device will be in a low-power state |
141 | * actions required for suspending the device that need interrupts to be | 157 | * (appropriate for the target system sleep state) after subsystem-level |
142 | * disabled | 158 | * @suspend_noirq() has returned successfully. If the device can generate |
143 | * | 159 | * system wakeup signals and is enabled to wake up the system, it should be |
144 | * @resume_noirq: Prepare for the execution of ->resume() by carrying out any | 160 | * configured to do so at that time. However, depending on the platform |
145 | * actions required for resuming the device that need interrupts to be | 161 | * and device's subsystem, @suspend() may be allowed to put the device into |
146 | * disabled | 162 | * the low-power state and configure it to generate wakeup signals, in |
147 | * | 163 | * which case it generally is not necessary to define @suspend_noirq(). |
148 | * @freeze_noirq: Complete the operations of ->freeze() by carrying out any | 164 | * |
149 | * actions required for freezing the device that need interrupts to be | 165 | * @resume_noirq: Prepare for the execution of @resume() by carrying out any |
150 | * disabled | 166 | * operations required for resuming the device that might be racing with |
151 | * | 167 | * its driver's interrupt handler, which is guaranteed not to run while |
152 | * @thaw_noirq: Prepare for the execution of ->thaw() by carrying out any | 168 | * @resume_noirq() is being executed. |
153 | * actions required for thawing the device that need interrupts to be | 169 | * |
154 | * disabled | 170 | * @freeze_noirq: Complete the actions started by @freeze(). Carry out any |
155 | * | 171 | * additional operations required for freezing the device that might be |
156 | * @poweroff_noirq: Complete the operations of ->poweroff() by carrying out any | 172 | * racing with its driver's interrupt handler, which is guaranteed not to |
157 | * actions required for handling the device that need interrupts to be | 173 | * run while @freeze_noirq() is being executed. |
158 | * disabled | 174 | * The power state of the device should not be changed by either @freeze() |
159 | * | 175 | * or @freeze_noirq() and it should not be configured to signal system |
160 | * @restore_noirq: Prepare for the execution of ->restore() by carrying out any | 176 | * wakeup by any of these callbacks. |
161 | * actions required for restoring the operations of the device that need | 177 | * |
162 | * interrupts to be disabled | 178 | * @thaw_noirq: Prepare for the execution of @thaw() by carrying out any |
179 | * operations required for thawing the device that might be racing with its | ||
180 | * driver's interrupt handler, which is guaranteed not to run while | ||
181 | * @thaw_noirq() is being executed. | ||
182 | * | ||
183 | * @poweroff_noirq: Complete the actions started by @poweroff(). Analogous to | ||
184 | * @suspend_noirq(), but it need not save the device's settings in memory. | ||
185 | * | ||
186 | * @restore_noirq: Prepare for the execution of @restore() by carrying out any | ||
187 | * operations required for thawing the device that might be racing with its | ||
188 | * driver's interrupt handler, which is guaranteed not to run while | ||
189 | * @restore_noirq() is being executed. Analogous to @resume_noirq(). | ||
163 | * | 190 | * |
164 | * All of the above callbacks, except for @complete(), return error codes. | 191 | * All of the above callbacks, except for @complete(), return error codes. |
165 | * However, the error codes returned by the resume operations, @resume(), | 192 | * However, the error codes returned by the resume operations, @resume(), |
166 | * @thaw(), @restore(), @resume_noirq(), @thaw_noirq(), and @restore_noirq() do | 193 | * @thaw(), @restore(), @resume_noirq(), @thaw_noirq(), and @restore_noirq(), do |
167 | * not cause the PM core to abort the resume transition during which they are | 194 | * not cause the PM core to abort the resume transition during which they are |
168 | * returned. The error codes returned in that cases are only printed by the PM | 195 | * returned. The error codes returned in those cases are only printed by the PM |
169 | * core to the system logs for debugging purposes. Still, it is recommended | 196 | * core to the system logs for debugging purposes. Still, it is recommended |
170 | * that drivers only return error codes from their resume methods in case of an | 197 | * that drivers only return error codes from their resume methods in case of an |
171 | * unrecoverable failure (i.e. when the device being handled refuses to resume | 198 | * unrecoverable failure (i.e. when the device being handled refuses to resume |
@@ -174,31 +201,43 @@ typedef struct pm_message { | |||
174 | * their children. | 201 | * their children. |
175 | * | 202 | * |
176 | * It is allowed to unregister devices while the above callbacks are being | 203 | * It is allowed to unregister devices while the above callbacks are being |
177 | * executed. However, it is not allowed to unregister a device from within any | 204 | * executed. However, a callback routine must NOT try to unregister the device |
178 | * of its own callbacks. | 205 | * it was called for, although it may unregister children of that device (for |
206 | * example, if it detects that a child was unplugged while the system was | ||
207 | * asleep). | ||
208 | * | ||
209 | * Refer to Documentation/power/devices.txt for more information about the role | ||
210 | * of the above callbacks in the system suspend process. | ||
179 | * | 211 | * |
180 | * There also are the following callbacks related to run-time power management | 212 | * There also are callbacks related to runtime power management of devices. |
181 | * of devices: | 213 | * Again, these callbacks are executed by the PM core only for subsystems |
214 | * (PM domains, device types, classes and bus types) and the subsystem-level | ||
215 | * callbacks are supposed to invoke the driver callbacks. Moreover, the exact | ||
216 | * actions to be performed by a device driver's callbacks generally depend on | ||
217 | * the platform and subsystem the device belongs to. | ||
182 | * | 218 | * |
183 | * @runtime_suspend: Prepare the device for a condition in which it won't be | 219 | * @runtime_suspend: Prepare the device for a condition in which it won't be |
184 | * able to communicate with the CPU(s) and RAM due to power management. | 220 | * able to communicate with the CPU(s) and RAM due to power management. |
185 | * This need not mean that the device should be put into a low power state. | 221 | * This need not mean that the device should be put into a low-power state. |
186 | * For example, if the device is behind a link which is about to be turned | 222 | * For example, if the device is behind a link which is about to be turned |
187 | * off, the device may remain at full power. If the device does go to low | 223 | * off, the device may remain at full power. If the device does go to low |
188 | * power and is capable of generating run-time wake-up events, remote | 224 | * power and is capable of generating runtime wakeup events, remote wakeup |
189 | * wake-up (i.e., a hardware mechanism allowing the device to request a | 225 | * (i.e., a hardware mechanism allowing the device to request a change of |
190 | * change of its power state via a wake-up event, such as PCI PME) should | 226 | * its power state via an interrupt) should be enabled for it. |
191 | * be enabled for it. | ||
192 | * | 227 | * |
193 | * @runtime_resume: Put the device into the fully active state in response to a | 228 | * @runtime_resume: Put the device into the fully active state in response to a |
194 | * wake-up event generated by hardware or at the request of software. If | 229 | * wakeup event generated by hardware or at the request of software. If |
195 | * necessary, put the device into the full power state and restore its | 230 | * necessary, put the device into the full-power state and restore its |
196 | * registers, so that it is fully operational. | 231 | * registers, so that it is fully operational. |
197 | * | 232 | * |
198 | * @runtime_idle: Device appears to be inactive and it might be put into a low | 233 | * @runtime_idle: Device appears to be inactive and it might be put into a |
199 | * power state if all of the necessary conditions are satisfied. Check | 234 | * low-power state if all of the necessary conditions are satisfied. Check |
200 | * these conditions and handle the device as appropriate, possibly queueing | 235 | * these conditions and handle the device as appropriate, possibly queueing |
201 | * a suspend request for it. The return value is ignored by the PM core. | 236 | * a suspend request for it. The return value is ignored by the PM core. |
237 | * | ||
238 | * Refer to Documentation/power/runtime_pm.txt for more information about the | ||
239 | * role of the above callbacks in device runtime power management. | ||
240 | * | ||
202 | */ | 241 | */ |
203 | 242 | ||
204 | struct dev_pm_ops { | 243 | struct dev_pm_ops { |
@@ -447,6 +486,7 @@ struct dev_pm_info { | |||
447 | unsigned int async_suspend:1; | 486 | unsigned int async_suspend:1; |
448 | bool is_prepared:1; /* Owned by the PM core */ | 487 | bool is_prepared:1; /* Owned by the PM core */ |
449 | bool is_suspended:1; /* Ditto */ | 488 | bool is_suspended:1; /* Ditto */ |
489 | bool ignore_children:1; | ||
450 | spinlock_t lock; | 490 | spinlock_t lock; |
451 | #ifdef CONFIG_PM_SLEEP | 491 | #ifdef CONFIG_PM_SLEEP |
452 | struct list_head entry; | 492 | struct list_head entry; |
@@ -464,7 +504,6 @@ struct dev_pm_info { | |||
464 | atomic_t usage_count; | 504 | atomic_t usage_count; |
465 | atomic_t child_count; | 505 | atomic_t child_count; |
466 | unsigned int disable_depth:3; | 506 | unsigned int disable_depth:3; |
467 | unsigned int ignore_children:1; | ||
468 | unsigned int idle_notification:1; | 507 | unsigned int idle_notification:1; |
469 | unsigned int request_pending:1; | 508 | unsigned int request_pending:1; |
470 | unsigned int deferred_resume:1; | 509 | unsigned int deferred_resume:1; |
diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h index d8d903619642..d3085e72a0ee 100644 --- a/include/linux/pm_runtime.h +++ b/include/linux/pm_runtime.h | |||
@@ -52,11 +52,6 @@ static inline bool pm_children_suspended(struct device *dev) | |||
52 | || !atomic_read(&dev->power.child_count); | 52 | || !atomic_read(&dev->power.child_count); |
53 | } | 53 | } |
54 | 54 | ||
55 | static inline void pm_suspend_ignore_children(struct device *dev, bool enable) | ||
56 | { | ||
57 | dev->power.ignore_children = enable; | ||
58 | } | ||
59 | |||
60 | static inline void pm_runtime_get_noresume(struct device *dev) | 55 | static inline void pm_runtime_get_noresume(struct device *dev) |
61 | { | 56 | { |
62 | atomic_inc(&dev->power.usage_count); | 57 | atomic_inc(&dev->power.usage_count); |
@@ -130,7 +125,6 @@ static inline void pm_runtime_allow(struct device *dev) {} | |||
130 | static inline void pm_runtime_forbid(struct device *dev) {} | 125 | static inline void pm_runtime_forbid(struct device *dev) {} |
131 | 126 | ||
132 | static inline bool pm_children_suspended(struct device *dev) { return false; } | 127 | static inline bool pm_children_suspended(struct device *dev) { return false; } |
133 | static inline void pm_suspend_ignore_children(struct device *dev, bool en) {} | ||
134 | static inline void pm_runtime_get_noresume(struct device *dev) {} | 128 | static inline void pm_runtime_get_noresume(struct device *dev) {} |
135 | static inline void pm_runtime_put_noidle(struct device *dev) {} | 129 | static inline void pm_runtime_put_noidle(struct device *dev) {} |
136 | static inline bool device_run_wake(struct device *dev) { return false; } | 130 | static inline bool device_run_wake(struct device *dev) { return false; } |
diff --git a/include/linux/pstore.h b/include/linux/pstore.h index ea567321ae3c..2ca8cde5459d 100644 --- a/include/linux/pstore.h +++ b/include/linux/pstore.h | |||
@@ -35,10 +35,12 @@ struct pstore_info { | |||
35 | spinlock_t buf_lock; /* serialize access to 'buf' */ | 35 | spinlock_t buf_lock; /* serialize access to 'buf' */ |
36 | char *buf; | 36 | char *buf; |
37 | size_t bufsize; | 37 | size_t bufsize; |
38 | struct mutex read_mutex; /* serialize open/read/close */ | ||
38 | int (*open)(struct pstore_info *psi); | 39 | int (*open)(struct pstore_info *psi); |
39 | int (*close)(struct pstore_info *psi); | 40 | int (*close)(struct pstore_info *psi); |
40 | ssize_t (*read)(u64 *id, enum pstore_type_id *type, | 41 | ssize_t (*read)(u64 *id, enum pstore_type_id *type, |
41 | struct timespec *time, struct pstore_info *psi); | 42 | struct timespec *time, char **buf, |
43 | struct pstore_info *psi); | ||
42 | int (*write)(enum pstore_type_id type, u64 *id, | 44 | int (*write)(enum pstore_type_id type, u64 *id, |
43 | unsigned int part, size_t size, struct pstore_info *psi); | 45 | unsigned int part, size_t size, struct pstore_info *psi); |
44 | int (*erase)(enum pstore_type_id type, u64 id, | 46 | int (*erase)(enum pstore_type_id type, u64 id, |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 68daf4f27e2c..1c4f3e9b9bc5 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1521,7 +1521,6 @@ struct task_struct { | |||
1521 | #ifdef CONFIG_FAULT_INJECTION | 1521 | #ifdef CONFIG_FAULT_INJECTION |
1522 | int make_it_fail; | 1522 | int make_it_fail; |
1523 | #endif | 1523 | #endif |
1524 | struct prop_local_single dirties; | ||
1525 | /* | 1524 | /* |
1526 | * when (nr_dirtied >= nr_dirtied_pause), it's time to call | 1525 | * when (nr_dirtied >= nr_dirtied_pause), it's time to call |
1527 | * balance_dirty_pages() for some dirty throttling pause | 1526 | * balance_dirty_pages() for some dirty throttling pause |
diff --git a/include/linux/serial.h b/include/linux/serial.h index 97ff8e27a6cc..3d86517fe7d5 100644 --- a/include/linux/serial.h +++ b/include/linux/serial.h | |||
@@ -207,13 +207,15 @@ struct serial_icounter_struct { | |||
207 | 207 | ||
208 | struct serial_rs485 { | 208 | struct serial_rs485 { |
209 | __u32 flags; /* RS485 feature flags */ | 209 | __u32 flags; /* RS485 feature flags */ |
210 | #define SER_RS485_ENABLED (1 << 0) | 210 | #define SER_RS485_ENABLED (1 << 0) /* If enabled */ |
211 | #define SER_RS485_RTS_ON_SEND (1 << 1) | 211 | #define SER_RS485_RTS_ON_SEND (1 << 1) /* Logical level for |
212 | #define SER_RS485_RTS_AFTER_SEND (1 << 2) | 212 | RTS pin when |
213 | #define SER_RS485_RTS_BEFORE_SEND (1 << 3) | 213 | sending */ |
214 | #define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for | ||
215 | RTS pin after sent*/ | ||
214 | #define SER_RS485_RX_DURING_TX (1 << 4) | 216 | #define SER_RS485_RX_DURING_TX (1 << 4) |
215 | __u32 delay_rts_before_send; /* Milliseconds */ | 217 | __u32 delay_rts_before_send; /* Delay before send (milliseconds) */ |
216 | __u32 delay_rts_after_send; /* Milliseconds */ | 218 | __u32 delay_rts_after_send; /* Delay after send (milliseconds) */ |
217 | __u32 padding[5]; /* Memory is cheap, new structs | 219 | __u32 padding[5]; /* Memory is cheap, new structs |
218 | are a royal PITA .. */ | 220 | are a royal PITA .. */ |
219 | }; | 221 | }; |
diff --git a/include/linux/serial_sci.h b/include/linux/serial_sci.h index 0efa1f10bc2b..369273a52679 100644 --- a/include/linux/serial_sci.h +++ b/include/linux/serial_sci.h | |||
@@ -67,6 +67,7 @@ enum { | |||
67 | SCIx_IRDA_REGTYPE, | 67 | SCIx_IRDA_REGTYPE, |
68 | SCIx_SCIFA_REGTYPE, | 68 | SCIx_SCIFA_REGTYPE, |
69 | SCIx_SCIFB_REGTYPE, | 69 | SCIx_SCIFB_REGTYPE, |
70 | SCIx_SH2_SCIF_FIFODATA_REGTYPE, | ||
70 | SCIx_SH3_SCIF_REGTYPE, | 71 | SCIx_SH3_SCIF_REGTYPE, |
71 | SCIx_SH4_SCIF_REGTYPE, | 72 | SCIx_SH4_SCIF_REGTYPE, |
72 | SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE, | 73 | SCIx_SH4_SCIF_NO_SCSPTR_REGTYPE, |
diff --git a/include/linux/sh_clk.h b/include/linux/sh_clk.h index 3ccf18648d0a..a20831cf336a 100644 --- a/include/linux/sh_clk.h +++ b/include/linux/sh_clk.h | |||
@@ -52,7 +52,6 @@ struct clk { | |||
52 | 52 | ||
53 | unsigned long arch_flags; | 53 | unsigned long arch_flags; |
54 | void *priv; | 54 | void *priv; |
55 | struct dentry *dentry; | ||
56 | struct clk_mapping *mapping; | 55 | struct clk_mapping *mapping; |
57 | struct cpufreq_frequency_table *freq_table; | 56 | struct cpufreq_frequency_table *freq_table; |
58 | unsigned int nr_freqs; | 57 | unsigned int nr_freqs; |
@@ -94,6 +93,9 @@ int clk_rate_table_find(struct clk *clk, | |||
94 | long clk_rate_div_range_round(struct clk *clk, unsigned int div_min, | 93 | long clk_rate_div_range_round(struct clk *clk, unsigned int div_min, |
95 | unsigned int div_max, unsigned long rate); | 94 | unsigned int div_max, unsigned long rate); |
96 | 95 | ||
96 | long clk_rate_mult_range_round(struct clk *clk, unsigned int mult_min, | ||
97 | unsigned int mult_max, unsigned long rate); | ||
98 | |||
97 | long clk_round_parent(struct clk *clk, unsigned long target, | 99 | long clk_round_parent(struct clk *clk, unsigned long target, |
98 | unsigned long *best_freq, unsigned long *parent_freq, | 100 | unsigned long *best_freq, unsigned long *parent_freq, |
99 | unsigned int div_min, unsigned int div_max); | 101 | unsigned int div_min, unsigned int div_max); |
diff --git a/include/linux/sh_pfc.h b/include/linux/sh_pfc.h index bc8c9208f7e2..8446789216e5 100644 --- a/include/linux/sh_pfc.h +++ b/include/linux/sh_pfc.h | |||
@@ -104,4 +104,80 @@ struct pinmux_info { | |||
104 | int register_pinmux(struct pinmux_info *pip); | 104 | int register_pinmux(struct pinmux_info *pip); |
105 | int unregister_pinmux(struct pinmux_info *pip); | 105 | int unregister_pinmux(struct pinmux_info *pip); |
106 | 106 | ||
107 | /* helper macro for port */ | ||
108 | #define PORT_1(fn, pfx, sfx) fn(pfx, sfx) | ||
109 | |||
110 | #define PORT_10(fn, pfx, sfx) \ | ||
111 | PORT_1(fn, pfx##0, sfx), PORT_1(fn, pfx##1, sfx), \ | ||
112 | PORT_1(fn, pfx##2, sfx), PORT_1(fn, pfx##3, sfx), \ | ||
113 | PORT_1(fn, pfx##4, sfx), PORT_1(fn, pfx##5, sfx), \ | ||
114 | PORT_1(fn, pfx##6, sfx), PORT_1(fn, pfx##7, sfx), \ | ||
115 | PORT_1(fn, pfx##8, sfx), PORT_1(fn, pfx##9, sfx) | ||
116 | |||
117 | #define PORT_90(fn, pfx, sfx) \ | ||
118 | PORT_10(fn, pfx##1, sfx), PORT_10(fn, pfx##2, sfx), \ | ||
119 | PORT_10(fn, pfx##3, sfx), PORT_10(fn, pfx##4, sfx), \ | ||
120 | PORT_10(fn, pfx##5, sfx), PORT_10(fn, pfx##6, sfx), \ | ||
121 | PORT_10(fn, pfx##7, sfx), PORT_10(fn, pfx##8, sfx), \ | ||
122 | PORT_10(fn, pfx##9, sfx) | ||
123 | |||
124 | #define _PORT_ALL(pfx, sfx) pfx##_##sfx | ||
125 | #define _GPIO_PORT(pfx, sfx) PINMUX_GPIO(GPIO_PORT##pfx, PORT##pfx##_DATA) | ||
126 | #define PORT_ALL(str) CPU_ALL_PORT(_PORT_ALL, PORT, str) | ||
127 | #define GPIO_PORT_ALL() CPU_ALL_PORT(_GPIO_PORT, , unused) | ||
128 | #define GPIO_FN(str) PINMUX_GPIO(GPIO_FN_##str, str##_MARK) | ||
129 | |||
130 | /* helper macro for pinmux_enum_t */ | ||
131 | #define PORT_DATA_I(nr) \ | ||
132 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_IN) | ||
133 | |||
134 | #define PORT_DATA_I_PD(nr) \ | ||
135 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, \ | ||
136 | PORT##nr##_IN, PORT##nr##_IN_PD) | ||
137 | |||
138 | #define PORT_DATA_I_PU(nr) \ | ||
139 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, \ | ||
140 | PORT##nr##_IN, PORT##nr##_IN_PU) | ||
141 | |||
142 | #define PORT_DATA_I_PU_PD(nr) \ | ||
143 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, \ | ||
144 | PORT##nr##_IN, PORT##nr##_IN_PD, PORT##nr##_IN_PU) | ||
145 | |||
146 | #define PORT_DATA_O(nr) \ | ||
147 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_OUT) | ||
148 | |||
149 | #define PORT_DATA_IO(nr) \ | ||
150 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_OUT, \ | ||
151 | PORT##nr##_IN) | ||
152 | |||
153 | #define PORT_DATA_IO_PD(nr) \ | ||
154 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_OUT, \ | ||
155 | PORT##nr##_IN, PORT##nr##_IN_PD) | ||
156 | |||
157 | #define PORT_DATA_IO_PU(nr) \ | ||
158 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_OUT, \ | ||
159 | PORT##nr##_IN, PORT##nr##_IN_PU) | ||
160 | |||
161 | #define PORT_DATA_IO_PU_PD(nr) \ | ||
162 | PINMUX_DATA(PORT##nr##_DATA, PORT##nr##_FN0, PORT##nr##_OUT, \ | ||
163 | PORT##nr##_IN, PORT##nr##_IN_PD, PORT##nr##_IN_PU) | ||
164 | |||
165 | /* helper macro for top 4 bits in PORTnCR */ | ||
166 | #define _PCRH(in, in_pd, in_pu, out) \ | ||
167 | 0, (out), (in), 0, \ | ||
168 | 0, 0, 0, 0, \ | ||
169 | 0, 0, (in_pd), 0, \ | ||
170 | 0, 0, (in_pu), 0 | ||
171 | |||
172 | #define PORTCR(nr, reg) \ | ||
173 | { \ | ||
174 | PINMUX_CFG_REG("PORT" nr "CR", reg, 8, 4) { \ | ||
175 | _PCRH(PORT##nr##_IN, PORT##nr##_IN_PD, \ | ||
176 | PORT##nr##_IN_PU, PORT##nr##_OUT), \ | ||
177 | PORT##nr##_FN0, PORT##nr##_FN1, \ | ||
178 | PORT##nr##_FN2, PORT##nr##_FN3, \ | ||
179 | PORT##nr##_FN4, PORT##nr##_FN5, \ | ||
180 | PORT##nr##_FN6, PORT##nr##_FN7 } \ | ||
181 | } | ||
182 | |||
107 | #endif /* __SH_PFC_H */ | 183 | #endif /* __SH_PFC_H */ |
diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h index a83833a1f7a2..07ceb97d53fa 100644 --- a/include/linux/shrinker.h +++ b/include/linux/shrinker.h | |||
@@ -35,7 +35,7 @@ struct shrinker { | |||
35 | 35 | ||
36 | /* These are for internal use */ | 36 | /* These are for internal use */ |
37 | struct list_head list; | 37 | struct list_head list; |
38 | long nr; /* objs pending delete */ | 38 | atomic_long_t nr_in_batch; /* objs pending delete */ |
39 | }; | 39 | }; |
40 | #define DEFAULT_SEEKS 2 /* A good number if you don't know better. */ | 40 | #define DEFAULT_SEEKS 2 /* A good number if you don't know better. */ |
41 | extern void register_shrinker(struct shrinker *); | 41 | extern void register_shrinker(struct shrinker *); |
diff --git a/include/linux/sigma.h b/include/linux/sigma.h index e2accb3164d8..d0de882c0d96 100644 --- a/include/linux/sigma.h +++ b/include/linux/sigma.h | |||
@@ -24,7 +24,7 @@ struct sigma_firmware { | |||
24 | struct sigma_firmware_header { | 24 | struct sigma_firmware_header { |
25 | unsigned char magic[7]; | 25 | unsigned char magic[7]; |
26 | u8 version; | 26 | u8 version; |
27 | u32 crc; | 27 | __le32 crc; |
28 | }; | 28 | }; |
29 | 29 | ||
30 | enum { | 30 | enum { |
@@ -40,19 +40,14 @@ enum { | |||
40 | struct sigma_action { | 40 | struct sigma_action { |
41 | u8 instr; | 41 | u8 instr; |
42 | u8 len_hi; | 42 | u8 len_hi; |
43 | u16 len; | 43 | __le16 len; |
44 | u16 addr; | 44 | __be16 addr; |
45 | unsigned char payload[]; | 45 | unsigned char payload[]; |
46 | }; | 46 | }; |
47 | 47 | ||
48 | static inline u32 sigma_action_len(struct sigma_action *sa) | 48 | static inline u32 sigma_action_len(struct sigma_action *sa) |
49 | { | 49 | { |
50 | return (sa->len_hi << 16) | sa->len; | 50 | return (sa->len_hi << 16) | le16_to_cpu(sa->len); |
51 | } | ||
52 | |||
53 | static inline size_t sigma_action_size(struct sigma_action *sa, u32 payload_len) | ||
54 | { | ||
55 | return sizeof(*sa) + payload_len + (payload_len % 2); | ||
56 | } | 51 | } |
57 | 52 | ||
58 | extern int process_sigma_firmware(struct i2c_client *client, const char *name); | 53 | extern int process_sigma_firmware(struct i2c_client *client, const char *name); |
diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h index add4790b21fe..e9e72bda1b72 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h | |||
@@ -85,6 +85,8 @@ | |||
85 | * @reset: reset the device | 85 | * @reset: reset the device |
86 | * vdev: the virtio device | 86 | * vdev: the virtio device |
87 | * After this, status and feature negotiation must be done again | 87 | * After this, status and feature negotiation must be done again |
88 | * Device must not be reset from its vq/config callbacks, or in | ||
89 | * parallel with being added/removed. | ||
88 | * @find_vqs: find virtqueues and instantiate them. | 90 | * @find_vqs: find virtqueues and instantiate them. |
89 | * vdev: the virtio_device | 91 | * vdev: the virtio_device |
90 | * nvqs: the number of virtqueues to find | 92 | * nvqs: the number of virtqueues to find |
diff --git a/include/linux/virtio_mmio.h b/include/linux/virtio_mmio.h index 27c7edefbc86..5c7b6f0daef8 100644 --- a/include/linux/virtio_mmio.h +++ b/include/linux/virtio_mmio.h | |||
@@ -63,7 +63,7 @@ | |||
63 | #define VIRTIO_MMIO_GUEST_FEATURES 0x020 | 63 | #define VIRTIO_MMIO_GUEST_FEATURES 0x020 |
64 | 64 | ||
65 | /* Activated features set selector - Write Only */ | 65 | /* Activated features set selector - Write Only */ |
66 | #define VIRTIO_MMIO_GUEST_FEATURES_SET 0x024 | 66 | #define VIRTIO_MMIO_GUEST_FEATURES_SEL 0x024 |
67 | 67 | ||
68 | /* Guest's memory page size in bytes - Write Only */ | 68 | /* Guest's memory page size in bytes - Write Only */ |
69 | #define VIRTIO_MMIO_GUEST_PAGE_SIZE 0x028 | 69 | #define VIRTIO_MMIO_GUEST_PAGE_SIZE 0x028 |
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index 687fb11e2010..4bde182fcf93 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h | |||
@@ -119,7 +119,7 @@ unmap_kernel_range(unsigned long addr, unsigned long size) | |||
119 | #endif | 119 | #endif |
120 | 120 | ||
121 | /* Allocate/destroy a 'vmalloc' VM area. */ | 121 | /* Allocate/destroy a 'vmalloc' VM area. */ |
122 | extern struct vm_struct *alloc_vm_area(size_t size); | 122 | extern struct vm_struct *alloc_vm_area(size_t size, pte_t **ptes); |
123 | extern void free_vm_area(struct vm_struct *area); | 123 | extern void free_vm_area(struct vm_struct *area); |
124 | 124 | ||
125 | /* for /dev/kmem */ | 125 | /* for /dev/kmem */ |
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index ab90ae0970a6..6cc18f371675 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h | |||
@@ -39,8 +39,11 @@ | |||
39 | #define L2CAP_DEFAULT_ACK_TO 200 | 39 | #define L2CAP_DEFAULT_ACK_TO 200 |
40 | #define L2CAP_LE_DEFAULT_MTU 23 | 40 | #define L2CAP_LE_DEFAULT_MTU 23 |
41 | 41 | ||
42 | #define L2CAP_CONN_TIMEOUT (40000) /* 40 seconds */ | 42 | #define L2CAP_DISC_TIMEOUT (100) |
43 | #define L2CAP_INFO_TIMEOUT (4000) /* 4 seconds */ | 43 | #define L2CAP_DISC_REJ_TIMEOUT (5000) /* 5 seconds */ |
44 | #define L2CAP_ENC_TIMEOUT (5000) /* 5 seconds */ | ||
45 | #define L2CAP_CONN_TIMEOUT (40000) /* 40 seconds */ | ||
46 | #define L2CAP_INFO_TIMEOUT (4000) /* 4 seconds */ | ||
44 | 47 | ||
45 | /* L2CAP socket address */ | 48 | /* L2CAP socket address */ |
46 | struct sockaddr_l2 { | 49 | struct sockaddr_l2 { |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 92cf1c2c30c9..95852e36713b 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -456,6 +456,9 @@ enum station_parameters_apply_mask { | |||
456 | * as the AC bitmap in the QoS info field | 456 | * as the AC bitmap in the QoS info field |
457 | * @max_sp: max Service Period. same format as the MAX_SP in the | 457 | * @max_sp: max Service Period. same format as the MAX_SP in the |
458 | * QoS info field (but already shifted down) | 458 | * QoS info field (but already shifted down) |
459 | * @sta_modify_mask: bitmap indicating which parameters changed | ||
460 | * (for those that don't have a natural "no change" value), | ||
461 | * see &enum station_parameters_apply_mask | ||
459 | */ | 462 | */ |
460 | struct station_parameters { | 463 | struct station_parameters { |
461 | u8 *supported_rates; | 464 | u8 *supported_rates; |
@@ -615,6 +618,7 @@ struct sta_bss_parameters { | |||
615 | * user space MLME/SME implementation. The information is provided for | 618 | * user space MLME/SME implementation. The information is provided for |
616 | * the cfg80211_new_sta() calls to notify user space of the IEs. | 619 | * the cfg80211_new_sta() calls to notify user space of the IEs. |
617 | * @assoc_req_ies_len: Length of assoc_req_ies buffer in octets. | 620 | * @assoc_req_ies_len: Length of assoc_req_ies buffer in octets. |
621 | * @sta_flags: station flags mask & values | ||
618 | */ | 622 | */ |
619 | struct station_info { | 623 | struct station_info { |
620 | u32 filled; | 624 | u32 filled; |
diff --git a/include/net/dst.h b/include/net/dst.h index 4fb6c4381791..6faec1a60216 100644 --- a/include/net/dst.h +++ b/include/net/dst.h | |||
@@ -205,12 +205,7 @@ dst_feature(const struct dst_entry *dst, u32 feature) | |||
205 | 205 | ||
206 | static inline u32 dst_mtu(const struct dst_entry *dst) | 206 | static inline u32 dst_mtu(const struct dst_entry *dst) |
207 | { | 207 | { |
208 | u32 mtu = dst_metric_raw(dst, RTAX_MTU); | 208 | return dst->ops->mtu(dst); |
209 | |||
210 | if (!mtu) | ||
211 | mtu = dst->ops->default_mtu(dst); | ||
212 | |||
213 | return mtu; | ||
214 | } | 209 | } |
215 | 210 | ||
216 | /* RTT metrics are stored in milliseconds for user ABI, but used as jiffies */ | 211 | /* RTT metrics are stored in milliseconds for user ABI, but used as jiffies */ |
diff --git a/include/net/dst_ops.h b/include/net/dst_ops.h index 9adb99845a56..e1c2ee0eef47 100644 --- a/include/net/dst_ops.h +++ b/include/net/dst_ops.h | |||
@@ -17,7 +17,7 @@ struct dst_ops { | |||
17 | int (*gc)(struct dst_ops *ops); | 17 | int (*gc)(struct dst_ops *ops); |
18 | struct dst_entry * (*check)(struct dst_entry *, __u32 cookie); | 18 | struct dst_entry * (*check)(struct dst_entry *, __u32 cookie); |
19 | unsigned int (*default_advmss)(const struct dst_entry *); | 19 | unsigned int (*default_advmss)(const struct dst_entry *); |
20 | unsigned int (*default_mtu)(const struct dst_entry *); | 20 | unsigned int (*mtu)(const struct dst_entry *); |
21 | u32 * (*cow_metrics)(struct dst_entry *, unsigned long); | 21 | u32 * (*cow_metrics)(struct dst_entry *, unsigned long); |
22 | void (*destroy)(struct dst_entry *); | 22 | void (*destroy)(struct dst_entry *); |
23 | void (*ifdown)(struct dst_entry *, | 23 | void (*ifdown)(struct dst_entry *, |
diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h index b897d6e6d0a5..f941964a9931 100644 --- a/include/net/inet_sock.h +++ b/include/net/inet_sock.h | |||
@@ -31,6 +31,7 @@ | |||
31 | /** struct ip_options - IP Options | 31 | /** struct ip_options - IP Options |
32 | * | 32 | * |
33 | * @faddr - Saved first hop address | 33 | * @faddr - Saved first hop address |
34 | * @nexthop - Saved nexthop address in LSRR and SSRR | ||
34 | * @is_data - Options in __data, rather than skb | 35 | * @is_data - Options in __data, rather than skb |
35 | * @is_strictroute - Strict source route | 36 | * @is_strictroute - Strict source route |
36 | * @srr_is_hit - Packet destination addr was our one | 37 | * @srr_is_hit - Packet destination addr was our one |
@@ -41,6 +42,7 @@ | |||
41 | */ | 42 | */ |
42 | struct ip_options { | 43 | struct ip_options { |
43 | __be32 faddr; | 44 | __be32 faddr; |
45 | __be32 nexthop; | ||
44 | unsigned char optlen; | 46 | unsigned char optlen; |
45 | unsigned char srr; | 47 | unsigned char srr; |
46 | unsigned char rr; | 48 | unsigned char rr; |
diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h index 78c83e62218f..e9ff3fc5e688 100644 --- a/include/net/inetpeer.h +++ b/include/net/inetpeer.h | |||
@@ -35,6 +35,7 @@ struct inet_peer { | |||
35 | 35 | ||
36 | u32 metrics[RTAX_MAX]; | 36 | u32 metrics[RTAX_MAX]; |
37 | u32 rate_tokens; /* rate limiting for ICMP */ | 37 | u32 rate_tokens; /* rate limiting for ICMP */ |
38 | int redirect_genid; | ||
38 | unsigned long rate_last; | 39 | unsigned long rate_last; |
39 | unsigned long pmtu_expires; | 40 | unsigned long pmtu_expires; |
40 | u32 pmtu_orig; | 41 | u32 pmtu_orig; |
diff --git a/include/net/netfilter/nf_conntrack_ecache.h b/include/net/netfilter/nf_conntrack_ecache.h index 4283508b3e18..a88fb6939387 100644 --- a/include/net/netfilter/nf_conntrack_ecache.h +++ b/include/net/netfilter/nf_conntrack_ecache.h | |||
@@ -67,18 +67,18 @@ struct nf_ct_event_notifier { | |||
67 | int (*fcn)(unsigned int events, struct nf_ct_event *item); | 67 | int (*fcn)(unsigned int events, struct nf_ct_event *item); |
68 | }; | 68 | }; |
69 | 69 | ||
70 | extern struct nf_ct_event_notifier __rcu *nf_conntrack_event_cb; | 70 | extern int nf_conntrack_register_notifier(struct net *net, struct nf_ct_event_notifier *nb); |
71 | extern int nf_conntrack_register_notifier(struct nf_ct_event_notifier *nb); | 71 | extern void nf_conntrack_unregister_notifier(struct net *net, struct nf_ct_event_notifier *nb); |
72 | extern void nf_conntrack_unregister_notifier(struct nf_ct_event_notifier *nb); | ||
73 | 72 | ||
74 | extern void nf_ct_deliver_cached_events(struct nf_conn *ct); | 73 | extern void nf_ct_deliver_cached_events(struct nf_conn *ct); |
75 | 74 | ||
76 | static inline void | 75 | static inline void |
77 | nf_conntrack_event_cache(enum ip_conntrack_events event, struct nf_conn *ct) | 76 | nf_conntrack_event_cache(enum ip_conntrack_events event, struct nf_conn *ct) |
78 | { | 77 | { |
78 | struct net *net = nf_ct_net(ct); | ||
79 | struct nf_conntrack_ecache *e; | 79 | struct nf_conntrack_ecache *e; |
80 | 80 | ||
81 | if (nf_conntrack_event_cb == NULL) | 81 | if (net->ct.nf_conntrack_event_cb == NULL) |
82 | return; | 82 | return; |
83 | 83 | ||
84 | e = nf_ct_ecache_find(ct); | 84 | e = nf_ct_ecache_find(ct); |
@@ -95,11 +95,12 @@ nf_conntrack_eventmask_report(unsigned int eventmask, | |||
95 | int report) | 95 | int report) |
96 | { | 96 | { |
97 | int ret = 0; | 97 | int ret = 0; |
98 | struct net *net = nf_ct_net(ct); | ||
98 | struct nf_ct_event_notifier *notify; | 99 | struct nf_ct_event_notifier *notify; |
99 | struct nf_conntrack_ecache *e; | 100 | struct nf_conntrack_ecache *e; |
100 | 101 | ||
101 | rcu_read_lock(); | 102 | rcu_read_lock(); |
102 | notify = rcu_dereference(nf_conntrack_event_cb); | 103 | notify = rcu_dereference(net->ct.nf_conntrack_event_cb); |
103 | if (notify == NULL) | 104 | if (notify == NULL) |
104 | goto out_unlock; | 105 | goto out_unlock; |
105 | 106 | ||
@@ -164,9 +165,8 @@ struct nf_exp_event_notifier { | |||
164 | int (*fcn)(unsigned int events, struct nf_exp_event *item); | 165 | int (*fcn)(unsigned int events, struct nf_exp_event *item); |
165 | }; | 166 | }; |
166 | 167 | ||
167 | extern struct nf_exp_event_notifier __rcu *nf_expect_event_cb; | 168 | extern int nf_ct_expect_register_notifier(struct net *net, struct nf_exp_event_notifier *nb); |
168 | extern int nf_ct_expect_register_notifier(struct nf_exp_event_notifier *nb); | 169 | extern void nf_ct_expect_unregister_notifier(struct net *net, struct nf_exp_event_notifier *nb); |
169 | extern void nf_ct_expect_unregister_notifier(struct nf_exp_event_notifier *nb); | ||
170 | 170 | ||
171 | static inline void | 171 | static inline void |
172 | nf_ct_expect_event_report(enum ip_conntrack_expect_events event, | 172 | nf_ct_expect_event_report(enum ip_conntrack_expect_events event, |
@@ -174,11 +174,12 @@ nf_ct_expect_event_report(enum ip_conntrack_expect_events event, | |||
174 | u32 pid, | 174 | u32 pid, |
175 | int report) | 175 | int report) |
176 | { | 176 | { |
177 | struct net *net = nf_ct_exp_net(exp); | ||
177 | struct nf_exp_event_notifier *notify; | 178 | struct nf_exp_event_notifier *notify; |
178 | struct nf_conntrack_ecache *e; | 179 | struct nf_conntrack_ecache *e; |
179 | 180 | ||
180 | rcu_read_lock(); | 181 | rcu_read_lock(); |
181 | notify = rcu_dereference(nf_expect_event_cb); | 182 | notify = rcu_dereference(net->ct.nf_expect_event_cb); |
182 | if (notify == NULL) | 183 | if (notify == NULL) |
183 | goto out_unlock; | 184 | goto out_unlock; |
184 | 185 | ||
diff --git a/include/net/netns/conntrack.h b/include/net/netns/conntrack.h index 0249399e51a7..7a911eca0f18 100644 --- a/include/net/netns/conntrack.h +++ b/include/net/netns/conntrack.h | |||
@@ -18,6 +18,8 @@ struct netns_ct { | |||
18 | struct hlist_nulls_head unconfirmed; | 18 | struct hlist_nulls_head unconfirmed; |
19 | struct hlist_nulls_head dying; | 19 | struct hlist_nulls_head dying; |
20 | struct ip_conntrack_stat __percpu *stat; | 20 | struct ip_conntrack_stat __percpu *stat; |
21 | struct nf_ct_event_notifier __rcu *nf_conntrack_event_cb; | ||
22 | struct nf_exp_event_notifier __rcu *nf_expect_event_cb; | ||
21 | int sysctl_events; | 23 | int sysctl_events; |
22 | unsigned int sysctl_events_retry_timeout; | 24 | unsigned int sysctl_events_retry_timeout; |
23 | int sysctl_acct; | 25 | int sysctl_acct; |
diff --git a/include/net/red.h b/include/net/red.h index 3319f16b3beb..b72a3b833936 100644 --- a/include/net/red.h +++ b/include/net/red.h | |||
@@ -116,7 +116,7 @@ struct red_parms { | |||
116 | u32 qR; /* Cached random number */ | 116 | u32 qR; /* Cached random number */ |
117 | 117 | ||
118 | unsigned long qavg; /* Average queue length: A scaled */ | 118 | unsigned long qavg; /* Average queue length: A scaled */ |
119 | psched_time_t qidlestart; /* Start of current idle period */ | 119 | ktime_t qidlestart; /* Start of current idle period */ |
120 | }; | 120 | }; |
121 | 121 | ||
122 | static inline u32 red_rmask(u8 Plog) | 122 | static inline u32 red_rmask(u8 Plog) |
@@ -148,17 +148,17 @@ static inline void red_set_parms(struct red_parms *p, | |||
148 | 148 | ||
149 | static inline int red_is_idling(struct red_parms *p) | 149 | static inline int red_is_idling(struct red_parms *p) |
150 | { | 150 | { |
151 | return p->qidlestart != PSCHED_PASTPERFECT; | 151 | return p->qidlestart.tv64 != 0; |
152 | } | 152 | } |
153 | 153 | ||
154 | static inline void red_start_of_idle_period(struct red_parms *p) | 154 | static inline void red_start_of_idle_period(struct red_parms *p) |
155 | { | 155 | { |
156 | p->qidlestart = psched_get_time(); | 156 | p->qidlestart = ktime_get(); |
157 | } | 157 | } |
158 | 158 | ||
159 | static inline void red_end_of_idle_period(struct red_parms *p) | 159 | static inline void red_end_of_idle_period(struct red_parms *p) |
160 | { | 160 | { |
161 | p->qidlestart = PSCHED_PASTPERFECT; | 161 | p->qidlestart.tv64 = 0; |
162 | } | 162 | } |
163 | 163 | ||
164 | static inline void red_restart(struct red_parms *p) | 164 | static inline void red_restart(struct red_parms *p) |
@@ -170,13 +170,10 @@ static inline void red_restart(struct red_parms *p) | |||
170 | 170 | ||
171 | static inline unsigned long red_calc_qavg_from_idle_time(struct red_parms *p) | 171 | static inline unsigned long red_calc_qavg_from_idle_time(struct red_parms *p) |
172 | { | 172 | { |
173 | psched_time_t now; | 173 | s64 delta = ktime_us_delta(ktime_get(), p->qidlestart); |
174 | long us_idle; | 174 | long us_idle = min_t(s64, delta, p->Scell_max); |
175 | int shift; | 175 | int shift; |
176 | 176 | ||
177 | now = psched_get_time(); | ||
178 | us_idle = psched_tdiff_bounded(now, p->qidlestart, p->Scell_max); | ||
179 | |||
180 | /* | 177 | /* |
181 | * The problem: ideally, average length queue recalcultion should | 178 | * The problem: ideally, average length queue recalcultion should |
182 | * be done over constant clock intervals. This is too expensive, so | 179 | * be done over constant clock intervals. This is too expensive, so |
diff --git a/include/net/route.h b/include/net/route.h index db7b3432f07c..91855d185b53 100644 --- a/include/net/route.h +++ b/include/net/route.h | |||
@@ -71,12 +71,12 @@ struct rtable { | |||
71 | struct fib_info *fi; /* for client ref to shared metrics */ | 71 | struct fib_info *fi; /* for client ref to shared metrics */ |
72 | }; | 72 | }; |
73 | 73 | ||
74 | static inline bool rt_is_input_route(struct rtable *rt) | 74 | static inline bool rt_is_input_route(const struct rtable *rt) |
75 | { | 75 | { |
76 | return rt->rt_route_iif != 0; | 76 | return rt->rt_route_iif != 0; |
77 | } | 77 | } |
78 | 78 | ||
79 | static inline bool rt_is_output_route(struct rtable *rt) | 79 | static inline bool rt_is_output_route(const struct rtable *rt) |
80 | { | 80 | { |
81 | return rt->rt_route_iif == 0; | 81 | return rt->rt_route_iif == 0; |
82 | } | 82 | } |
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h index 7f5fed3c89e1..6873c7dd9145 100644 --- a/include/target/target_core_base.h +++ b/include/target/target_core_base.h | |||
@@ -103,9 +103,10 @@ enum se_cmd_flags_table { | |||
103 | SCF_SCSI_NON_DATA_CDB = 0x00000040, | 103 | SCF_SCSI_NON_DATA_CDB = 0x00000040, |
104 | SCF_SCSI_CDB_EXCEPTION = 0x00000080, | 104 | SCF_SCSI_CDB_EXCEPTION = 0x00000080, |
105 | SCF_SCSI_RESERVATION_CONFLICT = 0x00000100, | 105 | SCF_SCSI_RESERVATION_CONFLICT = 0x00000100, |
106 | SCF_SE_CMD_FAILED = 0x00000400, | 106 | SCF_FUA = 0x00000200, |
107 | SCF_SE_LUN_CMD = 0x00000800, | 107 | SCF_SE_LUN_CMD = 0x00000800, |
108 | SCF_SE_ALLOW_EOO = 0x00001000, | 108 | SCF_SE_ALLOW_EOO = 0x00001000, |
109 | SCF_BIDI = 0x00002000, | ||
109 | SCF_SENT_CHECK_CONDITION = 0x00004000, | 110 | SCF_SENT_CHECK_CONDITION = 0x00004000, |
110 | SCF_OVERFLOW_BIT = 0x00008000, | 111 | SCF_OVERFLOW_BIT = 0x00008000, |
111 | SCF_UNDERFLOW_BIT = 0x00010000, | 112 | SCF_UNDERFLOW_BIT = 0x00010000, |
@@ -154,6 +155,7 @@ enum tcm_sense_reason_table { | |||
154 | TCM_CHECK_CONDITION_ABORT_CMD = 0x0d, | 155 | TCM_CHECK_CONDITION_ABORT_CMD = 0x0d, |
155 | TCM_CHECK_CONDITION_UNIT_ATTENTION = 0x0e, | 156 | TCM_CHECK_CONDITION_UNIT_ATTENTION = 0x0e, |
156 | TCM_CHECK_CONDITION_NOT_READY = 0x0f, | 157 | TCM_CHECK_CONDITION_NOT_READY = 0x0f, |
158 | TCM_RESERVATION_CONFLICT = 0x10, | ||
157 | }; | 159 | }; |
158 | 160 | ||
159 | struct se_obj { | 161 | struct se_obj { |
@@ -211,7 +213,6 @@ struct t10_alua_lu_gp { | |||
211 | u16 lu_gp_id; | 213 | u16 lu_gp_id; |
212 | int lu_gp_valid_id; | 214 | int lu_gp_valid_id; |
213 | u32 lu_gp_members; | 215 | u32 lu_gp_members; |
214 | atomic_t lu_gp_shutdown; | ||
215 | atomic_t lu_gp_ref_cnt; | 216 | atomic_t lu_gp_ref_cnt; |
216 | spinlock_t lu_gp_lock; | 217 | spinlock_t lu_gp_lock; |
217 | struct config_group lu_gp_group; | 218 | struct config_group lu_gp_group; |
@@ -422,11 +423,9 @@ struct se_cmd { | |||
422 | int sam_task_attr; | 423 | int sam_task_attr; |
423 | /* Transport protocol dependent state, see transport_state_table */ | 424 | /* Transport protocol dependent state, see transport_state_table */ |
424 | enum transport_state_table t_state; | 425 | enum transport_state_table t_state; |
425 | /* Transport specific error status */ | ||
426 | int transport_error_status; | ||
427 | /* Used to signal cmd->se_tfo->check_release_cmd() usage per cmd */ | 426 | /* Used to signal cmd->se_tfo->check_release_cmd() usage per cmd */ |
428 | int check_release:1; | 427 | unsigned check_release:1; |
429 | int cmd_wait_set:1; | 428 | unsigned cmd_wait_set:1; |
430 | /* See se_cmd_flags_table */ | 429 | /* See se_cmd_flags_table */ |
431 | u32 se_cmd_flags; | 430 | u32 se_cmd_flags; |
432 | u32 se_ordered_id; | 431 | u32 se_ordered_id; |
@@ -441,13 +440,10 @@ struct se_cmd { | |||
441 | /* Used for sense data */ | 440 | /* Used for sense data */ |
442 | void *sense_buffer; | 441 | void *sense_buffer; |
443 | struct list_head se_delayed_node; | 442 | struct list_head se_delayed_node; |
444 | struct list_head se_ordered_node; | ||
445 | struct list_head se_lun_node; | 443 | struct list_head se_lun_node; |
446 | struct list_head se_qf_node; | 444 | struct list_head se_qf_node; |
447 | struct se_device *se_dev; | 445 | struct se_device *se_dev; |
448 | struct se_dev_entry *se_deve; | 446 | struct se_dev_entry *se_deve; |
449 | struct se_device *se_obj_ptr; | ||
450 | struct se_device *se_orig_obj_ptr; | ||
451 | struct se_lun *se_lun; | 447 | struct se_lun *se_lun; |
452 | /* Only used for internal passthrough and legacy TCM fabric modules */ | 448 | /* Only used for internal passthrough and legacy TCM fabric modules */ |
453 | struct se_session *se_sess; | 449 | struct se_session *se_sess; |
@@ -463,8 +459,6 @@ struct se_cmd { | |||
463 | unsigned char __t_task_cdb[TCM_MAX_COMMAND_SIZE]; | 459 | unsigned char __t_task_cdb[TCM_MAX_COMMAND_SIZE]; |
464 | unsigned long long t_task_lba; | 460 | unsigned long long t_task_lba; |
465 | int t_tasks_failed; | 461 | int t_tasks_failed; |
466 | int t_tasks_fua; | ||
467 | bool t_tasks_bidi; | ||
468 | u32 t_tasks_sg_chained_no; | 462 | u32 t_tasks_sg_chained_no; |
469 | atomic_t t_fe_count; | 463 | atomic_t t_fe_count; |
470 | atomic_t t_se_count; | 464 | atomic_t t_se_count; |
@@ -489,14 +483,6 @@ struct se_cmd { | |||
489 | 483 | ||
490 | struct work_struct work; | 484 | struct work_struct work; |
491 | 485 | ||
492 | /* | ||
493 | * Used for pre-registered fabric SGL passthrough WRITE and READ | ||
494 | * with the special SCF_PASSTHROUGH_CONTIG_TO_SG case for TCM_Loop | ||
495 | * and other HW target mode fabric modules. | ||
496 | */ | ||
497 | struct scatterlist *t_task_pt_sgl; | ||
498 | u32 t_task_pt_sgl_num; | ||
499 | |||
500 | struct scatterlist *t_data_sg; | 486 | struct scatterlist *t_data_sg; |
501 | unsigned int t_data_nents; | 487 | unsigned int t_data_nents; |
502 | struct scatterlist *t_bidi_data_sg; | 488 | struct scatterlist *t_bidi_data_sg; |
@@ -562,7 +548,7 @@ struct se_node_acl { | |||
562 | } ____cacheline_aligned; | 548 | } ____cacheline_aligned; |
563 | 549 | ||
564 | struct se_session { | 550 | struct se_session { |
565 | int sess_tearing_down:1; | 551 | unsigned sess_tearing_down:1; |
566 | u64 sess_bin_isid; | 552 | u64 sess_bin_isid; |
567 | struct se_node_acl *se_node_acl; | 553 | struct se_node_acl *se_node_acl; |
568 | struct se_portal_group *se_tpg; | 554 | struct se_portal_group *se_tpg; |
@@ -683,7 +669,6 @@ struct se_subsystem_dev { | |||
683 | struct t10_reservation t10_pr; | 669 | struct t10_reservation t10_pr; |
684 | spinlock_t se_dev_lock; | 670 | spinlock_t se_dev_lock; |
685 | void *se_dev_su_ptr; | 671 | void *se_dev_su_ptr; |
686 | struct list_head se_dev_node; | ||
687 | struct config_group se_dev_group; | 672 | struct config_group se_dev_group; |
688 | /* For T10 Reservations */ | 673 | /* For T10 Reservations */ |
689 | struct config_group se_dev_pr_group; | 674 | struct config_group se_dev_pr_group; |
@@ -692,9 +677,6 @@ struct se_subsystem_dev { | |||
692 | } ____cacheline_aligned; | 677 | } ____cacheline_aligned; |
693 | 678 | ||
694 | struct se_device { | 679 | struct se_device { |
695 | /* Set to 1 if thread is NOT sleeping on thread_sem */ | ||
696 | u8 thread_active; | ||
697 | u8 dev_status_timer_flags; | ||
698 | /* RELATIVE TARGET PORT IDENTIFER Counter */ | 680 | /* RELATIVE TARGET PORT IDENTIFER Counter */ |
699 | u16 dev_rpti_counter; | 681 | u16 dev_rpti_counter; |
700 | /* Used for SAM Task Attribute ordering */ | 682 | /* Used for SAM Task Attribute ordering */ |
@@ -719,14 +701,10 @@ struct se_device { | |||
719 | u64 write_bytes; | 701 | u64 write_bytes; |
720 | spinlock_t stats_lock; | 702 | spinlock_t stats_lock; |
721 | /* Active commands on this virtual SE device */ | 703 | /* Active commands on this virtual SE device */ |
722 | atomic_t active_cmds; | ||
723 | atomic_t simple_cmds; | 704 | atomic_t simple_cmds; |
724 | atomic_t depth_left; | 705 | atomic_t depth_left; |
725 | atomic_t dev_ordered_id; | 706 | atomic_t dev_ordered_id; |
726 | atomic_t dev_tur_active; | ||
727 | atomic_t execute_tasks; | 707 | atomic_t execute_tasks; |
728 | atomic_t dev_status_thr_count; | ||
729 | atomic_t dev_hoq_count; | ||
730 | atomic_t dev_ordered_sync; | 708 | atomic_t dev_ordered_sync; |
731 | atomic_t dev_qf_count; | 709 | atomic_t dev_qf_count; |
732 | struct se_obj dev_obj; | 710 | struct se_obj dev_obj; |
@@ -734,14 +712,9 @@ struct se_device { | |||
734 | struct se_obj dev_export_obj; | 712 | struct se_obj dev_export_obj; |
735 | struct se_queue_obj dev_queue_obj; | 713 | struct se_queue_obj dev_queue_obj; |
736 | spinlock_t delayed_cmd_lock; | 714 | spinlock_t delayed_cmd_lock; |
737 | spinlock_t ordered_cmd_lock; | ||
738 | spinlock_t execute_task_lock; | 715 | spinlock_t execute_task_lock; |
739 | spinlock_t state_task_lock; | ||
740 | spinlock_t dev_alua_lock; | ||
741 | spinlock_t dev_reservation_lock; | 716 | spinlock_t dev_reservation_lock; |
742 | spinlock_t dev_state_lock; | ||
743 | spinlock_t dev_status_lock; | 717 | spinlock_t dev_status_lock; |
744 | spinlock_t dev_status_thr_lock; | ||
745 | spinlock_t se_port_lock; | 718 | spinlock_t se_port_lock; |
746 | spinlock_t se_tmr_lock; | 719 | spinlock_t se_tmr_lock; |
747 | spinlock_t qf_cmd_lock; | 720 | spinlock_t qf_cmd_lock; |
@@ -753,14 +726,10 @@ struct se_device { | |||
753 | struct t10_pr_registration *dev_pr_res_holder; | 726 | struct t10_pr_registration *dev_pr_res_holder; |
754 | struct list_head dev_sep_list; | 727 | struct list_head dev_sep_list; |
755 | struct list_head dev_tmr_list; | 728 | struct list_head dev_tmr_list; |
756 | struct timer_list dev_status_timer; | ||
757 | /* Pointer to descriptor for processing thread */ | 729 | /* Pointer to descriptor for processing thread */ |
758 | struct task_struct *process_thread; | 730 | struct task_struct *process_thread; |
759 | pid_t process_thread_pid; | ||
760 | struct task_struct *dev_mgmt_thread; | ||
761 | struct work_struct qf_work_queue; | 731 | struct work_struct qf_work_queue; |
762 | struct list_head delayed_cmd_list; | 732 | struct list_head delayed_cmd_list; |
763 | struct list_head ordered_cmd_list; | ||
764 | struct list_head execute_task_list; | 733 | struct list_head execute_task_list; |
765 | struct list_head state_task_list; | 734 | struct list_head state_task_list; |
766 | struct list_head qf_cmd_list; | 735 | struct list_head qf_cmd_list; |
@@ -771,8 +740,6 @@ struct se_device { | |||
771 | struct se_subsystem_api *transport; | 740 | struct se_subsystem_api *transport; |
772 | /* Linked list for struct se_hba struct se_device list */ | 741 | /* Linked list for struct se_hba struct se_device list */ |
773 | struct list_head dev_list; | 742 | struct list_head dev_list; |
774 | /* Linked list for struct se_global->g_se_dev_list */ | ||
775 | struct list_head g_se_dev_list; | ||
776 | } ____cacheline_aligned; | 743 | } ____cacheline_aligned; |
777 | 744 | ||
778 | struct se_hba { | 745 | struct se_hba { |
@@ -834,7 +801,6 @@ struct se_port { | |||
834 | u32 sep_index; | 801 | u32 sep_index; |
835 | struct scsi_port_stats sep_stats; | 802 | struct scsi_port_stats sep_stats; |
836 | /* Used for ALUA Target Port Groups membership */ | 803 | /* Used for ALUA Target Port Groups membership */ |
837 | atomic_t sep_tg_pt_gp_active; | ||
838 | atomic_t sep_tg_pt_secondary_offline; | 804 | atomic_t sep_tg_pt_secondary_offline; |
839 | /* Used for PR ALL_TG_PT=1 */ | 805 | /* Used for PR ALL_TG_PT=1 */ |
840 | atomic_t sep_tg_pt_ref_cnt; | 806 | atomic_t sep_tg_pt_ref_cnt; |
diff --git a/include/target/target_core_transport.h b/include/target/target_core_transport.h index c16e9431dd01..dac4f2d859fd 100644 --- a/include/target/target_core_transport.h +++ b/include/target/target_core_transport.h | |||
@@ -10,29 +10,6 @@ | |||
10 | 10 | ||
11 | #define PYX_TRANSPORT_STATUS_INTERVAL 5 /* In seconds */ | 11 | #define PYX_TRANSPORT_STATUS_INTERVAL 5 /* In seconds */ |
12 | 12 | ||
13 | #define PYX_TRANSPORT_SENT_TO_TRANSPORT 0 | ||
14 | #define PYX_TRANSPORT_WRITE_PENDING 1 | ||
15 | |||
16 | #define PYX_TRANSPORT_UNKNOWN_SAM_OPCODE -1 | ||
17 | #define PYX_TRANSPORT_HBA_QUEUE_FULL -2 | ||
18 | #define PYX_TRANSPORT_REQ_TOO_MANY_SECTORS -3 | ||
19 | #define PYX_TRANSPORT_OUT_OF_MEMORY_RESOURCES -4 | ||
20 | #define PYX_TRANSPORT_INVALID_CDB_FIELD -5 | ||
21 | #define PYX_TRANSPORT_INVALID_PARAMETER_LIST -6 | ||
22 | #define PYX_TRANSPORT_LU_COMM_FAILURE -7 | ||
23 | #define PYX_TRANSPORT_UNKNOWN_MODE_PAGE -8 | ||
24 | #define PYX_TRANSPORT_WRITE_PROTECTED -9 | ||
25 | #define PYX_TRANSPORT_RESERVATION_CONFLICT -10 | ||
26 | #define PYX_TRANSPORT_ILLEGAL_REQUEST -11 | ||
27 | #define PYX_TRANSPORT_USE_SENSE_REASON -12 | ||
28 | |||
29 | #ifndef SAM_STAT_RESERVATION_CONFLICT | ||
30 | #define SAM_STAT_RESERVATION_CONFLICT 0x18 | ||
31 | #endif | ||
32 | |||
33 | #define TRANSPORT_PLUGIN_FREE 0 | ||
34 | #define TRANSPORT_PLUGIN_REGISTERED 1 | ||
35 | |||
36 | #define TRANSPORT_PLUGIN_PHBA_PDEV 1 | 13 | #define TRANSPORT_PLUGIN_PHBA_PDEV 1 |
37 | #define TRANSPORT_PLUGIN_VHBA_PDEV 2 | 14 | #define TRANSPORT_PLUGIN_VHBA_PDEV 2 |
38 | #define TRANSPORT_PLUGIN_VHBA_VDEV 3 | 15 | #define TRANSPORT_PLUGIN_VHBA_VDEV 3 |
@@ -158,7 +135,6 @@ extern int transport_generic_allocate_tasks(struct se_cmd *, unsigned char *); | |||
158 | extern int transport_handle_cdb_direct(struct se_cmd *); | 135 | extern int transport_handle_cdb_direct(struct se_cmd *); |
159 | extern int transport_generic_handle_cdb_map(struct se_cmd *); | 136 | extern int transport_generic_handle_cdb_map(struct se_cmd *); |
160 | extern int transport_generic_handle_data(struct se_cmd *); | 137 | extern int transport_generic_handle_data(struct se_cmd *); |
161 | extern void transport_new_cmd_failure(struct se_cmd *); | ||
162 | extern int transport_generic_handle_tmr(struct se_cmd *); | 138 | extern int transport_generic_handle_tmr(struct se_cmd *); |
163 | extern bool target_stop_task(struct se_task *task, unsigned long *flags); | 139 | extern bool target_stop_task(struct se_task *task, unsigned long *flags); |
164 | extern int transport_generic_map_mem_to_cmd(struct se_cmd *cmd, struct scatterlist *, u32, | 140 | extern int transport_generic_map_mem_to_cmd(struct se_cmd *cmd, struct scatterlist *, u32, |
diff --git a/include/video/omapdss.h b/include/video/omapdss.h index b66ebb2032c6..378c7ed6760b 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h | |||
@@ -307,15 +307,8 @@ struct omap_dss_board_info { | |||
307 | void (*dsi_disable_pads)(int dsi_id, unsigned lane_mask); | 307 | void (*dsi_disable_pads)(int dsi_id, unsigned lane_mask); |
308 | }; | 308 | }; |
309 | 309 | ||
310 | #if defined(CONFIG_OMAP2_DSS_MODULE) || defined(CONFIG_OMAP2_DSS) | ||
311 | /* Init with the board info */ | 310 | /* Init with the board info */ |
312 | extern int omap_display_init(struct omap_dss_board_info *board_data); | 311 | extern int omap_display_init(struct omap_dss_board_info *board_data); |
313 | #else | ||
314 | static inline int omap_display_init(struct omap_dss_board_info *board_data) | ||
315 | { | ||
316 | return 0; | ||
317 | } | ||
318 | #endif | ||
319 | 312 | ||
320 | struct omap_display_platform_data { | 313 | struct omap_display_platform_data { |
321 | struct omap_dss_board_info *board_data; | 314 | struct omap_dss_board_info *board_data; |
diff --git a/include/xen/platform_pci.h b/include/xen/platform_pci.h index a785a3b0c8c7..438c256c274b 100644 --- a/include/xen/platform_pci.h +++ b/include/xen/platform_pci.h | |||
@@ -29,8 +29,7 @@ | |||
29 | static inline int xen_must_unplug_nics(void) { | 29 | static inline int xen_must_unplug_nics(void) { |
30 | #if (defined(CONFIG_XEN_NETDEV_FRONTEND) || \ | 30 | #if (defined(CONFIG_XEN_NETDEV_FRONTEND) || \ |
31 | defined(CONFIG_XEN_NETDEV_FRONTEND_MODULE)) && \ | 31 | defined(CONFIG_XEN_NETDEV_FRONTEND_MODULE)) && \ |
32 | (defined(CONFIG_XEN_PLATFORM_PCI) || \ | 32 | defined(CONFIG_XEN_PVHVM) |
33 | defined(CONFIG_XEN_PLATFORM_PCI_MODULE)) | ||
34 | return 1; | 33 | return 1; |
35 | #else | 34 | #else |
36 | return 0; | 35 | return 0; |
@@ -40,8 +39,7 @@ static inline int xen_must_unplug_nics(void) { | |||
40 | static inline int xen_must_unplug_disks(void) { | 39 | static inline int xen_must_unplug_disks(void) { |
41 | #if (defined(CONFIG_XEN_BLKDEV_FRONTEND) || \ | 40 | #if (defined(CONFIG_XEN_BLKDEV_FRONTEND) || \ |
42 | defined(CONFIG_XEN_BLKDEV_FRONTEND_MODULE)) && \ | 41 | defined(CONFIG_XEN_BLKDEV_FRONTEND_MODULE)) && \ |
43 | (defined(CONFIG_XEN_PLATFORM_PCI) || \ | 42 | defined(CONFIG_XEN_PVHVM) |
44 | defined(CONFIG_XEN_PLATFORM_PCI_MODULE)) | ||
45 | return 1; | 43 | return 1; |
46 | #else | 44 | #else |
47 | return 0; | 45 | return 0; |