Hi, On 05/05/2016 07:46 AM, Du, Changbin wrote: > Hi, >>> On most platforms, there is only one device controller available. >>> In this case, we desn't care the UDC's name. So let's ignore the >>> name by setting 'UDC' to 'any'. >> >> Hmm libubsgx allows to do this for a very long time. You simply pass >> NULL instead of pointer to usbg_udc. >> >> It is also possible to do this from command line, just simply: >> >> $ echo `ls -1 /sys/class/udc | head -n 1` > UDC >> >> So if we can easily do this from user space what's the benefit of adding >> this special "any" keyword to kernel? >> > Well, it is just for *easy to use*. Looking up /sys/class/udc mostly > can be skipped. The UDC core support this convenience behavior, > so why don't we export it with a little change? > Well, I'm not sure if any configfs interface has been proposed as easy to use from cmd line. I think they all has been proposed as *usable* from cmd line but not necessarily *easy to use*. That's why most of configfs clients has some support in userspace. For example for target there is a taget-cli and for usb gadget we have libusbg/libusbgx. So the functionality which you proposed here is not only already implemented in libusbgx but also can be easily achieved from cmd line like I showed above. In addition this patch will break existing userspace tools (at least libusbgx for sure) as it assumes that: cat UDC should return an empty string or an valid UDC name which can be found inside /sys/class/udc. After this patch the kernel can return some kind of magic string "any" which obviously will cannot be found in udc dir. >>> And also we can change UDC name >>> at any time if it is not binded (no need set to "" first). >>> >> >> Not sure if: >> >> $ echo "" > UDC >> >> is really a problem. Personally I'm quite used to situation in which I >> have to turn the light off before turning it on once again;) >> > That is not a problem. But just avoid pseudo 'busy'. If gadget is not > bind, it is free to reconfigure it. So seem no need block re-configuration. > What do you mean pseudo 'busy'? If we do: echo <udc-name> > UDC then gadget should be really bound to some udc and potentially really busy. > In a word, this patch is just an improvement, not to fix any issues or > add new function. So it doesn't add any new functionality and breaks existing user space tools. Cheers, -- Krzysztof Opasiak Samsung R&D Institute Poland Samsung Electronics -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html