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/linux | |
| 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/linux')
| -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 |
6 files changed, 201 insertions, 53 deletions
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 */ |
