The USB_MAXCHILDREN symbol is used in include/uapi/linux/usb/ch11.h, a user-mode header, even though it is defined in include/linux/usb.h, which is kernel-only. This causes compile-time errors when user programs try to #include linux/usb/ch11.h. This patch fixes the problem by moving the definition of USB_MAXCHILDREN into ch11.h. It also gets rid of unneeded parentheses.
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -11,6 +11,17 @@ · 10 unmodified lines | |||
| 11 | 11 | ||
| 12 | #include <linux/types.h> /* __u8 etc */ | 12 | #include <linux/types.h> /* __u8 etc */ |
| 13 | 13 | ||
| 14 | /* This is arbitrary. | ||
| 15 | * From USB 2.0 spec Table 11-13, offset 7, a hub can | ||
| 16 | * have up to 255 ports. The most yet reported is 10. | ||
| 17 | * | ||
| 18 | * Current Wireless USB host hardware (Intel i1480 for example) allows | ||
| 19 | * up to 22 devices to connect. Upcoming hardware might raise that | ||
| 20 | * limit. Because the arrays need to add a bit for hub status data, we | ||
| 21 | * use 31, so plus one evens out to four bytes. | ||
| 22 | */ | ||
| 23 | #define USB_MAXCHILDREN 31 | ||
| 24 | |||
| 14 | /* | 25 | /* |
| 15 | * Hub request types | 26 | * Hub request types |
| 16 | */ | 27 | */ |