aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/Makefile.am3
-rw-r--r--plugins/sierra/mm-plugin-sierra.c17
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));
}