diff options
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | plugins/Makefile.am | 1 | ||||
-rw-r--r-- | plugins/sierra/mm-plugin-sierra.c | 20 |
3 files changed, 23 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index e03edcb0..1cda4f70 100644 --- a/configure.ac +++ b/configure.ac @@ -489,7 +489,8 @@ MM_ENABLE_PLUGIN([samsung], MM_ENABLE_PLUGIN([sierra-legacy], [with_shared_icera, with_shared_sierra]) -MM_ENABLE_PLUGIN([sierra]) +MM_ENABLE_PLUGIN([sierra], + [with_shared_xmm]) MM_ENABLE_PLUGIN([simtech]) MM_ENABLE_PLUGIN([telit], [with_shared_telit]) diff --git a/plugins/Makefile.am b/plugins/Makefile.am index 6f83ad61..f7ca2ac4 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -1240,6 +1240,7 @@ libmm_plugin_sierra_la_SOURCES = \ $(NULL) libmm_plugin_sierra_la_CPPFLAGS = \ $(PLUGIN_COMMON_COMPILER_FLAGS) \ + $(XMM_COMMON_COMPILER_FLAGS) \ -DMM_MODULE_NAME=\"sierra\" \ $(NULL) libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS) diff --git a/plugins/sierra/mm-plugin-sierra.c b/plugins/sierra/mm-plugin-sierra.c index 6622c5e1..75fdc90d 100644 --- a/plugins/sierra/mm-plugin-sierra.c +++ b/plugins/sierra/mm-plugin-sierra.c @@ -25,6 +25,7 @@ #include "mm-log-object.h" #include "mm-plugin-sierra.h" #include "mm-broadband-modem.h" +#include "mm-broadband-modem-xmm.h" #if defined WITH_QMI #include "mm-broadband-modem-qmi.h" @@ -32,6 +33,7 @@ #if defined WITH_MBIM #include "mm-broadband-modem-mbim.h" +#include "mm-broadband-modem-mbim-xmm.h" #endif G_DEFINE_TYPE (MMPluginSierra, mm_plugin_sierra, MM_TYPE_PLUGIN) @@ -63,6 +65,14 @@ create_modem (MMPlugin *self, #if defined WITH_MBIM if (mm_port_probe_list_has_mbim_port (probes)) { + if (mm_port_probe_list_is_xmm (probes)) { + mm_obj_dbg (self, "MBIM-powered XMM-based Sierra modem found..."); + return MM_BASE_MODEM (mm_broadband_modem_mbim_xmm_new (uid, + drivers, + mm_plugin_get_name (self), + vendor, + product)); + } mm_obj_dbg (self, "MBIM-powered Sierra modem found..."); return MM_BASE_MODEM (mm_broadband_modem_mbim_new (uid, drivers, @@ -72,6 +82,15 @@ create_modem (MMPlugin *self, } #endif + if (mm_port_probe_list_is_xmm (probes)) { + mm_obj_dbg (self, "XMM-based Sierra modem found..."); + return MM_BASE_MODEM (mm_broadband_modem_xmm_new (uid, + drivers, + mm_plugin_get_name (self), + vendor, + product)); + } + /* Fallback to default modem in the worst case */ return MM_BASE_MODEM (mm_broadband_modem_new (uid, drivers, @@ -99,6 +118,7 @@ mm_plugin_create (void) MM_PLUGIN_ALLOWED_QCDM, TRUE, MM_PLUGIN_ALLOWED_QMI, TRUE, MM_PLUGIN_ALLOWED_MBIM, TRUE, + MM_PLUGIN_XMM_PROBE, TRUE, NULL)); } |