On Mon, 25 Jan 2016, Bjørn Mork wrote: > I don't feel much like an expert here, but I can certainly make up an > opinion anyway :) > > Since 64bits kernels allow usb devio with interface numbers up to 63, I > guess you need __u64 to avoid limiting the range? Limiting will create > all sorts of followup problems, so it's definitely easiest to just go > with __u64. But the Linux USB stack only allows up to 32 interfaces (see include/linux/usb.h): /* this maximum is arbitrary */ #define USB_MAXINTERFACES 32 So there's no point using a 64-bit value. On the other hand, this value is supposed to be the same size as ps->ifclaimed, which is used as an argument to clear_bit(), set_bit(), and test_bit(). Those routines require unsigned long. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html