Hi, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> writes: > On Wed, 7 Sep 2016, Felipe Balbi wrote: > >> > --- a/include/uapi/linux/usb/gadgetfs.h >> > +++ b/include/uapi/linux/usb/gadgetfs.h >> > @@ -85,4 +85,33 @@ struct usb_gadgetfs_event { >> > */ >> > #define GADGETFS_CLEAR_HALT _IO('g', 3) >> > >> > + >> > + >> > +struct usb_gadgetfs_features { >> > + uint64_t bitmap[4]; >> >> this should really be: >> >> uint64_t features0; >> >> /* Keep 24 bytes reserved for possible future usage */ >> uint8_t RESERVED[24]; > > Isn't this really extreme overkill? I would be surprised if gadgetfs > ever supports more than 10 features. I'm hoping to be extreme overkill :-) I really don't wanna get into a situation where we run out of bits. What if some features require arguments in the future? We could just pass them here, right? Frankly, I'm afraid of what happened to i2c-dev :-) We can't change (easily) i2c subsystem's write() to return the amount of bytes written because its userspace facing ABI has no reserved bits we could use to return that value. Changing that would be a huge amount of work. What do you think? -- balbi -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html