diff options
-rw-r--r-- | plugins/Makefile.am | 19 | ||||
-rw-r--r-- | plugins/dell/mm-plugin-dell.c | 38 |
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)); } |