diff options
| author | David S. Miller <davem@davemloft.net> | 2016-07-06 13:35:22 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2016-07-06 13:35:22 -0400 |
| commit | 30d0844bdcea9fb8b0b3c8abfa5547bc3bcf8baa (patch) | |
| tree | 87302af9e03ee50cf135cc9ce6589f41fe3b3db1 /include | |
| parent | ae3e4562e2ce0149a4424c994a282955700711e7 (diff) | |
| parent | bc86765181aa26cc9afcb0a6f9f253cbb1186f26 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/mellanox/mlx5/core/en.h
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/usb/r8152.c
All three conflicts were overlapping changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/drm/i915_pciids.h | 10 | ||||
| -rw-r--r-- | include/kvm/arm_pmu.h | 4 | ||||
| -rw-r--r-- | include/linux/mfd/da9052/da9052.h | 2 | ||||
| -rw-r--r-- | include/linux/mlx5/driver.h | 1 | ||||
| -rw-r--r-- | include/linux/pwm.h | 16 | ||||
| -rw-r--r-- | include/linux/reset.h | 211 | ||||
| -rw-r--r-- | include/linux/skbuff.h | 20 | ||||
| -rw-r--r-- | include/linux/usb/ehci_def.h | 4 | ||||
| -rw-r--r-- | include/net/bonding.h | 7 | ||||
| -rw-r--r-- | include/net/ip.h | 5 | ||||
| -rw-r--r-- | include/uapi/linux/fuse.h | 7 |
11 files changed, 221 insertions, 66 deletions
diff --git a/include/drm/i915_pciids.h b/include/drm/i915_pciids.h index 9094599a1150..33466bfc6440 100644 --- a/include/drm/i915_pciids.h +++ b/include/drm/i915_pciids.h | |||
| @@ -309,6 +309,7 @@ | |||
| 309 | INTEL_VGA_DEVICE(0x5906, info), /* ULT GT1 */ \ | 309 | INTEL_VGA_DEVICE(0x5906, info), /* ULT GT1 */ \ |
| 310 | INTEL_VGA_DEVICE(0x590E, info), /* ULX GT1 */ \ | 310 | INTEL_VGA_DEVICE(0x590E, info), /* ULX GT1 */ \ |
| 311 | INTEL_VGA_DEVICE(0x5902, info), /* DT GT1 */ \ | 311 | INTEL_VGA_DEVICE(0x5902, info), /* DT GT1 */ \ |
| 312 | INTEL_VGA_DEVICE(0x5908, info), /* Halo GT1 */ \ | ||
| 312 | INTEL_VGA_DEVICE(0x590B, info), /* Halo GT1 */ \ | 313 | INTEL_VGA_DEVICE(0x590B, info), /* Halo GT1 */ \ |
| 313 | INTEL_VGA_DEVICE(0x590A, info) /* SRV GT1 */ | 314 | INTEL_VGA_DEVICE(0x590A, info) /* SRV GT1 */ |
| 314 | 315 | ||
| @@ -322,15 +323,12 @@ | |||
| 322 | INTEL_VGA_DEVICE(0x591D, info) /* WKS GT2 */ | 323 | INTEL_VGA_DEVICE(0x591D, info) /* WKS GT2 */ |
| 323 | 324 | ||
| 324 | #define INTEL_KBL_GT3_IDS(info) \ | 325 | #define INTEL_KBL_GT3_IDS(info) \ |
| 326 | INTEL_VGA_DEVICE(0x5923, info), /* ULT GT3 */ \ | ||
| 325 | INTEL_VGA_DEVICE(0x5926, info), /* ULT GT3 */ \ | 327 | INTEL_VGA_DEVICE(0x5926, info), /* ULT GT3 */ \ |
| 326 | INTEL_VGA_DEVICE(0x592B, info), /* Halo GT3 */ \ | 328 | INTEL_VGA_DEVICE(0x5927, info) /* ULT GT3 */ |
| 327 | INTEL_VGA_DEVICE(0x592A, info) /* SRV GT3 */ | ||
| 328 | 329 | ||
| 329 | #define INTEL_KBL_GT4_IDS(info) \ | 330 | #define INTEL_KBL_GT4_IDS(info) \ |
| 330 | INTEL_VGA_DEVICE(0x5932, info), /* DT GT4 */ \ | 331 | INTEL_VGA_DEVICE(0x593B, info) /* Halo GT4 */ |
| 331 | INTEL_VGA_DEVICE(0x593B, info), /* Halo GT4 */ \ | ||
| 332 | INTEL_VGA_DEVICE(0x593A, info), /* SRV GT4 */ \ | ||
| 333 | INTEL_VGA_DEVICE(0x593D, info) /* WKS GT4 */ | ||
| 334 | 332 | ||
| 335 | #define INTEL_KBL_IDS(info) \ | 333 | #define INTEL_KBL_IDS(info) \ |
| 336 | INTEL_KBL_GT1_IDS(info), \ | 334 | INTEL_KBL_GT1_IDS(info), \ |
diff --git a/include/kvm/arm_pmu.h b/include/kvm/arm_pmu.h index fe389ac31489..92e7e97ca8ff 100644 --- a/include/kvm/arm_pmu.h +++ b/include/kvm/arm_pmu.h | |||
| @@ -18,13 +18,13 @@ | |||
| 18 | #ifndef __ASM_ARM_KVM_PMU_H | 18 | #ifndef __ASM_ARM_KVM_PMU_H |
| 19 | #define __ASM_ARM_KVM_PMU_H | 19 | #define __ASM_ARM_KVM_PMU_H |
| 20 | 20 | ||
| 21 | #ifdef CONFIG_KVM_ARM_PMU | ||
| 22 | |||
| 23 | #include <linux/perf_event.h> | 21 | #include <linux/perf_event.h> |
| 24 | #include <asm/perf_event.h> | 22 | #include <asm/perf_event.h> |
| 25 | 23 | ||
| 26 | #define ARMV8_PMU_CYCLE_IDX (ARMV8_PMU_MAX_COUNTERS - 1) | 24 | #define ARMV8_PMU_CYCLE_IDX (ARMV8_PMU_MAX_COUNTERS - 1) |
| 27 | 25 | ||
| 26 | #ifdef CONFIG_KVM_ARM_PMU | ||
| 27 | |||
| 28 | struct kvm_pmc { | 28 | struct kvm_pmc { |
| 29 | u8 idx; /* index into the pmu->pmc array */ | 29 | u8 idx; /* index into the pmu->pmc array */ |
| 30 | struct perf_event *perf_event; | 30 | struct perf_event *perf_event; |
diff --git a/include/linux/mfd/da9052/da9052.h b/include/linux/mfd/da9052/da9052.h index c18a4c19d6fc..ce9230af09c2 100644 --- a/include/linux/mfd/da9052/da9052.h +++ b/include/linux/mfd/da9052/da9052.h | |||
| @@ -171,7 +171,7 @@ static inline int da9052_group_read(struct da9052 *da9052, unsigned char reg, | |||
| 171 | static inline int da9052_group_write(struct da9052 *da9052, unsigned char reg, | 171 | static inline int da9052_group_write(struct da9052 *da9052, unsigned char reg, |
| 172 | unsigned reg_cnt, unsigned char *val) | 172 | unsigned reg_cnt, unsigned char *val) |
| 173 | { | 173 | { |
| 174 | int ret; | 174 | int ret = 0; |
| 175 | int i; | 175 | int i; |
| 176 | 176 | ||
| 177 | for (i = 0; i < reg_cnt; i++) { | 177 | for (i = 0; i < reg_cnt; i++) { |
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index f21c45941887..81e8396574f4 100644 --- a/include/linux/mlx5/driver.h +++ b/include/linux/mlx5/driver.h | |||
| @@ -654,6 +654,7 @@ struct mlx5_cmd_work_ent { | |||
| 654 | void *uout; | 654 | void *uout; |
| 655 | int uout_size; | 655 | int uout_size; |
| 656 | mlx5_cmd_cbk_t callback; | 656 | mlx5_cmd_cbk_t callback; |
| 657 | struct delayed_work cb_timeout_work; | ||
| 657 | void *context; | 658 | void *context; |
| 658 | int idx; | 659 | int idx; |
| 659 | struct completion done; | 660 | struct completion done; |
diff --git a/include/linux/pwm.h b/include/linux/pwm.h index 908b67c847cd..c038ae36b10e 100644 --- a/include/linux/pwm.h +++ b/include/linux/pwm.h | |||
| @@ -464,6 +464,8 @@ static inline bool pwm_can_sleep(struct pwm_device *pwm) | |||
| 464 | 464 | ||
| 465 | static inline void pwm_apply_args(struct pwm_device *pwm) | 465 | static inline void pwm_apply_args(struct pwm_device *pwm) |
| 466 | { | 466 | { |
| 467 | struct pwm_state state = { }; | ||
| 468 | |||
| 467 | /* | 469 | /* |
| 468 | * PWM users calling pwm_apply_args() expect to have a fresh config | 470 | * PWM users calling pwm_apply_args() expect to have a fresh config |
| 469 | * where the polarity and period are set according to pwm_args info. | 471 | * where the polarity and period are set according to pwm_args info. |
| @@ -476,18 +478,20 @@ static inline void pwm_apply_args(struct pwm_device *pwm) | |||
| 476 | * at startup (even if they are actually enabled), thus authorizing | 478 | * at startup (even if they are actually enabled), thus authorizing |
| 477 | * polarity setting. | 479 | * polarity setting. |
| 478 | * | 480 | * |
| 479 | * Instead of setting ->enabled to false, we call pwm_disable() | 481 | * To fulfill this requirement, we apply a new state which disables |
| 480 | * before pwm_set_polarity() to ensure that everything is configured | 482 | * the PWM device and set the reference period and polarity config. |
| 481 | * as expected, and the PWM is really disabled when the user request | ||
| 482 | * it. | ||
| 483 | * | 483 | * |
| 484 | * Note that PWM users requiring a smooth handover between the | 484 | * Note that PWM users requiring a smooth handover between the |
| 485 | * bootloader and the kernel (like critical regulators controlled by | 485 | * bootloader and the kernel (like critical regulators controlled by |
| 486 | * PWM devices) will have to switch to the atomic API and avoid calling | 486 | * PWM devices) will have to switch to the atomic API and avoid calling |
| 487 | * pwm_apply_args(). | 487 | * pwm_apply_args(). |
| 488 | */ | 488 | */ |
| 489 | pwm_disable(pwm); | 489 | |
| 490 | pwm_set_polarity(pwm, pwm->args.polarity); | 490 | state.enabled = false; |
| 491 | state.polarity = pwm->args.polarity; | ||
| 492 | state.period = pwm->args.period; | ||
| 493 | |||
| 494 | pwm_apply_state(pwm, &state); | ||
| 491 | } | 495 | } |
| 492 | 496 | ||
| 493 | struct pwm_lookup { | 497 | struct pwm_lookup { |
diff --git a/include/linux/reset.h b/include/linux/reset.h index ec0306ce7b92..45a4abeb6acb 100644 --- a/include/linux/reset.h +++ b/include/linux/reset.h | |||
| @@ -84,8 +84,8 @@ static inline struct reset_control *__devm_reset_control_get( | |||
| 84 | #endif /* CONFIG_RESET_CONTROLLER */ | 84 | #endif /* CONFIG_RESET_CONTROLLER */ |
| 85 | 85 | ||
| 86 | /** | 86 | /** |
| 87 | * reset_control_get - Lookup and obtain an exclusive reference to a | 87 | * reset_control_get_exclusive - Lookup and obtain an exclusive reference |
| 88 | * reset controller. | 88 | * to a reset controller. |
| 89 | * @dev: device to be reset by the controller | 89 | * @dev: device to be reset by the controller |
| 90 | * @id: reset line name | 90 | * @id: reset line name |
| 91 | * | 91 | * |
| @@ -98,8 +98,8 @@ static inline struct reset_control *__devm_reset_control_get( | |||
| 98 | * | 98 | * |
| 99 | * Use of id names is optional. | 99 | * Use of id names is optional. |
| 100 | */ | 100 | */ |
| 101 | static inline struct reset_control *__must_check reset_control_get( | 101 | static inline struct reset_control * |
| 102 | struct device *dev, const char *id) | 102 | __must_check reset_control_get_exclusive(struct device *dev, const char *id) |
| 103 | { | 103 | { |
| 104 | #ifndef CONFIG_RESET_CONTROLLER | 104 | #ifndef CONFIG_RESET_CONTROLLER |
| 105 | WARN_ON(1); | 105 | WARN_ON(1); |
| @@ -107,12 +107,6 @@ static inline struct reset_control *__must_check reset_control_get( | |||
| 107 | return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, 0); | 107 | return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, 0); |
| 108 | } | 108 | } |
| 109 | 109 | ||
| 110 | static inline struct reset_control *reset_control_get_optional( | ||
| 111 | struct device *dev, const char *id) | ||
| 112 | { | ||
| 113 | return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, 0); | ||
| 114 | } | ||
| 115 | |||
| 116 | /** | 110 | /** |
| 117 | * reset_control_get_shared - Lookup and obtain a shared reference to a | 111 | * reset_control_get_shared - Lookup and obtain a shared reference to a |
| 118 | * reset controller. | 112 | * reset controller. |
| @@ -141,9 +135,21 @@ static inline struct reset_control *reset_control_get_shared( | |||
| 141 | return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, 1); | 135 | return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, 1); |
| 142 | } | 136 | } |
| 143 | 137 | ||
| 138 | static inline struct reset_control *reset_control_get_optional_exclusive( | ||
| 139 | struct device *dev, const char *id) | ||
| 140 | { | ||
| 141 | return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, 0); | ||
| 142 | } | ||
| 143 | |||
| 144 | static inline struct reset_control *reset_control_get_optional_shared( | ||
| 145 | struct device *dev, const char *id) | ||
| 146 | { | ||
| 147 | return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, 1); | ||
| 148 | } | ||
| 149 | |||
| 144 | /** | 150 | /** |
| 145 | * of_reset_control_get - Lookup and obtain an exclusive reference to a | 151 | * of_reset_control_get_exclusive - Lookup and obtain an exclusive reference |
| 146 | * reset controller. | 152 | * to a reset controller. |
| 147 | * @node: device to be reset by the controller | 153 | * @node: device to be reset by the controller |
| 148 | * @id: reset line name | 154 | * @id: reset line name |
| 149 | * | 155 | * |
| @@ -151,15 +157,41 @@ static inline struct reset_control *reset_control_get_shared( | |||
| 151 | * | 157 | * |
| 152 | * Use of id names is optional. | 158 | * Use of id names is optional. |
| 153 | */ | 159 | */ |
| 154 | static inline struct reset_control *of_reset_control_get( | 160 | static inline struct reset_control *of_reset_control_get_exclusive( |
| 155 | struct device_node *node, const char *id) | 161 | struct device_node *node, const char *id) |
| 156 | { | 162 | { |
| 157 | return __of_reset_control_get(node, id, 0, 0); | 163 | return __of_reset_control_get(node, id, 0, 0); |
| 158 | } | 164 | } |
| 159 | 165 | ||
| 160 | /** | 166 | /** |
| 161 | * of_reset_control_get_by_index - Lookup and obtain an exclusive reference to | 167 | * of_reset_control_get_shared - Lookup and obtain an shared reference |
| 162 | * a reset controller by index. | 168 | * to a reset controller. |
| 169 | * @node: device to be reset by the controller | ||
| 170 | * @id: reset line name | ||
| 171 | * | ||
| 172 | * When a reset-control is shared, the behavior of reset_control_assert / | ||
| 173 | * deassert is changed, the reset-core will keep track of a deassert_count | ||
| 174 | * and only (re-)assert the reset after reset_control_assert has been called | ||
| 175 | * as many times as reset_control_deassert was called. Also see the remark | ||
| 176 | * about shared reset-controls in the reset_control_assert docs. | ||
| 177 | * | ||
| 178 | * Calling reset_control_assert without first calling reset_control_deassert | ||
| 179 | * is not allowed on a shared reset control. Calling reset_control_reset is | ||
| 180 | * also not allowed on a shared reset control. | ||
| 181 | * Returns a struct reset_control or IS_ERR() condition containing errno. | ||
| 182 | * | ||
| 183 | * Use of id names is optional. | ||
| 184 | */ | ||
| 185 | static inline struct reset_control *of_reset_control_get_shared( | ||
| 186 | struct device_node *node, const char *id) | ||
| 187 | { | ||
| 188 | return __of_reset_control_get(node, id, 0, 1); | ||
| 189 | } | ||
| 190 | |||
| 191 | /** | ||
| 192 | * of_reset_control_get_exclusive_by_index - Lookup and obtain an exclusive | ||
| 193 | * reference to a reset controller | ||
| 194 | * by index. | ||
| 163 | * @node: device to be reset by the controller | 195 | * @node: device to be reset by the controller |
| 164 | * @index: index of the reset controller | 196 | * @index: index of the reset controller |
| 165 | * | 197 | * |
| @@ -167,49 +199,60 @@ static inline struct reset_control *of_reset_control_get( | |||
| 167 | * in whatever order. Returns a struct reset_control or IS_ERR() condition | 199 | * in whatever order. Returns a struct reset_control or IS_ERR() condition |
| 168 | * containing errno. | 200 | * containing errno. |
| 169 | */ | 201 | */ |
| 170 | static inline struct reset_control *of_reset_control_get_by_index( | 202 | static inline struct reset_control *of_reset_control_get_exclusive_by_index( |
| 171 | struct device_node *node, int index) | 203 | struct device_node *node, int index) |
| 172 | { | 204 | { |
| 173 | return __of_reset_control_get(node, NULL, index, 0); | 205 | return __of_reset_control_get(node, NULL, index, 0); |
| 174 | } | 206 | } |
| 175 | 207 | ||
| 176 | /** | 208 | /** |
| 177 | * devm_reset_control_get - resource managed reset_control_get() | 209 | * of_reset_control_get_shared_by_index - Lookup and obtain an shared |
| 178 | * @dev: device to be reset by the controller | 210 | * reference to a reset controller |
| 179 | * @id: reset line name | 211 | * by index. |
| 212 | * @node: device to be reset by the controller | ||
| 213 | * @index: index of the reset controller | ||
| 214 | * | ||
| 215 | * When a reset-control is shared, the behavior of reset_control_assert / | ||
| 216 | * deassert is changed, the reset-core will keep track of a deassert_count | ||
| 217 | * and only (re-)assert the reset after reset_control_assert has been called | ||
| 218 | * as many times as reset_control_deassert was called. Also see the remark | ||
| 219 | * about shared reset-controls in the reset_control_assert docs. | ||
| 220 | * | ||
| 221 | * Calling reset_control_assert without first calling reset_control_deassert | ||
| 222 | * is not allowed on a shared reset control. Calling reset_control_reset is | ||
| 223 | * also not allowed on a shared reset control. | ||
| 224 | * Returns a struct reset_control or IS_ERR() condition containing errno. | ||
| 180 | * | 225 | * |
| 181 | * Managed reset_control_get(). For reset controllers returned from this | 226 | * This is to be used to perform a list of resets for a device or power domain |
| 182 | * function, reset_control_put() is called automatically on driver detach. | 227 | * in whatever order. Returns a struct reset_control or IS_ERR() condition |
| 183 | * See reset_control_get() for more information. | 228 | * containing errno. |
| 184 | */ | 229 | */ |
| 185 | static inline struct reset_control *__must_check devm_reset_control_get( | 230 | static inline struct reset_control *of_reset_control_get_shared_by_index( |
| 186 | struct device *dev, const char *id) | 231 | struct device_node *node, int index) |
| 187 | { | ||
| 188 | #ifndef CONFIG_RESET_CONTROLLER | ||
| 189 | WARN_ON(1); | ||
| 190 | #endif | ||
| 191 | return __devm_reset_control_get(dev, id, 0, 0); | ||
| 192 | } | ||
| 193 | |||
| 194 | static inline struct reset_control *devm_reset_control_get_optional( | ||
| 195 | struct device *dev, const char *id) | ||
| 196 | { | 232 | { |
| 197 | return __devm_reset_control_get(dev, id, 0, 0); | 233 | return __of_reset_control_get(node, NULL, index, 1); |
| 198 | } | 234 | } |
| 199 | 235 | ||
| 200 | /** | 236 | /** |
| 201 | * devm_reset_control_get_by_index - resource managed reset_control_get | 237 | * devm_reset_control_get_exclusive - resource managed |
| 238 | * reset_control_get_exclusive() | ||
| 202 | * @dev: device to be reset by the controller | 239 | * @dev: device to be reset by the controller |
| 203 | * @index: index of the reset controller | 240 | * @id: reset line name |
| 204 | * | 241 | * |
| 205 | * Managed reset_control_get(). For reset controllers returned from this | 242 | * Managed reset_control_get_exclusive(). For reset controllers returned |
| 206 | * function, reset_control_put() is called automatically on driver detach. | 243 | * from this function, reset_control_put() is called automatically on driver |
| 207 | * See reset_control_get() for more information. | 244 | * detach. |
| 245 | * | ||
| 246 | * See reset_control_get_exclusive() for more information. | ||
| 208 | */ | 247 | */ |
| 209 | static inline struct reset_control *devm_reset_control_get_by_index( | 248 | static inline struct reset_control * |
| 210 | struct device *dev, int index) | 249 | __must_check devm_reset_control_get_exclusive(struct device *dev, |
| 250 | const char *id) | ||
| 211 | { | 251 | { |
| 212 | return __devm_reset_control_get(dev, NULL, index, 0); | 252 | #ifndef CONFIG_RESET_CONTROLLER |
| 253 | WARN_ON(1); | ||
| 254 | #endif | ||
| 255 | return __devm_reset_control_get(dev, id, 0, 0); | ||
| 213 | } | 256 | } |
| 214 | 257 | ||
| 215 | /** | 258 | /** |
| @@ -227,6 +270,36 @@ static inline struct reset_control *devm_reset_control_get_shared( | |||
| 227 | return __devm_reset_control_get(dev, id, 0, 1); | 270 | return __devm_reset_control_get(dev, id, 0, 1); |
| 228 | } | 271 | } |
| 229 | 272 | ||
| 273 | static inline struct reset_control *devm_reset_control_get_optional_exclusive( | ||
| 274 | struct device *dev, const char *id) | ||
| 275 | { | ||
| 276 | return __devm_reset_control_get(dev, id, 0, 0); | ||
| 277 | } | ||
| 278 | |||
| 279 | static inline struct reset_control *devm_reset_control_get_optional_shared( | ||
| 280 | struct device *dev, const char *id) | ||
| 281 | { | ||
| 282 | return __devm_reset_control_get(dev, id, 0, 1); | ||
| 283 | } | ||
| 284 | |||
| 285 | /** | ||
| 286 | * devm_reset_control_get_exclusive_by_index - resource managed | ||
| 287 | * reset_control_get_exclusive() | ||
| 288 | * @dev: device to be reset by the controller | ||
| 289 | * @index: index of the reset controller | ||
| 290 | * | ||
| 291 | * Managed reset_control_get_exclusive(). For reset controllers returned from | ||
| 292 | * this function, reset_control_put() is called automatically on driver | ||
| 293 | * detach. | ||
| 294 | * | ||
| 295 | * See reset_control_get_exclusive() for more information. | ||
| 296 | */ | ||
| 297 | static inline struct reset_control * | ||
| 298 | devm_reset_control_get_exclusive_by_index(struct device *dev, int index) | ||
| 299 | { | ||
| 300 | return __devm_reset_control_get(dev, NULL, index, 0); | ||
| 301 | } | ||
| 302 | |||
| 230 | /** | 303 | /** |
| 231 | * devm_reset_control_get_shared_by_index - resource managed | 304 | * devm_reset_control_get_shared_by_index - resource managed |
| 232 | * reset_control_get_shared | 305 | * reset_control_get_shared |
| @@ -237,10 +310,60 @@ static inline struct reset_control *devm_reset_control_get_shared( | |||
| 237 | * this function, reset_control_put() is called automatically on driver detach. | 310 | * this function, reset_control_put() is called automatically on driver detach. |
| 238 | * See reset_control_get_shared() for more information. | 311 | * See reset_control_get_shared() for more information. |
| 239 | */ | 312 | */ |
| 240 | static inline struct reset_control *devm_reset_control_get_shared_by_index( | 313 | static inline struct reset_control * |
| 241 | struct device *dev, int index) | 314 | devm_reset_control_get_shared_by_index(struct device *dev, int index) |
| 242 | { | 315 | { |
| 243 | return __devm_reset_control_get(dev, NULL, index, 1); | 316 | return __devm_reset_control_get(dev, NULL, index, 1); |
| 244 | } | 317 | } |
| 245 | 318 | ||
| 319 | /* | ||
| 320 | * TEMPORARY calls to use during transition: | ||
| 321 | * | ||
| 322 | * of_reset_control_get() => of_reset_control_get_exclusive() | ||
| 323 | * | ||
| 324 | * These inline function calls will be removed once all consumers | ||
| 325 | * have been moved over to the new explicit API. | ||
| 326 | */ | ||
| 327 | static inline struct reset_control *reset_control_get( | ||
| 328 | struct device *dev, const char *id) | ||
| 329 | { | ||
| 330 | return reset_control_get_exclusive(dev, id); | ||
| 331 | } | ||
| 332 | |||
| 333 | static inline struct reset_control *reset_control_get_optional( | ||
| 334 | struct device *dev, const char *id) | ||
| 335 | { | ||
| 336 | return reset_control_get_optional_exclusive(dev, id); | ||
| 337 | } | ||
| 338 | |||
| 339 | static inline struct reset_control *of_reset_control_get( | ||
| 340 | struct device_node *node, const char *id) | ||
| 341 | { | ||
| 342 | return of_reset_control_get_exclusive(node, id); | ||
| 343 | } | ||
| 344 | |||
| 345 | static inline struct reset_control *of_reset_control_get_by_index( | ||
| 346 | struct device_node *node, int index) | ||
| 347 | { | ||
| 348 | return of_reset_control_get_exclusive_by_index(node, index); | ||
| 349 | } | ||
| 350 | |||
| 351 | static inline struct reset_control *devm_reset_control_get( | ||
| 352 | struct device *dev, const char *id) | ||
| 353 | { | ||
| 354 | return devm_reset_control_get_exclusive(dev, id); | ||
| 355 | } | ||
| 356 | |||
| 357 | static inline struct reset_control *devm_reset_control_get_optional( | ||
| 358 | struct device *dev, const char *id) | ||
| 359 | { | ||
| 360 | return devm_reset_control_get_optional_exclusive(dev, id); | ||
| 361 | |||
| 362 | } | ||
| 363 | |||
| 364 | static inline struct reset_control *devm_reset_control_get_by_index( | ||
| 365 | struct device *dev, int index) | ||
| 366 | { | ||
| 367 | return devm_reset_control_get_exclusive_by_index(dev, index); | ||
| 368 | } | ||
| 246 | #endif | 369 | #endif |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 638b0e004310..6f0b3e0adc73 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -1079,6 +1079,7 @@ __skb_set_sw_hash(struct sk_buff *skb, __u32 hash, bool is_l4) | |||
| 1079 | } | 1079 | } |
| 1080 | 1080 | ||
| 1081 | void __skb_get_hash(struct sk_buff *skb); | 1081 | void __skb_get_hash(struct sk_buff *skb); |
| 1082 | u32 __skb_get_hash_symmetric(struct sk_buff *skb); | ||
| 1082 | u32 skb_get_poff(const struct sk_buff *skb); | 1083 | u32 skb_get_poff(const struct sk_buff *skb); |
| 1083 | u32 __skb_get_poff(const struct sk_buff *skb, void *data, | 1084 | u32 __skb_get_poff(const struct sk_buff *skb, void *data, |
| 1084 | const struct flow_keys *keys, int hlen); | 1085 | const struct flow_keys *keys, int hlen); |
| @@ -2887,6 +2888,25 @@ static inline void skb_postpush_rcsum(struct sk_buff *skb, | |||
| 2887 | } | 2888 | } |
| 2888 | 2889 | ||
| 2889 | /** | 2890 | /** |
| 2891 | * skb_push_rcsum - push skb and update receive checksum | ||
| 2892 | * @skb: buffer to update | ||
| 2893 | * @len: length of data pulled | ||
| 2894 | * | ||
| 2895 | * This function performs an skb_push on the packet and updates | ||
| 2896 | * the CHECKSUM_COMPLETE checksum. It should be used on | ||
| 2897 | * receive path processing instead of skb_push unless you know | ||
| 2898 | * that the checksum difference is zero (e.g., a valid IP header) | ||
| 2899 | * or you are setting ip_summed to CHECKSUM_NONE. | ||
| 2900 | */ | ||
| 2901 | static inline unsigned char *skb_push_rcsum(struct sk_buff *skb, | ||
| 2902 | unsigned int len) | ||
| 2903 | { | ||
| 2904 | skb_push(skb, len); | ||
| 2905 | skb_postpush_rcsum(skb, skb->data, len); | ||
| 2906 | return skb->data; | ||
| 2907 | } | ||
| 2908 | |||
| 2909 | /** | ||
| 2890 | * pskb_trim_rcsum - trim received skb and update checksum | 2910 | * pskb_trim_rcsum - trim received skb and update checksum |
| 2891 | * @skb: buffer to trim | 2911 | * @skb: buffer to trim |
| 2892 | * @len: new length | 2912 | * @len: new length |
diff --git a/include/linux/usb/ehci_def.h b/include/linux/usb/ehci_def.h index 966889a20ea3..e479033bd782 100644 --- a/include/linux/usb/ehci_def.h +++ b/include/linux/usb/ehci_def.h | |||
| @@ -180,11 +180,11 @@ struct ehci_regs { | |||
| 180 | * PORTSCx | 180 | * PORTSCx |
| 181 | */ | 181 | */ |
| 182 | /* HOSTPC: offset 0x84 */ | 182 | /* HOSTPC: offset 0x84 */ |
| 183 | u32 hostpc[1]; /* HOSTPC extension */ | 183 | u32 hostpc[0]; /* HOSTPC extension */ |
| 184 | #define HOSTPC_PHCD (1<<22) /* Phy clock disable */ | 184 | #define HOSTPC_PHCD (1<<22) /* Phy clock disable */ |
| 185 | #define HOSTPC_PSPD (3<<25) /* Port speed detection */ | 185 | #define HOSTPC_PSPD (3<<25) /* Port speed detection */ |
| 186 | 186 | ||
| 187 | u32 reserved5[16]; | 187 | u32 reserved5[17]; |
| 188 | 188 | ||
| 189 | /* USBMODE_EX: offset 0xc8 */ | 189 | /* USBMODE_EX: offset 0xc8 */ |
| 190 | u32 usbmode_ex; /* USB Device mode extension */ | 190 | u32 usbmode_ex; /* USB Device mode extension */ |
diff --git a/include/net/bonding.h b/include/net/bonding.h index 791800ddd6d9..6360c259da6d 100644 --- a/include/net/bonding.h +++ b/include/net/bonding.h | |||
| @@ -34,6 +34,9 @@ | |||
| 34 | 34 | ||
| 35 | #define BOND_DEFAULT_MIIMON 100 | 35 | #define BOND_DEFAULT_MIIMON 100 |
| 36 | 36 | ||
| 37 | #ifndef __long_aligned | ||
| 38 | #define __long_aligned __attribute__((aligned((sizeof(long))))) | ||
| 39 | #endif | ||
| 37 | /* | 40 | /* |
| 38 | * Less bad way to call ioctl from within the kernel; this needs to be | 41 | * Less bad way to call ioctl from within the kernel; this needs to be |
| 39 | * done some other way to get the call out of interrupt context. | 42 | * done some other way to get the call out of interrupt context. |
| @@ -138,7 +141,9 @@ struct bond_params { | |||
| 138 | struct reciprocal_value reciprocal_packets_per_slave; | 141 | struct reciprocal_value reciprocal_packets_per_slave; |
| 139 | u16 ad_actor_sys_prio; | 142 | u16 ad_actor_sys_prio; |
| 140 | u16 ad_user_port_key; | 143 | u16 ad_user_port_key; |
| 141 | u8 ad_actor_system[ETH_ALEN]; | 144 | |
| 145 | /* 2 bytes of padding : see ether_addr_equal_64bits() */ | ||
| 146 | u8 ad_actor_system[ETH_ALEN + 2]; | ||
| 142 | }; | 147 | }; |
| 143 | 148 | ||
| 144 | struct bond_parm_tbl { | 149 | struct bond_parm_tbl { |
diff --git a/include/net/ip.h b/include/net/ip.h index 37165fba3741..08f36cd2b874 100644 --- a/include/net/ip.h +++ b/include/net/ip.h | |||
| @@ -313,10 +313,9 @@ static inline unsigned int ip_dst_mtu_maybe_forward(const struct dst_entry *dst, | |||
| 313 | return min(dst->dev->mtu, IP_MAX_MTU); | 313 | return min(dst->dev->mtu, IP_MAX_MTU); |
| 314 | } | 314 | } |
| 315 | 315 | ||
| 316 | static inline unsigned int ip_skb_dst_mtu(const struct sk_buff *skb) | 316 | static inline unsigned int ip_skb_dst_mtu(struct sock *sk, |
| 317 | const struct sk_buff *skb) | ||
| 317 | { | 318 | { |
| 318 | struct sock *sk = skb->sk; | ||
| 319 | |||
| 320 | if (!sk || !sk_fullsock(sk) || ip_sk_use_pmtu(sk)) { | 319 | if (!sk || !sk_fullsock(sk) || ip_sk_use_pmtu(sk)) { |
| 321 | bool forwarding = IPCB(skb)->flags & IPSKB_FORWARDED; | 320 | bool forwarding = IPCB(skb)->flags & IPSKB_FORWARDED; |
| 322 | 321 | ||
diff --git a/include/uapi/linux/fuse.h b/include/uapi/linux/fuse.h index 5974fae54e12..27e17363263a 100644 --- a/include/uapi/linux/fuse.h +++ b/include/uapi/linux/fuse.h | |||
| @@ -105,6 +105,9 @@ | |||
| 105 | * | 105 | * |
| 106 | * 7.24 | 106 | * 7.24 |
| 107 | * - add FUSE_LSEEK for SEEK_HOLE and SEEK_DATA support | 107 | * - add FUSE_LSEEK for SEEK_HOLE and SEEK_DATA support |
| 108 | * | ||
| 109 | * 7.25 | ||
| 110 | * - add FUSE_PARALLEL_DIROPS | ||
| 108 | */ | 111 | */ |
| 109 | 112 | ||
| 110 | #ifndef _LINUX_FUSE_H | 113 | #ifndef _LINUX_FUSE_H |
| @@ -140,7 +143,7 @@ | |||
| 140 | #define FUSE_KERNEL_VERSION 7 | 143 | #define FUSE_KERNEL_VERSION 7 |
| 141 | 144 | ||
| 142 | /** Minor version number of this interface */ | 145 | /** Minor version number of this interface */ |
| 143 | #define FUSE_KERNEL_MINOR_VERSION 24 | 146 | #define FUSE_KERNEL_MINOR_VERSION 25 |
| 144 | 147 | ||
| 145 | /** The node ID of the root inode */ | 148 | /** The node ID of the root inode */ |
| 146 | #define FUSE_ROOT_ID 1 | 149 | #define FUSE_ROOT_ID 1 |
| @@ -234,6 +237,7 @@ struct fuse_file_lock { | |||
| 234 | * FUSE_ASYNC_DIO: asynchronous direct I/O submission | 237 | * FUSE_ASYNC_DIO: asynchronous direct I/O submission |
| 235 | * FUSE_WRITEBACK_CACHE: use writeback cache for buffered writes | 238 | * FUSE_WRITEBACK_CACHE: use writeback cache for buffered writes |
| 236 | * FUSE_NO_OPEN_SUPPORT: kernel supports zero-message opens | 239 | * FUSE_NO_OPEN_SUPPORT: kernel supports zero-message opens |
| 240 | * FUSE_PARALLEL_DIROPS: allow parallel lookups and readdir | ||
| 237 | */ | 241 | */ |
| 238 | #define FUSE_ASYNC_READ (1 << 0) | 242 | #define FUSE_ASYNC_READ (1 << 0) |
| 239 | #define FUSE_POSIX_LOCKS (1 << 1) | 243 | #define FUSE_POSIX_LOCKS (1 << 1) |
| @@ -253,6 +257,7 @@ struct fuse_file_lock { | |||
| 253 | #define FUSE_ASYNC_DIO (1 << 15) | 257 | #define FUSE_ASYNC_DIO (1 << 15) |
| 254 | #define FUSE_WRITEBACK_CACHE (1 << 16) | 258 | #define FUSE_WRITEBACK_CACHE (1 << 16) |
| 255 | #define FUSE_NO_OPEN_SUPPORT (1 << 17) | 259 | #define FUSE_NO_OPEN_SUPPORT (1 << 17) |
| 260 | #define FUSE_PARALLEL_DIROPS (1 << 18) | ||
| 256 | 261 | ||
| 257 | /** | 262 | /** |
| 258 | * CUSE INIT request/reply flags | 263 | * CUSE INIT request/reply flags |
