libusbgx: Configure the Devices Used

Add ability to configure the UDC used for specific schema.
The feature is backwards compatible, so existing users don't need to
change anything.

If one wants to specify which UDC is used for specific schema,
for example, `eth0`, they can add this variable to the configuration
file:

UDC_FOR_SCHEMA_eth0=f8000000.udc

If the device file exists in /sys/class/udc when the gadget is started,
it will be used for this schema.

If this configuration is not present, first available device is picked.

Signed-off-by: Maksym Sloyko <maxims@google.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Maksym Sloyko
2021-08-06 21:50:45 +00:00
committed by Khem Raj
parent ccd022736a
commit 3cf2475ea0
+6 -1
View File
@@ -7,5 +7,10 @@ for i in $IMPORT_SCHEMAS; do
done
for i in $ENABLED_SCHEMAS; do
ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/"$i"/UDC
configured_udc=$(eval 'echo ${UDC_FOR_SCHEMA_'"$i"'}')
if [ -n "${configured_udc}" ] && [ -e "/sys/class/udc/${configured_udc}" ]; then
echo ${configured_udc} > /sys/kernel/config/usb_gadget/"$i"/UDC
else
ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/"$i"/UDC
fi
done