From ee8fb66e0d0589f7e4fdc0d3cd5775cc30bee7b4 Mon Sep 17 00:00:00 2001 From: Philippe De Swert Date: Thu, 13 Dec 2012 18:02:50 +0200 Subject: [PATCH] Adding soft-connect support for udc type usb controllers Signed-off-by: Philippe De Swert --- debian/changelog | 1 + src/usb_moded-config.c | 5 +++++ src/usb_moded-config.h | 4 ++++ src/usb_moded-modules.c | 9 +++++++-- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index da482fb..e0501d4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ usb-moded (0.55) unstable; urgency=low * Add android gadget driver support * Make udev default * Add rescue mode + * Add softconnect support -- Philippe De Swert Wed, 12 Dec 2012 22:57:42 +0200 diff --git a/src/usb_moded-config.c b/src/usb_moded-config.c index 48e78f7..c1160e1 100644 --- a/src/usb_moded-config.c +++ b/src/usb_moded-config.c @@ -132,6 +132,11 @@ const char * get_network_gateway(void) return(get_conf_string(NETWORK_ENTRY, NETWORK_GATEWAY_KEY)); } +const char * get_soft_connect_path(void) +{ + return(get_conf_string(SOFT_CONNECT_ENTRY, SOFT_CONNECT_PATH_KEY)); +} + /* create basic conffile with sensible defaults */ static void create_conf_file(void) { diff --git a/src/usb_moded-config.h b/src/usb_moded-config.h index 06e24f3..8086869 100644 --- a/src/usb_moded-config.h +++ b/src/usb_moded-config.h @@ -48,6 +48,8 @@ #define NETWORK_IP_KEY "ip" #define NETWORK_INTERFACE_KEY "interface" #define NETWORK_GATEWAY_KEY "gateway" +#define SOFT_CONNECT_ENTRY "soft_connect" +#define SOFT_CONNECT_PATH_KEY "soft_connect_path" const char * find_mounts(void); int find_sync(void); @@ -74,3 +76,5 @@ const char * get_trigger_value(void); const char * get_network_ip(void); const char * get_network_interface(void); const char * get_network_gateway(void); + +const char * get_soft_connect_path(void); diff --git a/src/usb_moded-modules.c b/src/usb_moded-modules.c index c59b344..cf23808 100644 --- a/src/usb_moded-modules.c +++ b/src/usb_moded-modules.c @@ -38,10 +38,8 @@ #include "usb_moded-dbus.h" #include "usb_moded-dbus-private.h" #include "usb_moded-config.h" -#ifdef NOKIA #include "usb_moded-modesetting.h" #include "usb_moded-modes.h" -#endif /* kmod context - initialized at start in usb_moded_init */ struct kmod_ctx *ctx; @@ -55,6 +53,7 @@ struct kmod_ctx *ctx; int usb_moded_load_module(const char *module) { int ret = 0; + const char * softconnect; #ifdef NO_KMOD gchar *command; @@ -95,6 +94,12 @@ int usb_moded_load_module(const char *module) kmod_module_unref(mod); #endif /* NO_KMOD */ + softconnect = get_soft_connect_path(); + if(softconnect) + { + write_to_file(softconnect, "connect"); + free((void *)softconnect); + } if( ret == 0) log_info("Module %s loaded successfully\n", module); return(ret);