summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2019-03-13 10:57:43 +0100
committerAleksander Morgado <aleksander@aleksander.es>2019-03-13 10:57:43 +0100
commit5ef3c8eeb1f8efac06a3f5a03bd886a7a5f0583a (patch)
tree34391d0cda1ba3bc10ab02a1f47ab89b6ddd6bbf
parentefcbdd9144d137134dce2dfa982ba6b805579c00 (diff)
downloadModemManager-5ef3c8eeb1f8efac06a3f5a03bd886a7a5f0583a.tar.gz
dell,dw5821e: firmware update support only if QMI is enabled
-rw-r--r--plugins/dell/mm-broadband-modem-dell-dw5821e.c32
1 files changed, 26 insertions, 6 deletions
diff --git a/plugins/dell/mm-broadband-modem-dell-dw5821e.c b/plugins/dell/mm-broadband-modem-dell-dw5821e.c
index 36148f3f7..07607a312 100644
--- a/plugins/dell/mm-broadband-modem-dell-dw5821e.c
+++ b/plugins/dell/mm-broadband-modem-dell-dw5821e.c
@@ -32,18 +32,26 @@
#include "mm-base-modem-at.h"
#include "mm-iface-modem.h"
#include "mm-iface-modem-location.h"
-#include "mm-iface-modem-firmware.h"
#include "mm-broadband-modem-dell-dw5821e.h"
-#include "mm-shared-qmi.h"
+
+#if defined WITH_QMI
+# include "mm-iface-modem-firmware.h"
+# include "mm-shared-qmi.h"
+#endif
static void iface_modem_location_init (MMIfaceModemLocation *iface);
+
+#if defined WITH_QMI
static void iface_modem_firmware_init (MMIfaceModemFirmware *iface);
+#endif
static MMIfaceModemLocation *iface_modem_location_parent;
G_DEFINE_TYPE_EXTENDED (MMBroadbandModemDellDw5821e, mm_broadband_modem_dell_dw5821e, MM_TYPE_BROADBAND_MODEM_MBIM, 0,
- G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_LOCATION, iface_modem_location_init)
- G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_FIRMWARE, iface_modem_firmware_init))
+#if defined WITH_QMI
+ G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_FIRMWARE, iface_modem_firmware_init)
+#endif
+ G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_LOCATION, iface_modem_location_init))
typedef enum {
FEATURE_SUPPORT_UNKNOWN,
@@ -56,7 +64,14 @@ struct _MMBroadbandModemDellDw5821ePrivate {
};
/*****************************************************************************/
-/* Firmware update settings */
+/* Firmware update settings
+ *
+ * We only support reporting firmware update settings when QMI support is built,
+ * because this is the only clean way to get the expected firmware version to
+ * report.
+ */
+
+#if defined WITH_QMI
static MMFirmwareUpdateSettings *
firmware_load_update_settings_finish (MMIfaceModemFirmware *self,
@@ -109,7 +124,6 @@ firmware_load_update_settings (MMIfaceModemFirmware *self,
QmiMessageDmsDellGetFirmwareVersionInput *input = NULL;
QmiClient *client = NULL;
-
task = g_task_new (self, NULL, callback, user_data);
client = mm_shared_qmi_peek_client (MM_SHARED_QMI (self),
@@ -136,6 +150,8 @@ firmware_load_update_settings (MMIfaceModemFirmware *self,
qmi_message_dms_dell_get_firmware_version_input_unref (input);
}
+#endif
+
/*****************************************************************************/
/* Location capabilities loading (Location interface) */
@@ -397,6 +413,8 @@ iface_modem_location_init (MMIfaceModemLocation *iface)
iface->disable_location_gathering_finish = disable_location_gathering_finish;
}
+#if defined WITH_QMI
+
static void
iface_modem_firmware_init (MMIfaceModemFirmware *iface)
{
@@ -404,6 +422,8 @@ iface_modem_firmware_init (MMIfaceModemFirmware *iface)
iface->load_update_settings_finish = firmware_load_update_settings_finish;
}
+#endif
+
static void
mm_broadband_modem_dell_dw5821e_class_init (MMBroadbandModemDellDw5821eClass *klass)
{