diff options
-rw-r--r-- | plugins/Makefile.am | 3 | ||||
-rw-r--r-- | plugins/sierra/mm-plugin-sierra.c | 17 |
2 files changed, 19 insertions, 1 deletions
diff --git a/plugins/Makefile.am b/plugins/Makefile.am index c63cea39..7971d192 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -148,8 +148,9 @@ libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS) libmm_plugin_sierra_la_SOURCES = \ sierra/mm-plugin-sierra.c \ sierra/mm-plugin-sierra.h -libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) +libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS) libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS) +libmm_plugin_sierra_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS) # Wavecom (Sierra Airlink) libmm_plugin_wavecom_la_SOURCES = \ diff --git a/plugins/sierra/mm-plugin-sierra.c b/plugins/sierra/mm-plugin-sierra.c index fea613af..cd6c93c6 100644 --- a/plugins/sierra/mm-plugin-sierra.c +++ b/plugins/sierra/mm-plugin-sierra.c @@ -23,6 +23,7 @@ #include "mm-log.h" #include "mm-plugin-sierra.h" #include "mm-broadband-modem.h" +#include "mm-broadband-modem-icera.h" G_DEFINE_TYPE (MMPluginSierra, mm_plugin_sierra, MM_TYPE_PLUGIN) @@ -161,6 +162,21 @@ create_modem (MMPlugin *self, GList *probes, GError **error) { + GList *l; + gboolean is_icera; + + for (l = probes, is_icera = FALSE; l && !is_icera; l = g_list_next (l)) { + if (mm_port_probe_is_icera (MM_PORT_PROBE (l->data))) + is_icera = TRUE; + } + + if (is_icera) + return MM_BASE_MODEM (mm_broadband_modem_icera_new (sysfs_path, + driver, + mm_plugin_get_name (self), + vendor, + product)); + return MM_BASE_MODEM (mm_broadband_modem_new (sysfs_path, driver, mm_plugin_get_name (self), @@ -214,6 +230,7 @@ mm_plugin_create (void) MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems, MM_PLUGIN_ALLOWED_DRIVERS, drivers, MM_PLUGIN_CUSTOM_INIT, &custom_init, + MM_PLUGIN_ICERA_PROBE, TRUE, NULL)); } |