* Krzysztof Opasiak | 2015-01-28 13:38:33 [+0100]: >> the first thing a user of usb-gadget has to do, is create a >> directory, not a file. > >This: > >$ modprobe libcomposite >$ mount none -t configfs /sys/kernel/config/usb-gadget don't you mount it at config and cd to usb-gadget then? >$ mkdir available_functions >$ cd available_functions >$ mkdir functions/ecm.eth0 >$ mkdir configs/c.1 >$ ln -s functions/ecm.eth0 configs/c.1 >$ echo `ls /sys/class/udc | tail -n 1` > UDC > >works fine with current kernel and will *fail* after adding >available_functions file due to name already taken even >immediately after system boot. Seriously? This will break? >> > Moreover some broken userspace programs may relay on fact that >> > usb-gadget directory contains only gadget dirs. And some other >> things >> > there is a lot of possible breaks in userspace. >> >> if there are any users who rely on the fact that *only* directories >> exist under usb-gadget, that's wrong. > >I know that it's wrong but that's what Documentation/ABI says >about usb-gadget directory. You started with an incomplete interface which lacks something as you describe it essential and you documented it ABI. Now you try to duct-tape it somewhere so you don't break the ABI you created? So you have two ways to get out of it: - ignore this special case ABI breakage you came up with - drop "usb-gadget" (or deprecate it) and use usb-gadget2 instead with available_functions This reached kindergaden level by now. Sebastian -- 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