On Mon, Dec 3, 2018 at 5:47 AM Yu Chen <chenyu56@xxxxxxxxxx> wrote: > > Currently the "match_existing_only" of usb_gadget_driver in configfs is > set to one which is not flexible. > Dwc3 udc will be removed when usb core switch to host mode. This causes > failure of writing name of dwc3 udc to configfs's UDC attribuite. > To fix this we need to add a way to change the config of > "match_existing_only". > This patch adds a configfs attribuite for controling match_existing_only > which allow user to config "match_existing_only". > +static ssize_t gadget_driver_match_existing_only_store(struct config_item *item, > + const char *page, size_t len) > +{ > + struct usb_gadget_driver *gadget_driver = > + &(to_gadget_info(item)->composite.gadget_driver); It would be easier for reader to see two lines with two variables instead of this. > + bool match_existing_only; > + int ret; > + > + ret = kstrtobool(page, &match_existing_only); > + if (ret) > + return ret; > + > + if (match_existing_only) > + gadget_driver->match_existing_only = 1; > + else > + gadget_driver->match_existing_only = 0; gadget_driver->match_existing_only = match_existing_only; But the question rather why is it not direct parameter to kstrtobool? > + > + return len; > +} > + struct usb_gadget_driver *gadget_driver = > + &(to_gadget_info(item)->composite.gadget_driver); Make it neat. -- With Best Regards, Andy Shevchenko