firmware: export a device id containing the carrier info
In order to support different per-carrier upgrade paths in fwupd.
This commit is contained in:
@@ -311,6 +311,7 @@ add_generic_device_ids (MMBaseModem *self,
|
||||
GPtrArray *ids;
|
||||
MMPort *primary = NULL;
|
||||
const gchar *subsystem;
|
||||
const gchar *aux;
|
||||
|
||||
vid = mm_base_modem_get_vendor_id (self);
|
||||
pid = mm_base_modem_get_product_id (self);
|
||||
@@ -334,7 +335,17 @@ add_generic_device_ids (MMBaseModem *self,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* carrier = g_ascii_strup (mm_iface_modem_get_carrier_config (MM_IFACE_MODEM (self)), -1); */
|
||||
aux = mm_iface_modem_get_carrier_config (MM_IFACE_MODEM (self));
|
||||
|
||||
ids = g_ptr_array_new_with_free_func ((GDestroyNotify)g_free);
|
||||
if (aux) {
|
||||
gchar *carrier;
|
||||
|
||||
carrier = g_ascii_strup (aux, -1);
|
||||
g_ptr_array_add (ids, g_strdup_printf ("USB\\VID_%04X&PID_%04X&REV_%04X&CARRIER_%s", vid, pid, rid, carrier));
|
||||
g_free (carrier);
|
||||
}
|
||||
g_ptr_array_add (ids, g_strdup_printf ("USB\\VID_%04X&PID_%04X&REV_%04X", vid, pid, rid));
|
||||
g_ptr_array_add (ids, g_strdup_printf ("USB\\VID_%04X&PID_%04X", vid, pid));
|
||||
g_ptr_array_add (ids, g_strdup_printf ("USB\\VID_%04X", vid));
|
||||
|
@@ -5452,6 +5452,24 @@ mm_iface_modem_get_revision (MMIfaceModem *self)
|
||||
return revision;
|
||||
}
|
||||
|
||||
const gchar *
|
||||
mm_iface_modem_get_carrier_config (MMIfaceModem *self)
|
||||
{
|
||||
const gchar *carrier_config = NULL;
|
||||
MmGdbusModem *skeleton;
|
||||
|
||||
g_object_get (self,
|
||||
MM_IFACE_MODEM_DBUS_SKELETON, &skeleton,
|
||||
NULL);
|
||||
|
||||
if (skeleton) {
|
||||
carrier_config = mm_gdbus_modem_get_carrier_configuration (skeleton);
|
||||
g_object_unref (skeleton);
|
||||
}
|
||||
|
||||
return carrier_config;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
static void
|
||||
|
@@ -402,6 +402,7 @@ gboolean mm_iface_modem_is_4g_only (MMIfaceModem *self);
|
||||
/* Helpers to query properties */
|
||||
const gchar *mm_iface_modem_get_model (MMIfaceModem *self);
|
||||
const gchar *mm_iface_modem_get_revision (MMIfaceModem *self);
|
||||
const gchar *mm_iface_modem_get_carrier_config (MMIfaceModem *self);
|
||||
|
||||
/* Initialize Modem interface (async) */
|
||||
void mm_iface_modem_initialize (MMIfaceModem *self,
|
||||
|
Reference in New Issue
Block a user