aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/Makefile.am19
-rw-r--r--plugins/dell/mm-plugin-dell.c38
2 files changed, 46 insertions, 11 deletions
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index df991288..4cac4ff5 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -1046,9 +1046,22 @@ libmm_plugin_dell_la_SOURCES += \
$(NULL)
endif
-libmm_plugin_dell_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS) $(SIERRA_COMMON_COMPILER_FLAGS) $(TELIT_COMMON_COMPILER_FLAGS) $(MBM_COMMON_COMPILER_FLAGS)
-libmm_plugin_dell_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
-libmm_plugin_dell_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS) $(SIERRA_COMMON_LIBADD_FLAGS) $(TELIT_COMMON_LIBADD_FLAGS) $(MBM_COMMON_LIBADD_FLAGS)
+libmm_plugin_dell_la_CPPFLAGS = \
+ $(PLUGIN_COMMON_COMPILER_FLAGS) \
+ $(NOVATEL_COMMON_COMPILER_FLAGS) \
+ $(SIERRA_COMMON_COMPILER_FLAGS) \
+ $(TELIT_COMMON_COMPILER_FLAGS) \
+ $(XMM_COMMON_COMPILER_FLAGS) \
+ $(MBM_COMMON_COMPILER_FLAGS) \
+ $(NULL)
+libmm_plugin_dell_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_dell_la_LIBADD = \
+ $(NOVATEL_COMMON_LIBADD_FLAGS) \
+ $(SIERRA_COMMON_LIBADD_FLAGS) \
+ $(TELIT_COMMON_LIBADD_FLAGS) \
+ $(XMM_COMMON_LIBADD_FLAGS) \
+ $(MBM_COMMON_LIBADD_FLAGS) \
+ $(NULL)
dist_udevrules_DATA += dell/77-mm-dell-port-types.rules
diff --git a/plugins/dell/mm-plugin-dell.c b/plugins/dell/mm-plugin-dell.c
index a30c2f47..c6085f9d 100644
--- a/plugins/dell/mm-plugin-dell.c
+++ b/plugins/dell/mm-plugin-dell.c
@@ -34,6 +34,7 @@
#include "mm-broadband-modem-sierra.h"
#include "mm-common-sierra.h"
#include "mm-broadband-modem-telit.h"
+#include "mm-broadband-modem-xmm.h"
#include "mm-common-telit.h"
#include "mm-log.h"
@@ -43,6 +44,7 @@
#if defined WITH_MBIM
#include "mm-broadband-modem-mbim.h"
+#include "mm-broadband-modem-mbim-xmm.h"
#include "mm-broadband-modem-dell-dw5821e.h"
#endif
@@ -405,6 +407,16 @@ create_modem (MMPlugin *self,
vendor,
product));
}
+
+ if (mm_port_probe_list_is_xmm (probes)) {
+ mm_dbg ("MBIM-powered XMM-based modem found...");
+ return MM_BASE_MODEM (mm_broadband_modem_mbim_xmm_new (uid,
+ drivers,
+ mm_plugin_get_name (self),
+ vendor,
+ product));
+ }
+
mm_dbg ("MBIM-powered Dell-branded modem found...");
return MM_BASE_MODEM (mm_broadband_modem_mbim_new (uid,
drivers,
@@ -441,6 +453,15 @@ create_modem (MMPlugin *self,
product));
}
+ if (mm_port_probe_list_is_xmm (probes)) {
+ mm_dbg ("XMM-based modem found...");
+ return MM_BASE_MODEM (mm_broadband_modem_xmm_new (uid,
+ drivers,
+ mm_plugin_get_name (self),
+ vendor,
+ product));
+ }
+
mm_dbg ("Dell-branded generic modem found...");
return MM_BASE_MODEM (mm_broadband_modem_new (uid,
drivers,
@@ -484,14 +505,15 @@ mm_plugin_create (void)
return MM_PLUGIN (
g_object_new (MM_TYPE_PLUGIN_DELL,
- MM_PLUGIN_NAME, "Dell",
- MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems,
- MM_PLUGIN_ALLOWED_VENDOR_IDS, vendors,
- MM_PLUGIN_ALLOWED_AT, TRUE,
- MM_PLUGIN_CUSTOM_INIT, &custom_init,
- MM_PLUGIN_ALLOWED_QCDM, TRUE,
- MM_PLUGIN_ALLOWED_QMI, TRUE,
- MM_PLUGIN_ALLOWED_MBIM, TRUE,
+ MM_PLUGIN_NAME, "Dell",
+ MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems,
+ MM_PLUGIN_ALLOWED_VENDOR_IDS, vendors,
+ MM_PLUGIN_ALLOWED_AT, TRUE,
+ MM_PLUGIN_CUSTOM_INIT, &custom_init,
+ MM_PLUGIN_ALLOWED_QCDM, TRUE,
+ MM_PLUGIN_ALLOWED_QMI, TRUE,
+ MM_PLUGIN_ALLOWED_MBIM, TRUE,
+ MM_PLUGIN_XMM_PROBE, TRUE,
NULL));
}