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 <[email protected]>
---
 meta-oe/recipes-support/libusbgx/libusbgx/gadget-start | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
 mode change 100644 => 100755 
meta-oe/recipes-support/libusbgx/libusbgx/gadget-start

diff --git a/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start 
b/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
old mode 100644
new mode 100755
index 1a106b785..9e22671a9
--- a/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
+++ b/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
@@ -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
-- 
2.32.0.605.g8dce9f2422-goog

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154898): 
https://lists.openembedded.org/g/openembedded-core/message/154898
Mute This Topic: https://lists.openembedded.org/mt/84959369/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to