Binyamin Sharet <bsharet@xxxxxxxxx> writes: > Added USB_GADGETFS_ALLOW_DELEGATE_DESCRIPTORS to Kconfig, this > option is available under USB_GADGETFS and requires EXPERT. > Enabling this option will not change the default behavior of > GadgetFS, but will allow a user to enable descriptor delegation > using ioctls. > --- > drivers/usb/gadget/legacy/Kconfig | 12 ++++++++++++ > drivers/usb/gadget/legacy/inode.c | 12 ++++++++++-- > 2 files changed, 22 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/gadget/legacy/Kconfig > b/drivers/usb/gadget/legacy/Kconfig > index 0b36878..c062384 100644 > --- a/drivers/usb/gadget/legacy/Kconfig > +++ b/drivers/usb/gadget/legacy/Kconfig > @@ -184,6 +184,18 @@ config USB_GADGETFS > Say "y" to link the driver statically, or "m" to build a > dynamically linked module called "gadgetfs". > > +config USB_GADGETFS_ALLOW_DELEGATE_DESCRIPTORS > + bool "Delegate get descriptor requests to user" if EXPERT > + depends on USB_GADGETFS why not: bool " Delegate all requests to user" depends on USB_GADGETFS && EXPERT ? > diff --git a/drivers/usb/gadget/legacy/inode.c > b/drivers/usb/gadget/legacy/inode.c > index f8a3e75..9a62584 100644 > --- a/drivers/usb/gadget/legacy/inode.c > +++ b/drivers/usb/gadget/legacy/inode.c > @@ -178,9 +178,13 @@ static struct dev_data *dev_new (void) > spin_lock_init (&dev->lock); > INIT_LIST_HEAD (&dev->epfiles); > init_waitqueue_head (&dev->wait); > + > +#ifdef CONFIG_USB_GADGETFS_ALLOW_DELEGATE_DESCRIPTORS > feature_set(&dev->supported_features, > GADGETFS_FEATURE_DELEGATE_DESCRIPTORS); > - return dev; > +#endif feature_set shouldn't be here until $subject is merged. > @@ -1414,10 +1418,14 @@ gadgetfs_setup (struct usb_gadget *gadget, const > struct usb_ctrlrequest *ctrl) > case USB_REQ_GET_DESCRIPTOR: > if (ctrl->bRequestType != USB_DIR_IN) > goto unrecognized; > + > +#ifdef CONFIG_USB_GADGETFS_ALLOW_DELEGATE_DESCRIPTORS > if (is_feature_set(&dev->enabled_features, > GADGETFS_FEATURE_DELEGATE_DESCRIPTORS)) this shouldn't be here until $subject. -- balbi
Attachment:
signature.asc
Description: PGP signature