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/linux (1 of 2 files). Show all
Unified · Split
| @@ -11,6 +11,17 @@ · 10 unmodified lines | ||
| 11 | 11 | |
| 12 | 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 | 26 | * Hub request types |
| 16 | 27 | */ |