diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2013-08-21 08:44:54 -0400 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2013-08-21 08:44:54 -0400 |
| commit | fac778a2b8d6ca953d440baeee72901c2dd5aad9 (patch) | |
| tree | c43d780b5ff8819f4353b16c99601c5ceeeacad7 /include/linux | |
| parent | 07862c1cd6675cde2dd4bd64e64d704ea2185b79 (diff) | |
| parent | 94fc5d9de5bd757ad46f0d94bc4ebf617c4487f6 (diff) | |
Merge branch 'linus' into timers/core
Reason: Get upstream changes on which new patches depend on.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux')
39 files changed, 317 insertions, 179 deletions
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index 297462b9f41a..e9ac882868c0 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h | |||
| @@ -542,8 +542,7 @@ int cgroup_rm_cftypes(struct cgroup_subsys *ss, struct cftype *cfts); | |||
| 542 | bool cgroup_is_descendant(struct cgroup *cgrp, struct cgroup *ancestor); | 542 | bool cgroup_is_descendant(struct cgroup *cgrp, struct cgroup *ancestor); |
| 543 | 543 | ||
| 544 | int cgroup_path(const struct cgroup *cgrp, char *buf, int buflen); | 544 | int cgroup_path(const struct cgroup *cgrp, char *buf, int buflen); |
| 545 | int task_cgroup_path_from_hierarchy(struct task_struct *task, int hierarchy_id, | 545 | int task_cgroup_path(struct task_struct *task, char *buf, size_t buflen); |
| 546 | char *buf, size_t buflen); | ||
| 547 | 546 | ||
| 548 | int cgroup_task_count(const struct cgroup *cgrp); | 547 | int cgroup_task_count(const struct cgroup *cgrp); |
| 549 | 548 | ||
diff --git a/include/linux/cgroup_subsys.h b/include/linux/cgroup_subsys.h index 6e7ec64b69ab..b613ffd402d1 100644 --- a/include/linux/cgroup_subsys.h +++ b/include/linux/cgroup_subsys.h | |||
| @@ -1,86 +1,55 @@ | |||
| 1 | /* Add subsystem definitions of the form SUBSYS(<name>) in this | 1 | /* |
| 2 | * file. Surround each one by a line of comment markers so that | 2 | * List of cgroup subsystems. |
| 3 | * patches don't collide | 3 | * |
| 4 | * DO NOT ADD ANY SUBSYSTEM WITHOUT EXPLICIT ACKS FROM CGROUP MAINTAINERS. | ||
| 4 | */ | 5 | */ |
| 5 | |||
| 6 | /* */ | ||
| 7 | |||
| 8 | /* */ | ||
| 9 | |||
| 10 | #if IS_SUBSYS_ENABLED(CONFIG_CPUSETS) | 6 | #if IS_SUBSYS_ENABLED(CONFIG_CPUSETS) |
| 11 | SUBSYS(cpuset) | 7 | SUBSYS(cpuset) |
| 12 | #endif | 8 | #endif |
| 13 | 9 | ||
| 14 | /* */ | ||
| 15 | |||
| 16 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_DEBUG) | 10 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_DEBUG) |
| 17 | SUBSYS(debug) | 11 | SUBSYS(debug) |
| 18 | #endif | 12 | #endif |
| 19 | 13 | ||
| 20 | /* */ | ||
| 21 | |||
| 22 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_SCHED) | 14 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_SCHED) |
| 23 | SUBSYS(cpu_cgroup) | 15 | SUBSYS(cpu_cgroup) |
| 24 | #endif | 16 | #endif |
| 25 | 17 | ||
| 26 | /* */ | ||
| 27 | |||
| 28 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_CPUACCT) | 18 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_CPUACCT) |
| 29 | SUBSYS(cpuacct) | 19 | SUBSYS(cpuacct) |
| 30 | #endif | 20 | #endif |
| 31 | 21 | ||
| 32 | /* */ | ||
| 33 | |||
| 34 | #if IS_SUBSYS_ENABLED(CONFIG_MEMCG) | 22 | #if IS_SUBSYS_ENABLED(CONFIG_MEMCG) |
| 35 | SUBSYS(mem_cgroup) | 23 | SUBSYS(mem_cgroup) |
| 36 | #endif | 24 | #endif |
| 37 | 25 | ||
| 38 | /* */ | ||
| 39 | |||
| 40 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_DEVICE) | 26 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_DEVICE) |
| 41 | SUBSYS(devices) | 27 | SUBSYS(devices) |
| 42 | #endif | 28 | #endif |
| 43 | 29 | ||
| 44 | /* */ | ||
| 45 | |||
| 46 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_FREEZER) | 30 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_FREEZER) |
| 47 | SUBSYS(freezer) | 31 | SUBSYS(freezer) |
| 48 | #endif | 32 | #endif |
| 49 | 33 | ||
| 50 | /* */ | ||
| 51 | |||
| 52 | #if IS_SUBSYS_ENABLED(CONFIG_NET_CLS_CGROUP) | 34 | #if IS_SUBSYS_ENABLED(CONFIG_NET_CLS_CGROUP) |
| 53 | SUBSYS(net_cls) | 35 | SUBSYS(net_cls) |
| 54 | #endif | 36 | #endif |
| 55 | 37 | ||
| 56 | /* */ | ||
| 57 | |||
| 58 | #if IS_SUBSYS_ENABLED(CONFIG_BLK_CGROUP) | 38 | #if IS_SUBSYS_ENABLED(CONFIG_BLK_CGROUP) |
| 59 | SUBSYS(blkio) | 39 | SUBSYS(blkio) |
| 60 | #endif | 40 | #endif |
| 61 | 41 | ||
| 62 | /* */ | ||
| 63 | |||
| 64 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_PERF) | 42 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_PERF) |
| 65 | SUBSYS(perf) | 43 | SUBSYS(perf) |
| 66 | #endif | 44 | #endif |
| 67 | 45 | ||
| 68 | /* */ | ||
| 69 | |||
| 70 | #if IS_SUBSYS_ENABLED(CONFIG_NETPRIO_CGROUP) | 46 | #if IS_SUBSYS_ENABLED(CONFIG_NETPRIO_CGROUP) |
| 71 | SUBSYS(net_prio) | 47 | SUBSYS(net_prio) |
| 72 | #endif | 48 | #endif |
| 73 | 49 | ||
| 74 | /* */ | ||
| 75 | |||
| 76 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_HUGETLB) | 50 | #if IS_SUBSYS_ENABLED(CONFIG_CGROUP_HUGETLB) |
| 77 | SUBSYS(hugetlb) | 51 | SUBSYS(hugetlb) |
| 78 | #endif | 52 | #endif |
| 79 | 53 | /* | |
| 80 | /* */ | 54 | * DO NOT ADD ANY SUBSYSTEM WITHOUT EXPLICIT ACKS FROM CGROUP MAINTAINERS. |
| 81 | 55 | */ | |
| 82 | #ifdef CONFIG_CGROUP_BCACHE | ||
| 83 | SUBSYS(bcache) | ||
| 84 | #endif | ||
| 85 | |||
| 86 | /* */ | ||
diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 944f283f01c4..ab0eade73039 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h | |||
| @@ -114,7 +114,7 @@ enum { | |||
| 114 | /* Need to know about CPUs going up/down? */ | 114 | /* Need to know about CPUs going up/down? */ |
| 115 | #if defined(CONFIG_HOTPLUG_CPU) || !defined(MODULE) | 115 | #if defined(CONFIG_HOTPLUG_CPU) || !defined(MODULE) |
| 116 | #define cpu_notifier(fn, pri) { \ | 116 | #define cpu_notifier(fn, pri) { \ |
| 117 | static struct notifier_block fn##_nb __cpuinitdata = \ | 117 | static struct notifier_block fn##_nb = \ |
| 118 | { .notifier_call = fn, .priority = pri }; \ | 118 | { .notifier_call = fn, .priority = pri }; \ |
| 119 | register_cpu_notifier(&fn##_nb); \ | 119 | register_cpu_notifier(&fn##_nb); \ |
| 120 | } | 120 | } |
diff --git a/include/linux/crc-t10dif.h b/include/linux/crc-t10dif.h index b3cb71f0d3b0..a9c96d865ee7 100644 --- a/include/linux/crc-t10dif.h +++ b/include/linux/crc-t10dif.h | |||
| @@ -3,10 +3,6 @@ | |||
| 3 | 3 | ||
| 4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
| 5 | 5 | ||
| 6 | #define CRC_T10DIF_DIGEST_SIZE 2 | ||
| 7 | #define CRC_T10DIF_BLOCK_SIZE 1 | ||
| 8 | |||
| 9 | __u16 crc_t10dif_generic(__u16 crc, const unsigned char *buffer, size_t len); | ||
| 10 | __u16 crc_t10dif(unsigned char const *, size_t); | 6 | __u16 crc_t10dif(unsigned char const *, size_t); |
| 11 | 7 | ||
| 12 | #endif | 8 | #endif |
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index 3092df3614ae..b90337c9d468 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
| @@ -324,7 +324,7 @@ static inline int __d_rcu_to_refcount(struct dentry *dentry, unsigned seq) | |||
| 324 | return ret; | 324 | return ret; |
| 325 | } | 325 | } |
| 326 | 326 | ||
| 327 | static inline unsigned d_count(struct dentry *dentry) | 327 | static inline unsigned d_count(const struct dentry *dentry) |
| 328 | { | 328 | { |
| 329 | return dentry->d_count; | 329 | return dentry->d_count; |
| 330 | } | 330 | } |
diff --git a/include/linux/device.h b/include/linux/device.h index bcf8c0d4cd98..22b546a58591 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
| @@ -47,7 +47,11 @@ struct bus_attribute { | |||
| 47 | }; | 47 | }; |
| 48 | 48 | ||
| 49 | #define BUS_ATTR(_name, _mode, _show, _store) \ | 49 | #define BUS_ATTR(_name, _mode, _show, _store) \ |
| 50 | struct bus_attribute bus_attr_##_name = __ATTR(_name, _mode, _show, _store) | 50 | struct bus_attribute bus_attr_##_name = __ATTR(_name, _mode, _show, _store) |
| 51 | #define BUS_ATTR_RW(_name) \ | ||
| 52 | struct bus_attribute bus_attr_##_name = __ATTR_RW(_name) | ||
| 53 | #define BUS_ATTR_RO(_name) \ | ||
| 54 | struct bus_attribute bus_attr_##_name = __ATTR_RO(_name) | ||
| 51 | 55 | ||
| 52 | extern int __must_check bus_create_file(struct bus_type *, | 56 | extern int __must_check bus_create_file(struct bus_type *, |
| 53 | struct bus_attribute *); | 57 | struct bus_attribute *); |
| @@ -261,9 +265,12 @@ struct driver_attribute { | |||
| 261 | size_t count); | 265 | size_t count); |
| 262 | }; | 266 | }; |
| 263 | 267 | ||
| 264 | #define DRIVER_ATTR(_name, _mode, _show, _store) \ | 268 | #define DRIVER_ATTR(_name, _mode, _show, _store) \ |
| 265 | struct driver_attribute driver_attr_##_name = \ | 269 | struct driver_attribute driver_attr_##_name = __ATTR(_name, _mode, _show, _store) |
| 266 | __ATTR(_name, _mode, _show, _store) | 270 | #define DRIVER_ATTR_RW(_name) \ |
| 271 | struct driver_attribute driver_attr_##_name = __ATTR_RW(_name) | ||
| 272 | #define DRIVER_ATTR_RO(_name) \ | ||
| 273 | struct driver_attribute driver_attr_##_name = __ATTR_RO(_name) | ||
| 267 | 274 | ||
| 268 | extern int __must_check driver_create_file(struct device_driver *driver, | 275 | extern int __must_check driver_create_file(struct device_driver *driver, |
| 269 | const struct driver_attribute *attr); | 276 | const struct driver_attribute *attr); |
| @@ -313,6 +320,7 @@ int subsys_virtual_register(struct bus_type *subsys, | |||
| 313 | * @name: Name of the class. | 320 | * @name: Name of the class. |
| 314 | * @owner: The module owner. | 321 | * @owner: The module owner. |
| 315 | * @class_attrs: Default attributes of this class. | 322 | * @class_attrs: Default attributes of this class. |
| 323 | * @dev_groups: Default attributes of the devices that belong to the class. | ||
| 316 | * @dev_attrs: Default attributes of the devices belong to the class. | 324 | * @dev_attrs: Default attributes of the devices belong to the class. |
| 317 | * @dev_bin_attrs: Default binary attributes of the devices belong to the class. | 325 | * @dev_bin_attrs: Default binary attributes of the devices belong to the class. |
| 318 | * @dev_kobj: The kobject that represents this class and links it into the hierarchy. | 326 | * @dev_kobj: The kobject that represents this class and links it into the hierarchy. |
| @@ -342,7 +350,8 @@ struct class { | |||
| 342 | struct module *owner; | 350 | struct module *owner; |
| 343 | 351 | ||
| 344 | struct class_attribute *class_attrs; | 352 | struct class_attribute *class_attrs; |
| 345 | struct device_attribute *dev_attrs; | 353 | struct device_attribute *dev_attrs; /* use dev_groups instead */ |
| 354 | const struct attribute_group **dev_groups; | ||
| 346 | struct bin_attribute *dev_bin_attrs; | 355 | struct bin_attribute *dev_bin_attrs; |
| 347 | struct kobject *dev_kobj; | 356 | struct kobject *dev_kobj; |
| 348 | 357 | ||
| @@ -414,8 +423,12 @@ struct class_attribute { | |||
| 414 | const struct class_attribute *attr); | 423 | const struct class_attribute *attr); |
| 415 | }; | 424 | }; |
| 416 | 425 | ||
| 417 | #define CLASS_ATTR(_name, _mode, _show, _store) \ | 426 | #define CLASS_ATTR(_name, _mode, _show, _store) \ |
| 418 | struct class_attribute class_attr_##_name = __ATTR(_name, _mode, _show, _store) | 427 | struct class_attribute class_attr_##_name = __ATTR(_name, _mode, _show, _store) |
| 428 | #define CLASS_ATTR_RW(_name) \ | ||
| 429 | struct class_attribute class_attr_##_name = __ATTR_RW(_name) | ||
| 430 | #define CLASS_ATTR_RO(_name) \ | ||
| 431 | struct class_attribute class_attr_##_name = __ATTR_RO(_name) | ||
| 419 | 432 | ||
| 420 | extern int __must_check class_create_file(struct class *class, | 433 | extern int __must_check class_create_file(struct class *class, |
| 421 | const struct class_attribute *attr); | 434 | const struct class_attribute *attr); |
| @@ -423,7 +436,6 @@ extern void class_remove_file(struct class *class, | |||
| 423 | const struct class_attribute *attr); | 436 | const struct class_attribute *attr); |
| 424 | 437 | ||
| 425 | /* Simple class attribute that is just a static string */ | 438 | /* Simple class attribute that is just a static string */ |
| 426 | |||
| 427 | struct class_attribute_string { | 439 | struct class_attribute_string { |
| 428 | struct class_attribute attr; | 440 | struct class_attribute attr; |
| 429 | char *str; | 441 | char *str; |
| @@ -512,6 +524,10 @@ ssize_t device_store_bool(struct device *dev, struct device_attribute *attr, | |||
| 512 | 524 | ||
| 513 | #define DEVICE_ATTR(_name, _mode, _show, _store) \ | 525 | #define DEVICE_ATTR(_name, _mode, _show, _store) \ |
| 514 | struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store) | 526 | struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _show, _store) |
| 527 | #define DEVICE_ATTR_RW(_name) \ | ||
| 528 | struct device_attribute dev_attr_##_name = __ATTR_RW(_name) | ||
| 529 | #define DEVICE_ATTR_RO(_name) \ | ||
| 530 | struct device_attribute dev_attr_##_name = __ATTR_RO(_name) | ||
| 515 | #define DEVICE_ULONG_ATTR(_name, _mode, _var) \ | 531 | #define DEVICE_ULONG_ATTR(_name, _mode, _var) \ |
| 516 | struct dev_ext_attribute dev_attr_##_name = \ | 532 | struct dev_ext_attribute dev_attr_##_name = \ |
| 517 | { __ATTR(_name, _mode, device_show_ulong, device_store_ulong), &(_var) } | 533 | { __ATTR(_name, _mode, device_show_ulong, device_store_ulong), &(_var) } |
| @@ -924,6 +940,11 @@ extern __printf(5, 6) | |||
| 924 | struct device *device_create(struct class *cls, struct device *parent, | 940 | struct device *device_create(struct class *cls, struct device *parent, |
| 925 | dev_t devt, void *drvdata, | 941 | dev_t devt, void *drvdata, |
| 926 | const char *fmt, ...); | 942 | const char *fmt, ...); |
| 943 | extern __printf(6, 7) | ||
| 944 | struct device *device_create_with_groups(struct class *cls, | ||
| 945 | struct device *parent, dev_t devt, void *drvdata, | ||
| 946 | const struct attribute_group **groups, | ||
| 947 | const char *fmt, ...); | ||
| 927 | extern void device_destroy(struct class *cls, dev_t devt); | 948 | extern void device_destroy(struct class *cls, dev_t devt); |
| 928 | 949 | ||
| 929 | /* | 950 | /* |
diff --git a/include/linux/drbd.h b/include/linux/drbd.h index 1b4d4ee1168f..de7d74ab3de6 100644 --- a/include/linux/drbd.h +++ b/include/linux/drbd.h | |||
| @@ -177,7 +177,11 @@ enum drbd_ret_code { | |||
| 177 | ERR_NEED_APV_100 = 163, | 177 | ERR_NEED_APV_100 = 163, |
| 178 | ERR_NEED_ALLOW_TWO_PRI = 164, | 178 | ERR_NEED_ALLOW_TWO_PRI = 164, |
| 179 | ERR_MD_UNCLEAN = 165, | 179 | ERR_MD_UNCLEAN = 165, |
| 180 | 180 | ERR_MD_LAYOUT_CONNECTED = 166, | |
| 181 | ERR_MD_LAYOUT_TOO_BIG = 167, | ||
| 182 | ERR_MD_LAYOUT_TOO_SMALL = 168, | ||
| 183 | ERR_MD_LAYOUT_NO_FIT = 169, | ||
| 184 | ERR_IMPLICIT_SHRINK = 170, | ||
| 181 | /* insert new ones above this line */ | 185 | /* insert new ones above this line */ |
| 182 | AFTER_LAST_ERR_CODE | 186 | AFTER_LAST_ERR_CODE |
| 183 | }; | 187 | }; |
diff --git a/include/linux/drbd_genl.h b/include/linux/drbd_genl.h index d0d8fac8a6e4..e8c44572b8cb 100644 --- a/include/linux/drbd_genl.h +++ b/include/linux/drbd_genl.h | |||
| @@ -181,6 +181,8 @@ GENL_struct(DRBD_NLA_RESIZE_PARMS, 7, resize_parms, | |||
| 181 | __u64_field(1, DRBD_GENLA_F_MANDATORY, resize_size) | 181 | __u64_field(1, DRBD_GENLA_F_MANDATORY, resize_size) |
| 182 | __flg_field(2, DRBD_GENLA_F_MANDATORY, resize_force) | 182 | __flg_field(2, DRBD_GENLA_F_MANDATORY, resize_force) |
| 183 | __flg_field(3, DRBD_GENLA_F_MANDATORY, no_resync) | 183 | __flg_field(3, DRBD_GENLA_F_MANDATORY, no_resync) |
| 184 | __u32_field_def(4, 0 /* OPTIONAL */, al_stripes, DRBD_AL_STRIPES_DEF) | ||
| 185 | __u32_field_def(5, 0 /* OPTIONAL */, al_stripe_size, DRBD_AL_STRIPE_SIZE_DEF) | ||
| 184 | ) | 186 | ) |
| 185 | 187 | ||
| 186 | GENL_struct(DRBD_NLA_STATE_INFO, 8, state_info, | 188 | GENL_struct(DRBD_NLA_STATE_INFO, 8, state_info, |
diff --git a/include/linux/drbd_limits.h b/include/linux/drbd_limits.h index 1fedf2b17cc8..17e50bb00521 100644 --- a/include/linux/drbd_limits.h +++ b/include/linux/drbd_limits.h | |||
| @@ -215,4 +215,13 @@ | |||
| 215 | #define DRBD_ALWAYS_ASBP_DEF 0 | 215 | #define DRBD_ALWAYS_ASBP_DEF 0 |
| 216 | #define DRBD_USE_RLE_DEF 1 | 216 | #define DRBD_USE_RLE_DEF 1 |
| 217 | 217 | ||
| 218 | #define DRBD_AL_STRIPES_MIN 1 | ||
| 219 | #define DRBD_AL_STRIPES_MAX 1024 | ||
| 220 | #define DRBD_AL_STRIPES_DEF 1 | ||
| 221 | #define DRBD_AL_STRIPES_SCALE '1' | ||
| 222 | |||
| 223 | #define DRBD_AL_STRIPE_SIZE_MIN 4 | ||
| 224 | #define DRBD_AL_STRIPE_SIZE_MAX 16777216 | ||
| 225 | #define DRBD_AL_STRIPE_SIZE_DEF 32 | ||
| 226 | #define DRBD_AL_STRIPE_SIZE_SCALE 'k' /* kilobytes */ | ||
| 218 | #endif | 227 | #endif |
diff --git a/include/linux/edac.h b/include/linux/edac.h index 0b763276f619..5c6d7fbaf89e 100644 --- a/include/linux/edac.h +++ b/include/linux/edac.h | |||
| @@ -622,7 +622,7 @@ struct edac_raw_error_desc { | |||
| 622 | */ | 622 | */ |
| 623 | struct mem_ctl_info { | 623 | struct mem_ctl_info { |
| 624 | struct device dev; | 624 | struct device dev; |
| 625 | struct bus_type bus; | 625 | struct bus_type *bus; |
| 626 | 626 | ||
| 627 | struct list_head link; /* for global list of mem_ctl_info structs */ | 627 | struct list_head link; /* for global list of mem_ctl_info structs */ |
| 628 | 628 | ||
| @@ -742,4 +742,9 @@ struct mem_ctl_info { | |||
| 742 | #endif | 742 | #endif |
| 743 | }; | 743 | }; |
| 744 | 744 | ||
| 745 | /* | ||
| 746 | * Maximum number of memory controllers in the coherent fabric. | ||
| 747 | */ | ||
| 748 | #define EDAC_MAX_MCS 16 | ||
| 749 | |||
| 745 | #endif | 750 | #endif |
diff --git a/include/linux/firewire.h b/include/linux/firewire.h index 3b0e820375ab..5d7782e42b8f 100644 --- a/include/linux/firewire.h +++ b/include/linux/firewire.h | |||
| @@ -436,6 +436,7 @@ struct fw_iso_context { | |||
| 436 | int type; | 436 | int type; |
| 437 | int channel; | 437 | int channel; |
| 438 | int speed; | 438 | int speed; |
| 439 | bool drop_overflow_headers; | ||
| 439 | size_t header_size; | 440 | size_t header_size; |
| 440 | union { | 441 | union { |
| 441 | fw_iso_callback_t sc; | 442 | fw_iso_callback_t sc; |
diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h index 4372658c73ae..120d57a1c3a5 100644 --- a/include/linux/ftrace_event.h +++ b/include/linux/ftrace_event.h | |||
| @@ -78,6 +78,11 @@ struct trace_iterator { | |||
| 78 | /* trace_seq for __print_flags() and __print_symbolic() etc. */ | 78 | /* trace_seq for __print_flags() and __print_symbolic() etc. */ |
| 79 | struct trace_seq tmp_seq; | 79 | struct trace_seq tmp_seq; |
| 80 | 80 | ||
| 81 | cpumask_var_t started; | ||
| 82 | |||
| 83 | /* it's true when current open file is snapshot */ | ||
| 84 | bool snapshot; | ||
| 85 | |||
| 81 | /* The below is zeroed out in pipe_read */ | 86 | /* The below is zeroed out in pipe_read */ |
| 82 | struct trace_seq seq; | 87 | struct trace_seq seq; |
| 83 | struct trace_entry *ent; | 88 | struct trace_entry *ent; |
| @@ -90,10 +95,7 @@ struct trace_iterator { | |||
| 90 | loff_t pos; | 95 | loff_t pos; |
| 91 | long idx; | 96 | long idx; |
| 92 | 97 | ||
| 93 | cpumask_var_t started; | 98 | /* All new field here will be zeroed out in pipe_read */ |
| 94 | |||
| 95 | /* it's true when current open file is snapshot */ | ||
| 96 | bool snapshot; | ||
| 97 | }; | 99 | }; |
| 98 | 100 | ||
| 99 | enum trace_iter_flags { | 101 | enum trace_iter_flags { |
| @@ -332,7 +334,7 @@ extern int trace_define_field(struct ftrace_event_call *call, const char *type, | |||
| 332 | const char *name, int offset, int size, | 334 | const char *name, int offset, int size, |
| 333 | int is_signed, int filter_type); | 335 | int is_signed, int filter_type); |
| 334 | extern int trace_add_event_call(struct ftrace_event_call *call); | 336 | extern int trace_add_event_call(struct ftrace_event_call *call); |
| 335 | extern void trace_remove_event_call(struct ftrace_event_call *call); | 337 | extern int trace_remove_event_call(struct ftrace_event_call *call); |
| 336 | 338 | ||
| 337 | #define is_signed_type(type) (((type)(-1)) < (type)1) | 339 | #define is_signed_type(type) (((type)(-1)) < (type)1) |
| 338 | 340 | ||
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h index cdcbafa9b39a..715c343f7c00 100644 --- a/include/linux/if_vlan.h +++ b/include/linux/if_vlan.h | |||
| @@ -79,9 +79,8 @@ static inline int is_vlan_dev(struct net_device *dev) | |||
| 79 | } | 79 | } |
| 80 | 80 | ||
| 81 | #define vlan_tx_tag_present(__skb) ((__skb)->vlan_tci & VLAN_TAG_PRESENT) | 81 | #define vlan_tx_tag_present(__skb) ((__skb)->vlan_tci & VLAN_TAG_PRESENT) |
| 82 | #define vlan_tx_nonzero_tag_present(__skb) \ | ||
| 83 | (vlan_tx_tag_present(__skb) && ((__skb)->vlan_tci & VLAN_VID_MASK)) | ||
| 84 | #define vlan_tx_tag_get(__skb) ((__skb)->vlan_tci & ~VLAN_TAG_PRESENT) | 82 | #define vlan_tx_tag_get(__skb) ((__skb)->vlan_tci & ~VLAN_TAG_PRESENT) |
| 83 | #define vlan_tx_tag_get_id(__skb) ((__skb)->vlan_tci & VLAN_VID_MASK) | ||
| 85 | 84 | ||
| 86 | #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) | 85 | #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) |
| 87 | 86 | ||
diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h index 8d171f427632..3d35b7023591 100644 --- a/include/linux/iio/iio.h +++ b/include/linux/iio/iio.h | |||
| @@ -211,8 +211,8 @@ struct iio_chan_spec { | |||
| 211 | static inline bool iio_channel_has_info(const struct iio_chan_spec *chan, | 211 | static inline bool iio_channel_has_info(const struct iio_chan_spec *chan, |
| 212 | enum iio_chan_info_enum type) | 212 | enum iio_chan_info_enum type) |
| 213 | { | 213 | { |
| 214 | return (chan->info_mask_separate & type) | | 214 | return (chan->info_mask_separate & BIT(type)) | |
| 215 | (chan->info_mask_shared_by_type & type); | 215 | (chan->info_mask_shared_by_type & BIT(type)); |
| 216 | } | 216 | } |
| 217 | 217 | ||
| 218 | #define IIO_ST(si, rb, sb, sh) \ | 218 | #define IIO_ST(si, rb, sb, sh) \ |
diff --git a/include/linux/iio/trigger.h b/include/linux/iio/trigger.h index 3869c525b052..369cf2cd5144 100644 --- a/include/linux/iio/trigger.h +++ b/include/linux/iio/trigger.h | |||
| @@ -8,6 +8,7 @@ | |||
| 8 | */ | 8 | */ |
| 9 | #include <linux/irq.h> | 9 | #include <linux/irq.h> |
| 10 | #include <linux/module.h> | 10 | #include <linux/module.h> |
| 11 | #include <linux/atomic.h> | ||
| 11 | 12 | ||
| 12 | #ifndef _IIO_TRIGGER_H_ | 13 | #ifndef _IIO_TRIGGER_H_ |
| 13 | #define _IIO_TRIGGER_H_ | 14 | #define _IIO_TRIGGER_H_ |
| @@ -61,7 +62,7 @@ struct iio_trigger { | |||
| 61 | 62 | ||
| 62 | struct list_head list; | 63 | struct list_head list; |
| 63 | struct list_head alloc_list; | 64 | struct list_head alloc_list; |
| 64 | int use_count; | 65 | atomic_t use_count; |
| 65 | 66 | ||
| 66 | struct irq_chip subirq_chip; | 67 | struct irq_chip subirq_chip; |
| 67 | int subirq_base; | 68 | int subirq_base; |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 3bef14c6586b..482ad2d84a32 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
| @@ -629,7 +629,7 @@ extern void ftrace_dump(enum ftrace_dump_mode oops_dump_mode); | |||
| 629 | static inline void tracing_start(void) { } | 629 | static inline void tracing_start(void) { } |
| 630 | static inline void tracing_stop(void) { } | 630 | static inline void tracing_stop(void) { } |
| 631 | static inline void ftrace_off_permanent(void) { } | 631 | static inline void ftrace_off_permanent(void) { } |
| 632 | static inline void trace_dump_stack(void) { } | 632 | static inline void trace_dump_stack(int skip) { } |
| 633 | 633 | ||
| 634 | static inline void tracing_on(void) { } | 634 | static inline void tracing_on(void) { } |
| 635 | static inline void tracing_off(void) { } | 635 | static inline void tracing_off(void) { } |
diff --git a/include/linux/list.h b/include/linux/list.h index b83e5657365a..f4d8a2f12a33 100644 --- a/include/linux/list.h +++ b/include/linux/list.h | |||
| @@ -381,17 +381,6 @@ static inline void list_splice_tail_init(struct list_head *list, | |||
| 381 | for (pos = (head)->next; pos != (head); pos = pos->next) | 381 | for (pos = (head)->next; pos != (head); pos = pos->next) |
| 382 | 382 | ||
| 383 | /** | 383 | /** |
| 384 | * __list_for_each - iterate over a list | ||
| 385 | * @pos: the &struct list_head to use as a loop cursor. | ||
| 386 | * @head: the head for your list. | ||
| 387 | * | ||
| 388 | * This variant doesn't differ from list_for_each() any more. | ||
| 389 | * We don't do prefetching in either case. | ||
| 390 | */ | ||
| 391 | #define __list_for_each(pos, head) \ | ||
| 392 | for (pos = (head)->next; pos != (head); pos = pos->next) | ||
| 393 | |||
| 394 | /** | ||
| 395 | * list_for_each_prev - iterate over a list backwards | 384 | * list_for_each_prev - iterate over a list backwards |
| 396 | * @pos: the &struct list_head to use as a loop cursor. | 385 | * @pos: the &struct list_head to use as a loop cursor. |
| 397 | * @head: the head for your list. | 386 | * @head: the head for your list. |
diff --git a/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h b/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h index dab34a1deb2c..b6bdcd66c07d 100644 --- a/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h +++ b/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h | |||
| @@ -103,15 +103,15 @@ | |||
| 103 | #define IMX6Q_GPR1_EXC_MON_MASK BIT(22) | 103 | #define IMX6Q_GPR1_EXC_MON_MASK BIT(22) |
| 104 | #define IMX6Q_GPR1_EXC_MON_OKAY 0x0 | 104 | #define IMX6Q_GPR1_EXC_MON_OKAY 0x0 |
| 105 | #define IMX6Q_GPR1_EXC_MON_SLVE BIT(22) | 105 | #define IMX6Q_GPR1_EXC_MON_SLVE BIT(22) |
| 106 | #define IMX6Q_GPR1_MIPI_IPU2_SEL_MASK BIT(21) | 106 | #define IMX6Q_GPR1_ENET_CLK_SEL_MASK BIT(21) |
| 107 | #define IMX6Q_GPR1_MIPI_IPU2_SEL_GASKET 0x0 | 107 | #define IMX6Q_GPR1_ENET_CLK_SEL_PAD 0 |
| 108 | #define IMX6Q_GPR1_MIPI_IPU2_SEL_IOMUX BIT(21) | 108 | #define IMX6Q_GPR1_ENET_CLK_SEL_ANATOP BIT(21) |
| 109 | #define IMX6Q_GPR1_MIPI_IPU1_MUX_MASK BIT(20) | 109 | #define IMX6Q_GPR1_MIPI_IPU2_MUX_MASK BIT(20) |
| 110 | #define IMX6Q_GPR1_MIPI_IPU1_MUX_GASKET 0x0 | ||
| 111 | #define IMX6Q_GPR1_MIPI_IPU1_MUX_IOMUX BIT(20) | ||
| 112 | #define IMX6Q_GPR1_MIPI_IPU2_MUX_MASK BIT(19) | ||
| 113 | #define IMX6Q_GPR1_MIPI_IPU2_MUX_GASKET 0x0 | 110 | #define IMX6Q_GPR1_MIPI_IPU2_MUX_GASKET 0x0 |
| 114 | #define IMX6Q_GPR1_MIPI_IPU2_MUX_IOMUX BIT(19) | 111 | #define IMX6Q_GPR1_MIPI_IPU2_MUX_IOMUX BIT(20) |
| 112 | #define IMX6Q_GPR1_MIPI_IPU1_MUX_MASK BIT(19) | ||
| 113 | #define IMX6Q_GPR1_MIPI_IPU1_MUX_GASKET 0x0 | ||
| 114 | #define IMX6Q_GPR1_MIPI_IPU1_MUX_IOMUX BIT(19) | ||
| 115 | #define IMX6Q_GPR1_PCIE_TEST_PD BIT(18) | 115 | #define IMX6Q_GPR1_PCIE_TEST_PD BIT(18) |
| 116 | #define IMX6Q_GPR1_IPU_VPU_MUX_MASK BIT(17) | 116 | #define IMX6Q_GPR1_IPU_VPU_MUX_MASK BIT(17) |
| 117 | #define IMX6Q_GPR1_IPU_VPU_MUX_IPU1 0x0 | 117 | #define IMX6Q_GPR1_IPU_VPU_MUX_IPU1 0x0 |
| @@ -279,41 +279,88 @@ | |||
| 279 | #define IMX6Q_GPR13_CAN2_STOP_REQ BIT(29) | 279 | #define IMX6Q_GPR13_CAN2_STOP_REQ BIT(29) |
| 280 | #define IMX6Q_GPR13_CAN1_STOP_REQ BIT(28) | 280 | #define IMX6Q_GPR13_CAN1_STOP_REQ BIT(28) |
| 281 | #define IMX6Q_GPR13_ENET_STOP_REQ BIT(27) | 281 | #define IMX6Q_GPR13_ENET_STOP_REQ BIT(27) |
| 282 | #define IMX6Q_GPR13_SATA_PHY_8_MASK (0x7 << 24) | 282 | #define IMX6Q_GPR13_SATA_RX_EQ_VAL_MASK (0x7 << 24) |
| 283 | #define IMX6Q_GPR13_SATA_PHY_8_0_5_DB (0x0 << 24) | 283 | #define IMX6Q_GPR13_SATA_RX_EQ_VAL_0_5_DB (0x0 << 24) |
| 284 | #define IMX6Q_GPR13_SATA_PHY_8_1_0_DB (0x1 << 24) | 284 | #define IMX6Q_GPR13_SATA_RX_EQ_VAL_1_0_DB (0x1 << 24) |
| 285 | #define IMX6Q_GPR13_SATA_PHY_8_1_5_DB (0x2 << 24) | 285 | #define IMX6Q_GPR13_SATA_RX_EQ_VAL_1_5_DB (0x2 << 24) |
| 286 | #define IMX6Q_GPR13_SATA_PHY_8_2_0_DB (0x3 << 24) | 286 | #define IMX6Q_GPR13_SATA_RX_EQ_VAL_2_0_DB (0x3 << 24) |
| 287 | #define IMX6Q_GPR13_SATA_PHY_8_2_5_DB (0x4 << 24) | 287 | #define IMX6Q_GPR13_SATA_RX_EQ_VAL_2_5_DB (0x4 << 24) |
| 288 | #define IMX6Q_GPR13_SATA_PHY_8_3_0_DB (0x5 << 24) | 288 | #define IMX6Q_GPR13_SATA_RX_EQ_VAL_3_0_DB (0x5 << 24) |
| 289 | #define IMX6Q_GPR13_SATA_PHY_8_3_5_DB (0x6 << 24) | 289 | #define IMX6Q_GPR13_SATA_RX_EQ_VAL_3_5_DB (0x6 << 24) |
| 290 | #define IMX6Q_GPR13_SATA_PHY_8_4_0_DB (0x7 << 24) | 290 | #define IMX6Q_GPR13_SATA_RX_EQ_VAL_4_0_DB (0x7 << 24) |
| 291 | #define IMX6Q_GPR13_SATA_PHY_7_MASK (0x1f << 19) | 291 | #define IMX6Q_GPR13_SATA_RX_LOS_LVL_MASK (0x1f << 19) |
| 292 | #define IMX6Q_GPR13_SATA_PHY_7_SATA1I (0x10 << 19) | 292 | #define IMX6Q_GPR13_SATA_RX_LOS_LVL_SATA1I (0x10 << 19) |
| 293 | #define IMX6Q_GPR13_SATA_PHY_7_SATA1M (0x10 << 19) | 293 | #define IMX6Q_GPR13_SATA_RX_LOS_LVL_SATA1M (0x10 << 19) |
| 294 | #define IMX6Q_GPR13_SATA_PHY_7_SATA1X (0x1a << 19) | 294 | #define IMX6Q_GPR13_SATA_RX_LOS_LVL_SATA1X (0x1a << 19) |
| 295 | #define IMX6Q_GPR13_SATA_PHY_7_SATA2I (0x12 << 19) | 295 | #define IMX6Q_GPR13_SATA_RX_LOS_LVL_SATA2I (0x12 << 19) |
| 296 | #define IMX6Q_GPR13_SATA_PHY_7_SATA2M (0x12 << 19) | 296 | #define IMX6Q_GPR13_SATA_RX_LOS_LVL_SATA2M (0x12 << 19) |
| 297 | #define IMX6Q_GPR13_SATA_PHY_7_SATA2X (0x1a << 19) | 297 | #define IMX6Q_GPR13_SATA_RX_LOS_LVL_SATA2X (0x1a << 19) |
| 298 | #define IMX6Q_GPR13_SATA_PHY_6_MASK (0x7 << 16) | 298 | #define IMX6Q_GPR13_SATA_RX_DPLL_MODE_MASK (0x7 << 16) |
| 299 | #define IMX6Q_GPR13_SATA_SPEED_MASK BIT(15) | 299 | #define IMX6Q_GPR13_SATA_RX_DPLL_MODE_1P_1F (0x0 << 16) |
| 300 | #define IMX6Q_GPR13_SATA_SPEED_1P5G 0x0 | 300 | #define IMX6Q_GPR13_SATA_RX_DPLL_MODE_2P_2F (0x1 << 16) |
| 301 | #define IMX6Q_GPR13_SATA_SPEED_3P0G BIT(15) | 301 | #define IMX6Q_GPR13_SATA_RX_DPLL_MODE_1P_4F (0x2 << 16) |
| 302 | #define IMX6Q_GPR13_SATA_PHY_5 BIT(14) | 302 | #define IMX6Q_GPR13_SATA_RX_DPLL_MODE_2P_4F (0x3 << 16) |
| 303 | #define IMX6Q_GPR13_SATA_PHY_4_MASK (0x7 << 11) | 303 | #define IMX6Q_GPR13_SATA_SPD_MODE_MASK BIT(15) |
| 304 | #define IMX6Q_GPR13_SATA_PHY_4_16_16 (0x0 << 11) | 304 | #define IMX6Q_GPR13_SATA_SPD_MODE_1P5G 0x0 |
| 305 | #define IMX6Q_GPR13_SATA_PHY_4_14_16 (0x1 << 11) | 305 | #define IMX6Q_GPR13_SATA_SPD_MODE_3P0G BIT(15) |
| 306 | #define IMX6Q_GPR13_SATA_PHY_4_12_16 (0x2 << 11) | 306 | #define IMX6Q_GPR13_SATA_MPLL_SS_EN BIT(14) |
| 307 | #define IMX6Q_GPR13_SATA_PHY_4_10_16 (0x3 << 11) | 307 | #define IMX6Q_GPR13_SATA_TX_ATTEN_MASK (0x7 << 11) |
| 308 | #define IMX6Q_GPR13_SATA_PHY_4_9_16 (0x4 << 11) | 308 | #define IMX6Q_GPR13_SATA_TX_ATTEN_16_16 (0x0 << 11) |
| 309 | #define IMX6Q_GPR13_SATA_PHY_4_8_16 (0x5 << 11) | 309 | #define IMX6Q_GPR13_SATA_TX_ATTEN_14_16 (0x1 << 11) |
| 310 | #define IMX6Q_GPR13_SATA_PHY_3_MASK (0xf << 7) | 310 | #define IMX6Q_GPR13_SATA_TX_ATTEN_12_16 (0x2 << 11) |
| 311 | #define IMX6Q_GPR13_SATA_PHY_3_OFF 0x7 | 311 | #define IMX6Q_GPR13_SATA_TX_ATTEN_10_16 (0x3 << 11) |
| 312 | #define IMX6Q_GPR13_SATA_PHY_2_MASK (0x1f << 2) | 312 | #define IMX6Q_GPR13_SATA_TX_ATTEN_9_16 (0x4 << 11) |
| 313 | #define IMX6Q_GPR13_SATA_PHY_2_OFF 0x2 | 313 | #define IMX6Q_GPR13_SATA_TX_ATTEN_8_16 (0x5 << 11) |
| 314 | #define IMX6Q_GPR13_SATA_PHY_1_MASK (0x3 << 0) | 314 | #define IMX6Q_GPR13_SATA_TX_BOOST_MASK (0xf << 7) |
| 315 | #define IMX6Q_GPR13_SATA_PHY_1_FAST (0x0 << 0) | 315 | #define IMX6Q_GPR13_SATA_TX_BOOST_0_00_DB (0x0 << 7) |
| 316 | #define IMX6Q_GPR13_SATA_PHY_1_MED (0x1 << 0) | 316 | #define IMX6Q_GPR13_SATA_TX_BOOST_0_37_DB (0x1 << 7) |
| 317 | #define IMX6Q_GPR13_SATA_PHY_1_SLOW (0x2 << 0) | 317 | #define IMX6Q_GPR13_SATA_TX_BOOST_0_74_DB (0x2 << 7) |
| 318 | 318 | #define IMX6Q_GPR13_SATA_TX_BOOST_1_11_DB (0x3 << 7) | |
| 319 | #define IMX6Q_GPR13_SATA_TX_BOOST_1_48_DB (0x4 << 7) | ||
| 320 | #define IMX6Q_GPR13_SATA_TX_BOOST_1_85_DB (0x5 << 7) | ||
| 321 | #define IMX6Q_GPR13_SATA_TX_BOOST_2_22_DB (0x6 << 7) | ||
| 322 | #define IMX6Q_GPR13_SATA_TX_BOOST_2_59_DB (0x7 << 7) | ||
| 323 | #define IMX6Q_GPR13_SATA_TX_BOOST_2_96_DB (0x8 << 7) | ||
| 324 | #define IMX6Q_GPR13_SATA_TX_BOOST_3_33_DB (0x9 << 7) | ||
| 325 | #define IMX6Q_GPR13_SATA_TX_BOOST_3_70_DB (0xa << 7) | ||
| 326 | #define IMX6Q_GPR13_SATA_TX_BOOST_4_07_DB (0xb << 7) | ||
| 327 | #define IMX6Q_GPR13_SATA_TX_BOOST_4_44_DB (0xc << 7) | ||
| 328 | #define IMX6Q_GPR13_SATA_TX_BOOST_4_81_DB (0xd << 7) | ||
| 329 | #define IMX6Q_GPR13_SATA_TX_BOOST_5_28_DB (0xe << 7) | ||
| 330 | #define IMX6Q_GPR13_SATA_TX_BOOST_5_75_DB (0xf << 7) | ||
| 331 | #define IMX6Q_GPR13_SATA_TX_LVL_MASK (0x1f << 2) | ||
| 332 | #define IMX6Q_GPR13_SATA_TX_LVL_0_937_V (0x00 << 2) | ||
| 333 | #define IMX6Q_GPR13_SATA_TX_LVL_0_947_V (0x01 << 2) | ||
| 334 | #define IMX6Q_GPR13_SATA_TX_LVL_0_957_V (0x02 << 2) | ||
| 335 | #define IMX6Q_GPR13_SATA_TX_LVL_0_966_V (0x03 << 2) | ||
| 336 | #define IMX6Q_GPR13_SATA_TX_LVL_0_976_V (0x04 << 2) | ||
| 337 | #define IMX6Q_GPR13_SATA_TX_LVL_0_986_V (0x05 << 2) | ||
| 338 | #define IMX6Q_GPR13_SATA_TX_LVL_0_996_V (0x06 << 2) | ||
| 339 | #define IMX6Q_GPR13_SATA_TX_LVL_1_005_V (0x07 << 2) | ||
| 340 | #define IMX6Q_GPR13_SATA_TX_LVL_1_015_V (0x08 << 2) | ||
| 341 | #define IMX6Q_GPR13_SATA_TX_LVL_1_025_V (0x09 << 2) | ||
| 342 | #define IMX6Q_GPR13_SATA_TX_LVL_1_035_V (0x0a << 2) | ||
| 343 | #define IMX6Q_GPR13_SATA_TX_LVL_1_045_V (0x0b << 2) | ||
| 344 | #define IMX6Q_GPR13_SATA_TX_LVL_1_054_V (0x0c << 2) | ||
| 345 | #define IMX6Q_GPR13_SATA_TX_LVL_1_064_V (0x0d << 2) | ||
| 346 | #define IMX6Q_GPR13_SATA_TX_LVL_1_074_V (0x0e << 2) | ||
| 347 | #define IMX6Q_GPR13_SATA_TX_LVL_1_084_V (0x0f << 2) | ||
| 348 | #define IMX6Q_GPR13_SATA_TX_LVL_1_094_V (0x10 << 2) | ||
| 349 | #define IMX6Q_GPR13_SATA_TX_LVL_1_104_V (0x11 << 2) | ||
| 350 | #define IMX6Q_GPR13_SATA_TX_LVL_1_113_V (0x12 << 2) | ||
| 351 | #define IMX6Q_GPR13_SATA_TX_LVL_1_123_V (0x13 << 2) | ||
| 352 | #define IMX6Q_GPR13_SATA_TX_LVL_1_133_V (0x14 << 2) | ||
| 353 | #define IMX6Q_GPR13_SATA_TX_LVL_1_143_V (0x15 << 2) | ||
| 354 | #define IMX6Q_GPR13_SATA_TX_LVL_1_152_V (0x16 << 2) | ||
| 355 | #define IMX6Q_GPR13_SATA_TX_LVL_1_162_V (0x17 << 2) | ||
| 356 | #define IMX6Q_GPR13_SATA_TX_LVL_1_172_V (0x18 << 2) | ||
| 357 | #define IMX6Q_GPR13_SATA_TX_LVL_1_182_V (0x19 << 2) | ||
| 358 | #define IMX6Q_GPR13_SATA_TX_LVL_1_191_V (0x1a << 2) | ||
| 359 | #define IMX6Q_GPR13_SATA_TX_LVL_1_201_V (0x1b << 2) | ||
| 360 | #define IMX6Q_GPR13_SATA_TX_LVL_1_211_V (0x1c << 2) | ||
| 361 | #define IMX6Q_GPR13_SATA_TX_LVL_1_221_V (0x1d << 2) | ||
| 362 | #define IMX6Q_GPR13_SATA_TX_LVL_1_230_V (0x1e << 2) | ||
| 363 | #define IMX6Q_GPR13_SATA_TX_LVL_1_240_V (0x1f << 2) | ||
| 364 | #define IMX6Q_GPR13_SATA_MPLL_CLK_EN BIT(1) | ||
| 365 | #define IMX6Q_GPR13_SATA_TX_EDGE_RATE BIT(0) | ||
| 319 | #endif /* __LINUX_IMX6Q_IOMUXC_GPR_H */ | 366 | #endif /* __LINUX_IMX6Q_IOMUXC_GPR_H */ |
diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h index 8d73fe29796a..db1791bb997a 100644 --- a/include/linux/mfd/ti_am335x_tscadc.h +++ b/include/linux/mfd/ti_am335x_tscadc.h | |||
| @@ -113,11 +113,27 @@ | |||
| 113 | #define CNTRLREG_8WIRE CNTRLREG_AFE_CTRL(3) | 113 | #define CNTRLREG_8WIRE CNTRLREG_AFE_CTRL(3) |
| 114 | #define CNTRLREG_TSCENB BIT(7) | 114 | #define CNTRLREG_TSCENB BIT(7) |
| 115 | 115 | ||
| 116 | /* FIFO READ Register */ | ||
| 117 | #define FIFOREAD_DATA_MASK (0xfff << 0) | ||
| 118 | #define FIFOREAD_CHNLID_MASK (0xf << 16) | ||
| 119 | |||
| 120 | /* Sequencer Status */ | ||
| 121 | #define SEQ_STATUS BIT(5) | ||
| 122 | |||
| 116 | #define ADC_CLK 3000000 | 123 | #define ADC_CLK 3000000 |
| 117 | #define MAX_CLK_DIV 7 | 124 | #define MAX_CLK_DIV 7 |
| 118 | #define TOTAL_STEPS 16 | 125 | #define TOTAL_STEPS 16 |
| 119 | #define TOTAL_CHANNELS 8 | 126 | #define TOTAL_CHANNELS 8 |
| 120 | 127 | ||
| 128 | /* | ||
| 129 | * ADC runs at 3MHz, and it takes | ||
| 130 | * 15 cycles to latch one data output. | ||
| 131 | * Hence the idle time for ADC to | ||
| 132 | * process one sample data would be | ||
| 133 | * around 5 micro seconds. | ||
| 134 | */ | ||
| 135 | #define IDLE_TIMEOUT 5 /* microsec */ | ||
| 136 | |||
| 121 | #define TSCADC_CELLS 2 | 137 | #define TSCADC_CELLS 2 |
| 122 | 138 | ||
| 123 | struct ti_tscadc_dev { | 139 | struct ti_tscadc_dev { |
diff --git a/include/linux/mlx5/device.h b/include/linux/mlx5/device.h index 8de8d8f22384..68029b30c3dc 100644 --- a/include/linux/mlx5/device.h +++ b/include/linux/mlx5/device.h | |||
| @@ -309,21 +309,20 @@ struct mlx5_hca_cap { | |||
| 309 | __be16 max_desc_sz_rq; | 309 | __be16 max_desc_sz_rq; |
| 310 | u8 rsvd21[2]; | 310 | u8 rsvd21[2]; |
| 311 | __be16 max_desc_sz_sq_dc; | 311 | __be16 max_desc_sz_sq_dc; |
| 312 | u8 rsvd22[4]; | 312 | __be32 max_qp_mcg; |
| 313 | __be16 max_qp_mcg; | 313 | u8 rsvd22[3]; |
| 314 | u8 rsvd23; | ||
| 315 | u8 log_max_mcg; | 314 | u8 log_max_mcg; |
| 316 | u8 rsvd24; | 315 | u8 rsvd23; |
| 317 | u8 log_max_pd; | 316 | u8 log_max_pd; |
| 318 | u8 rsvd25; | 317 | u8 rsvd24; |
| 319 | u8 log_max_xrcd; | 318 | u8 log_max_xrcd; |
| 320 | u8 rsvd26[42]; | 319 | u8 rsvd25[42]; |
| 321 | __be16 log_uar_page_sz; | 320 | __be16 log_uar_page_sz; |
| 322 | u8 rsvd27[28]; | 321 | u8 rsvd26[28]; |
| 323 | u8 log_msx_atomic_size_qp; | 322 | u8 log_msx_atomic_size_qp; |
| 324 | u8 rsvd28[2]; | 323 | u8 rsvd27[2]; |
| 325 | u8 log_msx_atomic_size_dc; | 324 | u8 log_msx_atomic_size_dc; |
| 326 | u8 rsvd29[76]; | 325 | u8 rsvd28[76]; |
| 327 | }; | 326 | }; |
| 328 | 327 | ||
| 329 | 328 | ||
| @@ -472,9 +471,8 @@ struct mlx5_eqe_cmd { | |||
| 472 | struct mlx5_eqe_page_req { | 471 | struct mlx5_eqe_page_req { |
| 473 | u8 rsvd0[2]; | 472 | u8 rsvd0[2]; |
| 474 | __be16 func_id; | 473 | __be16 func_id; |
| 475 | u8 rsvd1[2]; | 474 | __be32 num_pages; |
| 476 | __be16 num_pages; | 475 | __be32 rsvd1[5]; |
| 477 | __be32 rsvd2[5]; | ||
| 478 | }; | 476 | }; |
| 479 | 477 | ||
| 480 | union ev_data { | 478 | union ev_data { |
| @@ -690,6 +688,26 @@ struct mlx5_query_cq_mbox_out { | |||
| 690 | __be64 pas[0]; | 688 | __be64 pas[0]; |
| 691 | }; | 689 | }; |
| 692 | 690 | ||
| 691 | struct mlx5_enable_hca_mbox_in { | ||
| 692 | struct mlx5_inbox_hdr hdr; | ||
| 693 | u8 rsvd[8]; | ||
| 694 | }; | ||
| 695 | |||
| 696 | struct mlx5_enable_hca_mbox_out { | ||
| 697 | struct mlx5_outbox_hdr hdr; | ||
| 698 | u8 rsvd[8]; | ||
| 699 | }; | ||
| 700 | |||
| 701 | struct mlx5_disable_hca_mbox_in { | ||
| 702 | struct mlx5_inbox_hdr hdr; | ||
| 703 | u8 rsvd[8]; | ||
| 704 | }; | ||
| 705 | |||
| 706 | struct mlx5_disable_hca_mbox_out { | ||
| 707 | struct mlx5_outbox_hdr hdr; | ||
| 708 | u8 rsvd[8]; | ||
| 709 | }; | ||
| 710 | |||
| 693 | struct mlx5_eq_context { | 711 | struct mlx5_eq_context { |
| 694 | u8 status; | 712 | u8 status; |
| 695 | u8 ec_oi; | 713 | u8 ec_oi; |
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index f22e4419839b..8888381fc150 100644 --- a/include/linux/mlx5/driver.h +++ b/include/linux/mlx5/driver.h | |||
| @@ -101,6 +101,8 @@ enum { | |||
| 101 | MLX5_CMD_OP_QUERY_ADAPTER = 0x101, | 101 | MLX5_CMD_OP_QUERY_ADAPTER = 0x101, |
| 102 | MLX5_CMD_OP_INIT_HCA = 0x102, | 102 | MLX5_CMD_OP_INIT_HCA = 0x102, |
| 103 | MLX5_CMD_OP_TEARDOWN_HCA = 0x103, | 103 | MLX5_CMD_OP_TEARDOWN_HCA = 0x103, |
| 104 | MLX5_CMD_OP_ENABLE_HCA = 0x104, | ||
| 105 | MLX5_CMD_OP_DISABLE_HCA = 0x105, | ||
| 104 | MLX5_CMD_OP_QUERY_PAGES = 0x107, | 106 | MLX5_CMD_OP_QUERY_PAGES = 0x107, |
| 105 | MLX5_CMD_OP_MANAGE_PAGES = 0x108, | 107 | MLX5_CMD_OP_MANAGE_PAGES = 0x108, |
| 106 | MLX5_CMD_OP_SET_HCA_CAP = 0x109, | 108 | MLX5_CMD_OP_SET_HCA_CAP = 0x109, |
| @@ -356,7 +358,7 @@ struct mlx5_caps { | |||
| 356 | u32 reserved_lkey; | 358 | u32 reserved_lkey; |
| 357 | u8 local_ca_ack_delay; | 359 | u8 local_ca_ack_delay; |
| 358 | u8 log_max_mcg; | 360 | u8 log_max_mcg; |
| 359 | u16 max_qp_mcg; | 361 | u32 max_qp_mcg; |
| 360 | int min_page_sz; | 362 | int min_page_sz; |
| 361 | }; | 363 | }; |
| 362 | 364 | ||
| @@ -689,8 +691,8 @@ void mlx5_pagealloc_cleanup(struct mlx5_core_dev *dev); | |||
| 689 | int mlx5_pagealloc_start(struct mlx5_core_dev *dev); | 691 | int mlx5_pagealloc_start(struct mlx5_core_dev *dev); |
| 690 | void mlx5_pagealloc_stop(struct mlx5_core_dev *dev); | 692 | void mlx5_pagealloc_stop(struct mlx5_core_dev *dev); |
| 691 | void mlx5_core_req_pages_handler(struct mlx5_core_dev *dev, u16 func_id, | 693 | void mlx5_core_req_pages_handler(struct mlx5_core_dev *dev, u16 func_id, |
| 692 | s16 npages); | 694 | s32 npages); |
| 693 | int mlx5_satisfy_startup_pages(struct mlx5_core_dev *dev); | 695 | int mlx5_satisfy_startup_pages(struct mlx5_core_dev *dev, int boot); |
| 694 | int mlx5_reclaim_startup_pages(struct mlx5_core_dev *dev); | 696 | int mlx5_reclaim_startup_pages(struct mlx5_core_dev *dev); |
| 695 | void mlx5_register_debugfs(void); | 697 | void mlx5_register_debugfs(void); |
| 696 | void mlx5_unregister_debugfs(void); | 698 | void mlx5_unregister_debugfs(void); |
| @@ -729,9 +731,6 @@ void mlx5_cq_debugfs_cleanup(struct mlx5_core_dev *dev); | |||
| 729 | int mlx5_db_alloc(struct mlx5_core_dev *dev, struct mlx5_db *db); | 731 | int mlx5_db_alloc(struct mlx5_core_dev *dev, struct mlx5_db *db); |
| 730 | void mlx5_db_free(struct mlx5_core_dev *dev, struct mlx5_db *db); | 732 | void mlx5_db_free(struct mlx5_core_dev *dev, struct mlx5_db *db); |
| 731 | 733 | ||
| 732 | typedef void (*health_handler_t)(struct pci_dev *pdev, struct health_buffer __iomem *buf, int size); | ||
| 733 | int mlx5_register_health_report_handler(health_handler_t handler); | ||
| 734 | void mlx5_unregister_health_report_handler(void); | ||
| 735 | const char *mlx5_command_str(int command); | 734 | const char *mlx5_command_str(int command); |
| 736 | int mlx5_cmdif_debugfs_init(struct mlx5_core_dev *dev); | 735 | int mlx5_cmdif_debugfs_init(struct mlx5_core_dev *dev); |
| 737 | void mlx5_cmdif_debugfs_cleanup(struct mlx5_core_dev *dev); | 736 | void mlx5_cmdif_debugfs_cleanup(struct mlx5_core_dev *dev); |
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index b62d4af6c667..45e921401b06 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h | |||
| @@ -361,7 +361,8 @@ struct ssb_device_id { | |||
| 361 | __u16 vendor; | 361 | __u16 vendor; |
| 362 | __u16 coreid; | 362 | __u16 coreid; |
| 363 | __u8 revision; | 363 | __u8 revision; |
| 364 | }; | 364 | __u8 __pad; |
| 365 | } __attribute__((packed, aligned(2))); | ||
| 365 | #define SSB_DEVICE(_vendor, _coreid, _revision) \ | 366 | #define SSB_DEVICE(_vendor, _coreid, _revision) \ |
| 366 | { .vendor = _vendor, .coreid = _coreid, .revision = _revision, } | 367 | { .vendor = _vendor, .coreid = _coreid, .revision = _revision, } |
| 367 | #define SSB_DEVTABLE_END \ | 368 | #define SSB_DEVTABLE_END \ |
| @@ -377,7 +378,7 @@ struct bcma_device_id { | |||
| 377 | __u16 id; | 378 | __u16 id; |
| 378 | __u8 rev; | 379 | __u8 rev; |
| 379 | __u8 class; | 380 | __u8 class; |
| 380 | }; | 381 | } __attribute__((packed,aligned(2))); |
| 381 | #define BCMA_CORE(_manuf, _id, _rev, _class) \ | 382 | #define BCMA_CORE(_manuf, _id, _rev, _class) \ |
| 382 | { .manuf = _manuf, .id = _id, .rev = _rev, .class = _class, } | 383 | { .manuf = _manuf, .id = _id, .rev = _rev, .class = _class, } |
| 383 | #define BCMA_CORETABLE_END \ | 384 | #define BCMA_CORETABLE_END \ |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 0741a1e919a5..9a4156845e93 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -973,7 +973,7 @@ struct net_device_ops { | |||
| 973 | gfp_t gfp); | 973 | gfp_t gfp); |
| 974 | void (*ndo_netpoll_cleanup)(struct net_device *dev); | 974 | void (*ndo_netpoll_cleanup)(struct net_device *dev); |
| 975 | #endif | 975 | #endif |
| 976 | #ifdef CONFIG_NET_LL_RX_POLL | 976 | #ifdef CONFIG_NET_RX_BUSY_POLL |
| 977 | int (*ndo_busy_poll)(struct napi_struct *dev); | 977 | int (*ndo_busy_poll)(struct napi_struct *dev); |
| 978 | #endif | 978 | #endif |
| 979 | int (*ndo_set_vf_mac)(struct net_device *dev, | 979 | int (*ndo_set_vf_mac)(struct net_device *dev, |
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h index 8873f82c7baa..c43f6eabad5b 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h | |||
| @@ -826,7 +826,7 @@ static inline void perf_restore_debug_store(void) { } | |||
| 826 | */ | 826 | */ |
| 827 | #define perf_cpu_notifier(fn) \ | 827 | #define perf_cpu_notifier(fn) \ |
| 828 | do { \ | 828 | do { \ |
| 829 | static struct notifier_block fn##_nb __cpuinitdata = \ | 829 | static struct notifier_block fn##_nb = \ |
| 830 | { .notifier_call = fn, .priority = CPU_PRI_PERF }; \ | 830 | { .notifier_call = fn, .priority = CPU_PRI_PERF }; \ |
| 831 | unsigned long cpu = smp_processor_id(); \ | 831 | unsigned long cpu = smp_processor_id(); \ |
| 832 | unsigned long flags; \ | 832 | unsigned long flags; \ |
diff --git a/include/linux/platform_data/mmc-pxamci.h b/include/linux/platform_data/mmc-pxamci.h index 9eb515bb799d..1706b3597ce0 100644 --- a/include/linux/platform_data/mmc-pxamci.h +++ b/include/linux/platform_data/mmc-pxamci.h | |||
| @@ -12,7 +12,7 @@ struct pxamci_platform_data { | |||
| 12 | unsigned long detect_delay_ms; /* delay in millisecond before detecting cards after interrupt */ | 12 | unsigned long detect_delay_ms; /* delay in millisecond before detecting cards after interrupt */ |
| 13 | int (*init)(struct device *, irq_handler_t , void *); | 13 | int (*init)(struct device *, irq_handler_t , void *); |
| 14 | int (*get_ro)(struct device *); | 14 | int (*get_ro)(struct device *); |
| 15 | void (*setpower)(struct device *, unsigned int); | 15 | int (*setpower)(struct device *, unsigned int); |
| 16 | void (*exit)(struct device *, void *); | 16 | void (*exit)(struct device *, void *); |
| 17 | int gpio_card_detect; /* gpio detecting card insertion */ | 17 | int gpio_card_detect; /* gpio detecting card insertion */ |
| 18 | int gpio_card_ro; /* gpio detecting read only toggle */ | 18 | int gpio_card_ro; /* gpio detecting read only toggle */ |
diff --git a/include/linux/pm_wakeup.h b/include/linux/pm_wakeup.h index 569781faa504..a0f70808d7f4 100644 --- a/include/linux/pm_wakeup.h +++ b/include/linux/pm_wakeup.h | |||
| @@ -36,8 +36,8 @@ | |||
| 36 | * @last_time: Monotonic clock when the wakeup source's was touched last time. | 36 | * @last_time: Monotonic clock when the wakeup source's was touched last time. |
| 37 | * @prevent_sleep_time: Total time this source has been preventing autosleep. | 37 | * @prevent_sleep_time: Total time this source has been preventing autosleep. |
| 38 | * @event_count: Number of signaled wakeup events. | 38 | * @event_count: Number of signaled wakeup events. |
| 39 | * @active_count: Number of times the wakeup sorce was activated. | 39 | * @active_count: Number of times the wakeup source was activated. |
| 40 | * @relax_count: Number of times the wakeup sorce was deactivated. | 40 | * @relax_count: Number of times the wakeup source was deactivated. |
| 41 | * @expire_count: Number of times the wakeup source's timeout has expired. | 41 | * @expire_count: Number of times the wakeup source's timeout has expired. |
| 42 | * @wakeup_count: Number of times the wakeup source might abort suspend. | 42 | * @wakeup_count: Number of times the wakeup source might abort suspend. |
| 43 | * @active: Status of the wakeup source. | 43 | * @active: Status of the wakeup source. |
diff --git a/include/linux/regmap.h b/include/linux/regmap.h index 75981d0b57dc..580a5320cc96 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | 15 | ||
| 16 | #include <linux/list.h> | 16 | #include <linux/list.h> |
| 17 | #include <linux/rbtree.h> | 17 | #include <linux/rbtree.h> |
| 18 | #include <linux/err.h> | ||
| 18 | 19 | ||
| 19 | struct module; | 20 | struct module; |
| 20 | struct device; | 21 | struct device; |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 50d04b92ceda..e9995eb5985c 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -314,6 +314,7 @@ struct nsproxy; | |||
| 314 | struct user_namespace; | 314 | struct user_namespace; |
| 315 | 315 | ||
| 316 | #ifdef CONFIG_MMU | 316 | #ifdef CONFIG_MMU |
| 317 | extern unsigned long mmap_legacy_base(void); | ||
| 317 | extern void arch_pick_mmap_layout(struct mm_struct *mm); | 318 | extern void arch_pick_mmap_layout(struct mm_struct *mm); |
| 318 | extern unsigned long | 319 | extern unsigned long |
| 319 | arch_get_unmapped_area(struct file *, unsigned long, unsigned long, | 320 | arch_get_unmapped_area(struct file *, unsigned long, unsigned long, |
| @@ -1532,6 +1533,8 @@ static inline pid_t task_pgrp_nr(struct task_struct *tsk) | |||
| 1532 | * Test if a process is not yet dead (at most zombie state) | 1533 | * Test if a process is not yet dead (at most zombie state) |
| 1533 | * If pid_alive fails, then pointers within the task structure | 1534 | * If pid_alive fails, then pointers within the task structure |
| 1534 | * can be stale and must not be dereferenced. | 1535 | * can be stale and must not be dereferenced. |
| 1536 | * | ||
| 1537 | * Return: 1 if the process is alive. 0 otherwise. | ||
| 1535 | */ | 1538 | */ |
| 1536 | static inline int pid_alive(struct task_struct *p) | 1539 | static inline int pid_alive(struct task_struct *p) |
| 1537 | { | 1540 | { |
| @@ -1543,6 +1546,8 @@ static inline int pid_alive(struct task_struct *p) | |||
| 1543 | * @tsk: Task structure to be checked. | 1546 | * @tsk: Task structure to be checked. |
| 1544 | * | 1547 | * |
| 1545 | * Check if a task structure is the first user space task the kernel created. | 1548 | * Check if a task structure is the first user space task the kernel created. |
| 1549 | * | ||
| 1550 | * Return: 1 if the task structure is init. 0 otherwise. | ||
| 1546 | */ | 1551 | */ |
| 1547 | static inline int is_global_init(struct task_struct *tsk) | 1552 | static inline int is_global_init(struct task_struct *tsk) |
| 1548 | { | 1553 | { |
| @@ -1628,6 +1633,7 @@ extern void thread_group_cputime_adjusted(struct task_struct *p, cputime_t *ut, | |||
| 1628 | #define PF_MEMPOLICY 0x10000000 /* Non-default NUMA mempolicy */ | 1633 | #define PF_MEMPOLICY 0x10000000 /* Non-default NUMA mempolicy */ |
| 1629 | #define PF_MUTEX_TESTER 0x20000000 /* Thread belongs to the rt mutex tester */ | 1634 | #define PF_MUTEX_TESTER 0x20000000 /* Thread belongs to the rt mutex tester */ |
| 1630 | #define PF_FREEZER_SKIP 0x40000000 /* Freezer should not count it as freezable */ | 1635 | #define PF_FREEZER_SKIP 0x40000000 /* Freezer should not count it as freezable */ |
| 1636 | #define PF_SUSPEND_TASK 0x80000000 /* this thread called freeze_processes and should not be frozen */ | ||
| 1631 | 1637 | ||
| 1632 | /* | 1638 | /* |
| 1633 | * Only the _current_ task can read/write to tsk->flags, but other | 1639 | * Only the _current_ task can read/write to tsk->flags, but other |
| @@ -1893,6 +1899,8 @@ extern struct task_struct *idle_task(int cpu); | |||
| 1893 | /** | 1899 | /** |
| 1894 | * is_idle_task - is the specified task an idle task? | 1900 | * is_idle_task - is the specified task an idle task? |
| 1895 | * @p: the task in question. | 1901 | * @p: the task in question. |
| 1902 | * | ||
| 1903 | * Return: 1 if @p is an idle task. 0 otherwise. | ||
| 1896 | */ | 1904 | */ |
| 1897 | static inline bool is_idle_task(const struct task_struct *p) | 1905 | static inline bool is_idle_task(const struct task_struct *p) |
| 1898 | { | 1906 | { |
diff --git a/include/linux/shdma-base.h b/include/linux/shdma-base.h index 382cf710ca9a..5b1c9848124c 100644 --- a/include/linux/shdma-base.h +++ b/include/linux/shdma-base.h | |||
| @@ -124,6 +124,10 @@ void shdma_chan_remove(struct shdma_chan *schan); | |||
| 124 | int shdma_init(struct device *dev, struct shdma_dev *sdev, | 124 | int shdma_init(struct device *dev, struct shdma_dev *sdev, |
| 125 | int chan_num); | 125 | int chan_num); |
| 126 | void shdma_cleanup(struct shdma_dev *sdev); | 126 | void shdma_cleanup(struct shdma_dev *sdev); |
| 127 | #if IS_ENABLED(CONFIG_SH_DMAE_BASE) | ||
| 127 | bool shdma_chan_filter(struct dma_chan *chan, void *arg); | 128 | bool shdma_chan_filter(struct dma_chan *chan, void *arg); |
| 129 | #else | ||
| 130 | #define shdma_chan_filter NULL | ||
| 131 | #endif | ||
| 128 | 132 | ||
| 129 | #endif | 133 | #endif |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 5afefa01a13c..3b71a4e83642 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -501,7 +501,7 @@ struct sk_buff { | |||
| 501 | /* 7/9 bit hole (depending on ndisc_nodetype presence) */ | 501 | /* 7/9 bit hole (depending on ndisc_nodetype presence) */ |
| 502 | kmemcheck_bitfield_end(flags2); | 502 | kmemcheck_bitfield_end(flags2); |
| 503 | 503 | ||
| 504 | #if defined CONFIG_NET_DMA || defined CONFIG_NET_LL_RX_POLL | 504 | #if defined CONFIG_NET_DMA || defined CONFIG_NET_RX_BUSY_POLL |
| 505 | union { | 505 | union { |
| 506 | unsigned int napi_id; | 506 | unsigned int napi_id; |
| 507 | dma_cookie_t dma_cookie; | 507 | dma_cookie_t dma_cookie; |
diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h index 7d537ced949a..75f34949d9ab 100644 --- a/include/linux/spinlock.h +++ b/include/linux/spinlock.h | |||
| @@ -117,9 +117,17 @@ do { \ | |||
| 117 | #endif /*arch_spin_is_contended*/ | 117 | #endif /*arch_spin_is_contended*/ |
| 118 | #endif | 118 | #endif |
| 119 | 119 | ||
| 120 | /* The lock does not imply full memory barrier. */ | 120 | /* |
| 121 | #ifndef ARCH_HAS_SMP_MB_AFTER_LOCK | 121 | * Despite its name it doesn't necessarily has to be a full barrier. |
| 122 | static inline void smp_mb__after_lock(void) { smp_mb(); } | 122 | * It should only guarantee that a STORE before the critical section |
| 123 | * can not be reordered with a LOAD inside this section. | ||
| 124 | * spin_lock() is the one-way barrier, this LOAD can not escape out | ||
| 125 | * of the region. So the default implementation simply ensures that | ||
| 126 | * a STORE can not move into the critical section, smp_wmb() should | ||
| 127 | * serialize it with another STORE done by spin_lock(). | ||
| 128 | */ | ||
| 129 | #ifndef smp_mb__before_spinlock | ||
| 130 | #define smp_mb__before_spinlock() smp_wmb() | ||
| 123 | #endif | 131 | #endif |
| 124 | 132 | ||
| 125 | /** | 133 | /** |
diff --git a/include/linux/sunrpc/sched.h b/include/linux/sunrpc/sched.h index 6d870353674a..1821445708d6 100644 --- a/include/linux/sunrpc/sched.h +++ b/include/linux/sunrpc/sched.h | |||
| @@ -121,6 +121,7 @@ struct rpc_task_setup { | |||
| 121 | #define RPC_TASK_SOFTCONN 0x0400 /* Fail if can't connect */ | 121 | #define RPC_TASK_SOFTCONN 0x0400 /* Fail if can't connect */ |
| 122 | #define RPC_TASK_SENT 0x0800 /* message was sent */ | 122 | #define RPC_TASK_SENT 0x0800 /* message was sent */ |
| 123 | #define RPC_TASK_TIMEOUT 0x1000 /* fail with ETIMEDOUT on timeout */ | 123 | #define RPC_TASK_TIMEOUT 0x1000 /* fail with ETIMEDOUT on timeout */ |
| 124 | #define RPC_TASK_NOCONNECT 0x2000 /* return ENOTCONN if not connected */ | ||
| 124 | 125 | ||
| 125 | #define RPC_IS_ASYNC(t) ((t)->tk_flags & RPC_TASK_ASYNC) | 126 | #define RPC_IS_ASYNC(t) ((t)->tk_flags & RPC_TASK_ASYNC) |
| 126 | #define RPC_IS_SWAPPER(t) ((t)->tk_flags & RPC_TASK_SWAPPER) | 127 | #define RPC_IS_SWAPPER(t) ((t)->tk_flags & RPC_TASK_SWAPPER) |
diff --git a/include/linux/swapops.h b/include/linux/swapops.h index c5fd30d2a415..8d4fa82bfb91 100644 --- a/include/linux/swapops.h +++ b/include/linux/swapops.h | |||
| @@ -67,6 +67,8 @@ static inline swp_entry_t pte_to_swp_entry(pte_t pte) | |||
| 67 | swp_entry_t arch_entry; | 67 | swp_entry_t arch_entry; |
| 68 | 68 | ||
| 69 | BUG_ON(pte_file(pte)); | 69 | BUG_ON(pte_file(pte)); |
| 70 | if (pte_swp_soft_dirty(pte)) | ||
| 71 | pte = pte_swp_clear_soft_dirty(pte); | ||
| 70 | arch_entry = __pte_to_swp_entry(pte); | 72 | arch_entry = __pte_to_swp_entry(pte); |
| 71 | return swp_entry(__swp_type(arch_entry), __swp_offset(arch_entry)); | 73 | return swp_entry(__swp_type(arch_entry), __swp_offset(arch_entry)); |
| 72 | } | 74 | } |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 4147d700a293..84662ecc7b51 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
| @@ -802,9 +802,14 @@ asmlinkage long sys_vfork(void); | |||
| 802 | asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, int, | 802 | asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, int, |
| 803 | int __user *); | 803 | int __user *); |
| 804 | #else | 804 | #else |
| 805 | #ifdef CONFIG_CLONE_BACKWARDS3 | ||
| 806 | asmlinkage long sys_clone(unsigned long, unsigned long, int, int __user *, | ||
| 807 | int __user *, int); | ||
| 808 | #else | ||
| 805 | asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, | 809 | asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, |
| 806 | int __user *, int); | 810 | int __user *, int); |
| 807 | #endif | 811 | #endif |
| 812 | #endif | ||
| 808 | 813 | ||
| 809 | asmlinkage long sys_execve(const char __user *filename, | 814 | asmlinkage long sys_execve(const char __user *filename, |
| 810 | const char __user *const __user *argv, | 815 | const char __user *const __user *argv, |
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index e2cee22f578a..9e8a9b555ad6 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h | |||
| @@ -17,10 +17,12 @@ | |||
| 17 | #include <linux/list.h> | 17 | #include <linux/list.h> |
| 18 | #include <linux/lockdep.h> | 18 | #include <linux/lockdep.h> |
| 19 | #include <linux/kobject_ns.h> | 19 | #include <linux/kobject_ns.h> |
| 20 | #include <linux/stat.h> | ||
| 20 | #include <linux/atomic.h> | 21 | #include <linux/atomic.h> |
| 21 | 22 | ||
| 22 | struct kobject; | 23 | struct kobject; |
| 23 | struct module; | 24 | struct module; |
| 25 | struct bin_attribute; | ||
| 24 | enum kobj_ns_type; | 26 | enum kobj_ns_type; |
| 25 | 27 | ||
| 26 | struct attribute { | 28 | struct attribute { |
| @@ -59,26 +61,28 @@ struct attribute_group { | |||
| 59 | umode_t (*is_visible)(struct kobject *, | 61 | umode_t (*is_visible)(struct kobject *, |
| 60 | struct attribute *, int); | 62 | struct attribute *, int); |
| 61 | struct attribute **attrs; | 63 | struct attribute **attrs; |
| 64 | struct bin_attribute **bin_attrs; | ||
| 62 | }; | 65 | }; |
| 63 | 66 | ||
| 64 | |||
| 65 | |||
| 66 | /** | 67 | /** |
| 67 | * Use these macros to make defining attributes easier. See include/linux/device.h | 68 | * Use these macros to make defining attributes easier. See include/linux/device.h |
| 68 | * for examples.. | 69 | * for examples.. |
| 69 | */ | 70 | */ |
| 70 | 71 | ||
| 71 | #define __ATTR(_name,_mode,_show,_store) { \ | 72 | #define __ATTR(_name,_mode,_show,_store) { \ |
| 72 | .attr = {.name = __stringify(_name), .mode = _mode }, \ | 73 | .attr = {.name = __stringify(_name), .mode = _mode }, \ |
| 73 | .show = _show, \ | 74 | .show = _show, \ |
| 74 | .store = _store, \ | 75 | .store = _store, \ |
| 75 | } | 76 | } |
| 76 | 77 | ||
| 77 | #define __ATTR_RO(_name) { \ | 78 | #define __ATTR_RO(_name) { \ |
| 78 | .attr = { .name = __stringify(_name), .mode = 0444 }, \ | 79 | .attr = { .name = __stringify(_name), .mode = S_IRUGO }, \ |
| 79 | .show = _name##_show, \ | 80 | .show = _name##_show, \ |
| 80 | } | 81 | } |
| 81 | 82 | ||
| 83 | #define __ATTR_RW(_name) __ATTR(_name, (S_IWUSR | S_IRUGO), \ | ||
| 84 | _name##_show, _name##_store) | ||
| 85 | |||
| 82 | #define __ATTR_NULL { .attr = { .name = NULL } } | 86 | #define __ATTR_NULL { .attr = { .name = NULL } } |
| 83 | 87 | ||
| 84 | #ifdef CONFIG_DEBUG_LOCK_ALLOC | 88 | #ifdef CONFIG_DEBUG_LOCK_ALLOC |
| @@ -92,6 +96,18 @@ struct attribute_group { | |||
| 92 | #define __ATTR_IGNORE_LOCKDEP __ATTR | 96 | #define __ATTR_IGNORE_LOCKDEP __ATTR |
| 93 | #endif | 97 | #endif |
| 94 | 98 | ||
| 99 | #define __ATTRIBUTE_GROUPS(_name) \ | ||
| 100 | static const struct attribute_group *_name##_groups[] = { \ | ||
| 101 | &_name##_group, \ | ||
| 102 | NULL, \ | ||
| 103 | } | ||
| 104 | |||
| 105 | #define ATTRIBUTE_GROUPS(_name) \ | ||
| 106 | static const struct attribute_group _name##_group = { \ | ||
| 107 | .attrs = _name##_attrs, \ | ||
| 108 | }; \ | ||
| 109 | __ATTRIBUTE_GROUPS(_name) | ||
| 110 | |||
| 95 | #define attr_name(_attr) (_attr).attr.name | 111 | #define attr_name(_attr) (_attr).attr.name |
| 96 | 112 | ||
| 97 | struct file; | 113 | struct file; |
| @@ -121,6 +137,36 @@ struct bin_attribute { | |||
| 121 | */ | 137 | */ |
| 122 | #define sysfs_bin_attr_init(bin_attr) sysfs_attr_init(&(bin_attr)->attr) | 138 | #define sysfs_bin_attr_init(bin_attr) sysfs_attr_init(&(bin_attr)->attr) |
| 123 | 139 | ||
| 140 | /* macros to create static binary attributes easier */ | ||
| 141 | #define __BIN_ATTR(_name, _mode, _read, _write, _size) { \ | ||
| 142 | .attr = { .name = __stringify(_name), .mode = _mode }, \ | ||
| 143 | .read = _read, \ | ||
| 144 | .write = _write, \ | ||
| 145 | .size = _size, \ | ||
| 146 | } | ||
| 147 | |||
| 148 | #define __BIN_ATTR_RO(_name, _size) { \ | ||
| 149 | .attr = { .name = __stringify(_name), .mode = S_IRUGO }, \ | ||
| 150 | .read = _name##_read, \ | ||
| 151 | .size = _size, \ | ||
| 152 | } | ||
| 153 | |||
| 154 | #define __BIN_ATTR_RW(_name, _size) __BIN_ATTR(_name, \ | ||
| 155 | (S_IWUSR | S_IRUGO), _name##_read, \ | ||
| 156 | _name##_write) | ||
| 157 | |||
| 158 | #define __BIN_ATTR_NULL __ATTR_NULL | ||
| 159 | |||
| 160 | #define BIN_ATTR(_name, _mode, _read, _write, _size) \ | ||
| 161 | struct bin_attribute bin_attr_##_name = __BIN_ATTR(_name, _mode, _read, \ | ||
| 162 | _write, _size) | ||
| 163 | |||
| 164 | #define BIN_ATTR_RO(_name, _size) \ | ||
| 165 | struct bin_attribute bin_attr_##_name = __BIN_ATTR_RO(_name, _size) | ||
| 166 | |||
| 167 | #define BIN_ATTR_RW(_name, _size) \ | ||
| 168 | struct bin_attribute bin_attr_##_name = __BIN_ATTR_RW(_name, _size) | ||
| 169 | |||
| 124 | struct sysfs_ops { | 170 | struct sysfs_ops { |
| 125 | ssize_t (*show)(struct kobject *, struct attribute *,char *); | 171 | ssize_t (*show)(struct kobject *, struct attribute *,char *); |
| 126 | ssize_t (*store)(struct kobject *,struct attribute *,const char *, size_t); | 172 | ssize_t (*store)(struct kobject *,struct attribute *,const char *, size_t); |
diff --git a/include/linux/tick.h b/include/linux/tick.h index 9180f4b85e6d..62bd8b72873c 100644 --- a/include/linux/tick.h +++ b/include/linux/tick.h | |||
| @@ -174,10 +174,4 @@ static inline void tick_nohz_task_switch(struct task_struct *tsk) { } | |||
| 174 | #endif | 174 | #endif |
| 175 | 175 | ||
| 176 | 176 | ||
| 177 | # ifdef CONFIG_CPU_IDLE_GOV_MENU | ||
| 178 | extern void menu_hrtimer_cancel(void); | ||
| 179 | # else | ||
| 180 | static inline void menu_hrtimer_cancel(void) {} | ||
| 181 | # endif /* CONFIG_CPU_IDLE_GOV_MENU */ | ||
| 182 | |||
| 183 | #endif | 177 | #endif |
diff --git a/include/linux/usb.h b/include/linux/usb.h index a232b7ece1f6..0eec2689b955 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
| @@ -367,17 +367,6 @@ struct usb_bus { | |||
| 367 | 367 | ||
| 368 | /* ----------------------------------------------------------------------- */ | 368 | /* ----------------------------------------------------------------------- */ |
| 369 | 369 | ||
| 370 | /* This is arbitrary. | ||
| 371 | * From USB 2.0 spec Table 11-13, offset 7, a hub can | ||
| 372 | * have up to 255 ports. The most yet reported is 10. | ||
| 373 | * | ||
| 374 | * Current Wireless USB host hardware (Intel i1480 for example) allows | ||
| 375 | * up to 22 devices to connect. Upcoming hardware might raise that | ||
| 376 | * limit. Because the arrays need to add a bit for hub status data, we | ||
| 377 | * do 31, so plus one evens out to four bytes. | ||
| 378 | */ | ||
| 379 | #define USB_MAXCHILDREN (31) | ||
| 380 | |||
| 381 | struct usb_tt; | 370 | struct usb_tt; |
| 382 | 371 | ||
| 383 | enum usb_device_removable { | 372 | enum usb_device_removable { |
diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h index b6b215f13b45..14105c26a836 100644 --- a/include/linux/user_namespace.h +++ b/include/linux/user_namespace.h | |||
| @@ -23,6 +23,7 @@ struct user_namespace { | |||
| 23 | struct uid_gid_map projid_map; | 23 | struct uid_gid_map projid_map; |
| 24 | atomic_t count; | 24 | atomic_t count; |
| 25 | struct user_namespace *parent; | 25 | struct user_namespace *parent; |
| 26 | int level; | ||
| 26 | kuid_t owner; | 27 | kuid_t owner; |
| 27 | kgid_t group; | 28 | kgid_t group; |
| 28 | unsigned int proc_inum; | 29 | unsigned int proc_inum; |
diff --git a/include/linux/vmpressure.h b/include/linux/vmpressure.h index 76be077340ea..7dc17e2456de 100644 --- a/include/linux/vmpressure.h +++ b/include/linux/vmpressure.h | |||
| @@ -12,7 +12,7 @@ struct vmpressure { | |||
| 12 | unsigned long scanned; | 12 | unsigned long scanned; |
| 13 | unsigned long reclaimed; | 13 | unsigned long reclaimed; |
| 14 | /* The lock is used to keep the scanned/reclaimed above in sync. */ | 14 | /* The lock is used to keep the scanned/reclaimed above in sync. */ |
| 15 | struct mutex sr_lock; | 15 | struct spinlock sr_lock; |
| 16 | 16 | ||
| 17 | /* The list of vmpressure_event structs. */ | 17 | /* The list of vmpressure_event structs. */ |
| 18 | struct list_head events; | 18 | struct list_head events; |
| @@ -30,6 +30,7 @@ extern void vmpressure(gfp_t gfp, struct mem_cgroup *memcg, | |||
| 30 | extern void vmpressure_prio(gfp_t gfp, struct mem_cgroup *memcg, int prio); | 30 | extern void vmpressure_prio(gfp_t gfp, struct mem_cgroup *memcg, int prio); |
| 31 | 31 | ||
| 32 | extern void vmpressure_init(struct vmpressure *vmpr); | 32 | extern void vmpressure_init(struct vmpressure *vmpr); |
| 33 | extern void vmpressure_cleanup(struct vmpressure *vmpr); | ||
| 33 | extern struct vmpressure *memcg_to_vmpressure(struct mem_cgroup *memcg); | 34 | extern struct vmpressure *memcg_to_vmpressure(struct mem_cgroup *memcg); |
| 34 | extern struct cgroup_subsys_state *vmpressure_to_css(struct vmpressure *vmpr); | 35 | extern struct cgroup_subsys_state *vmpressure_to_css(struct vmpressure *vmpr); |
| 35 | extern struct vmpressure *css_to_vmpressure(struct cgroup_subsys_state *css); | 36 | extern struct vmpressure *css_to_vmpressure(struct cgroup_subsys_state *css); |
