Re: [PATCH v1 11/12] usb: gadget: Add configfs attribuite for controling match_existing_only

From: Chen Yu
Date: Mon Dec 03 2018 - 20:23:00 EST




On 2018/12/3 17:25, Andy Shevchenko wrote:
> 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.

OK.
>
>> + 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?
>
I wrote the code in this way to avoid type conversion.

>> +
>> + return len;
>> +}
>
>> + struct usb_gadget_driver *gadget_driver =
>> + &(to_gadget_info(item)->composite.gadget_driver);
>
> Make it neat.
>
OK.