aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/fibocom/mm-broadband-modem-fibocom.c
diff options
context:
space:
mode:
authorPuliang Lu <puliang.lu@fibocom.com>2023-08-24 15:40:00 +0800
committerAleksander Morgado <aleksander@aleksander.es>2023-10-18 21:01:35 +0000
commit9db7b18f4d04f1d7dca573424c1d4db848e4d5ce (patch)
treef4aa04493c3aef36029d3d2cb1f641519ae51a8b /src/plugins/fibocom/mm-broadband-modem-fibocom.c
parenta6c2ea64f89e3a7e2fa53dda62a0da3b5fb913f2 (diff)
fibocom: Added support for firmware objects
Added load_update_settings, load_update_settings_finish Add support for fastboot flash
Diffstat (limited to 'src/plugins/fibocom/mm-broadband-modem-fibocom.c')
-rw-r--r--src/plugins/fibocom/mm-broadband-modem-fibocom.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/fibocom/mm-broadband-modem-fibocom.c b/src/plugins/fibocom/mm-broadband-modem-fibocom.c
index 901cdd7b..9fad4d2f 100644
--- a/src/plugins/fibocom/mm-broadband-modem-fibocom.c
+++ b/src/plugins/fibocom/mm-broadband-modem-fibocom.c
@@ -23,17 +23,20 @@
#include "mm-iface-modem-3gpp.h"
#include "mm-iface-modem-3gpp-profile-manager.h"
#include "mm-log.h"
+#include "mm-shared-fibocom.h"
static void iface_modem_init (MMIfaceModem *iface);
static void iface_modem_3gpp_init (MMIfaceModem3gpp *iface);
static void iface_modem_3gpp_profile_manager_init (MMIfaceModem3gppProfileManager *iface);
+static void iface_modem_firmware_init (MMIfaceModemFirmware *iface);
static MMIfaceModem3gppProfileManager *iface_modem_3gpp_profile_manager_parent;
G_DEFINE_TYPE_EXTENDED (MMBroadbandModemFibocom, mm_broadband_modem_fibocom, MM_TYPE_BROADBAND_MODEM, 0,
G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM, iface_modem_init)
G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_3GPP, iface_modem_3gpp_init)
- G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_3GPP_PROFILE_MANAGER, iface_modem_3gpp_profile_manager_init))
+ G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_3GPP_PROFILE_MANAGER, iface_modem_3gpp_profile_manager_init)
+ G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM_FIRMWARE, iface_modem_firmware_init))
typedef enum {
FEATURE_SUPPORT_UNKNOWN,
@@ -751,6 +754,13 @@ iface_modem_3gpp_profile_manager_init (MMIfaceModem3gppProfileManager *iface)
}
static void
+iface_modem_firmware_init (MMIfaceModemFirmware *iface)
+{
+ iface->load_update_settings = mm_shared_fibocom_firmware_load_update_settings;
+ iface->load_update_settings_finish = mm_shared_fibocom_firmware_load_update_settings_finish;
+}
+
+static void
mm_broadband_modem_fibocom_class_init (MMBroadbandModemFibocomClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);