diff options
Diffstat (limited to 'plugins/sierra')
-rw-r--r-- | plugins/sierra/mm-broadband-modem-sierra-icera.c | 4 | ||||
-rw-r--r-- | plugins/sierra/mm-broadband-modem-sierra-icera.h | 2 | ||||
-rw-r--r-- | plugins/sierra/mm-broadband-modem-sierra.c | 4 | ||||
-rw-r--r-- | plugins/sierra/mm-broadband-modem-sierra.h | 2 | ||||
-rw-r--r-- | plugins/sierra/mm-common-sierra.c | 15 | ||||
-rw-r--r-- | plugins/sierra/mm-plugin-sierra.c | 6 |
6 files changed, 19 insertions, 14 deletions
diff --git a/plugins/sierra/mm-broadband-modem-sierra-icera.c b/plugins/sierra/mm-broadband-modem-sierra-icera.c index fb8d9ba1..c7d99045 100644 --- a/plugins/sierra/mm-broadband-modem-sierra-icera.c +++ b/plugins/sierra/mm-broadband-modem-sierra-icera.c @@ -51,14 +51,14 @@ setup_ports (MMBroadbandModem *self) MMBroadbandModemSierraIcera * mm_broadband_modem_sierra_icera_new (const gchar *device, - const gchar *driver, + const gchar **drivers, const gchar *plugin, guint16 vendor_id, guint16 product_id) { return g_object_new (MM_TYPE_BROADBAND_MODEM_SIERRA_ICERA, MM_BASE_MODEM_DEVICE, device, - MM_BASE_MODEM_DRIVER, driver, + MM_BASE_MODEM_DRIVERS, drivers, MM_BASE_MODEM_PLUGIN, plugin, MM_BASE_MODEM_VENDOR_ID, vendor_id, MM_BASE_MODEM_PRODUCT_ID, product_id, diff --git a/plugins/sierra/mm-broadband-modem-sierra-icera.h b/plugins/sierra/mm-broadband-modem-sierra-icera.h index 5c9a1206..66a4dfc9 100644 --- a/plugins/sierra/mm-broadband-modem-sierra-icera.h +++ b/plugins/sierra/mm-broadband-modem-sierra-icera.h @@ -41,7 +41,7 @@ struct _MMBroadbandModemSierraIceraClass { GType mm_broadband_modem_sierra_icera_get_type (void); MMBroadbandModemSierraIcera *mm_broadband_modem_sierra_icera_new (const gchar *device, - const gchar *driver, + const gchar **drivers, const gchar *plugin, guint16 vendor_id, guint16 product_id); diff --git a/plugins/sierra/mm-broadband-modem-sierra.c b/plugins/sierra/mm-broadband-modem-sierra.c index 1622fa73..69f8293a 100644 --- a/plugins/sierra/mm-broadband-modem-sierra.c +++ b/plugins/sierra/mm-broadband-modem-sierra.c @@ -843,14 +843,14 @@ setup_ports (MMBroadbandModem *self) MMBroadbandModemSierra * mm_broadband_modem_sierra_new (const gchar *device, - const gchar *driver, + const gchar **drivers, const gchar *plugin, guint16 vendor_id, guint16 product_id) { return g_object_new (MM_TYPE_BROADBAND_MODEM_SIERRA, MM_BASE_MODEM_DEVICE, device, - MM_BASE_MODEM_DRIVER, driver, + MM_BASE_MODEM_DRIVERS, drivers, MM_BASE_MODEM_PLUGIN, plugin, MM_BASE_MODEM_VENDOR_ID, vendor_id, MM_BASE_MODEM_PRODUCT_ID, product_id, diff --git a/plugins/sierra/mm-broadband-modem-sierra.h b/plugins/sierra/mm-broadband-modem-sierra.h index 12612f0c..023dd6d5 100644 --- a/plugins/sierra/mm-broadband-modem-sierra.h +++ b/plugins/sierra/mm-broadband-modem-sierra.h @@ -41,7 +41,7 @@ struct _MMBroadbandModemSierraClass{ GType mm_broadband_modem_sierra_get_type (void); MMBroadbandModemSierra *mm_broadband_modem_sierra_new (const gchar *device, - const gchar *driver, + const gchar **drivers, const gchar *plugin, guint16 vendor_id, guint16 product_id); diff --git a/plugins/sierra/mm-common-sierra.c b/plugins/sierra/mm-common-sierra.c index d5ea7ca2..fb71e049 100644 --- a/plugins/sierra/mm-common-sierra.c +++ b/plugins/sierra/mm-common-sierra.c @@ -47,6 +47,8 @@ full_functionality_status_ready (MMBaseModem *self, GSimpleAsyncResult *simple) { GError *error = NULL; + guint i; + const gchar **drivers; if (!mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error)) { g_simple_async_result_take_error (simple, error); @@ -59,11 +61,14 @@ full_functionality_status_ready (MMBaseModem *self, * away but need some time to finish initialization. Anything driven by * 'sierra' is new enough to need no delay. */ - if (g_str_equal (mm_base_modem_get_driver (MM_BASE_MODEM (self)), "sierra")) { - g_simple_async_result_set_op_res_gboolean (simple, TRUE); - g_simple_async_result_complete (simple); - g_object_unref (simple); - return; + drivers = mm_base_modem_get_drivers (MM_BASE_MODEM (self)); + for (i = 0; drivers[i]; i++) { + if (g_str_equal (drivers[i], "sierra")) { + g_simple_async_result_set_op_res_gboolean (simple, TRUE); + g_simple_async_result_complete (simple); + g_object_unref (simple); + return; + } } /* The modem object will be valid in the callback as 'result' keeps a diff --git a/plugins/sierra/mm-plugin-sierra.c b/plugins/sierra/mm-plugin-sierra.c index 99aebf80..dc8fce54 100644 --- a/plugins/sierra/mm-plugin-sierra.c +++ b/plugins/sierra/mm-plugin-sierra.c @@ -157,7 +157,7 @@ sierra_custom_init (MMPortProbe *probe, static MMBaseModem * create_modem (MMPlugin *self, const gchar *sysfs_path, - const gchar *driver, + const gchar **drivers, guint16 vendor, guint16 product, GList *probes, @@ -173,13 +173,13 @@ create_modem (MMPlugin *self, if (is_icera) return MM_BASE_MODEM (mm_broadband_modem_sierra_icera_new (sysfs_path, - driver, + drivers, mm_plugin_get_name (self), vendor, product)); return MM_BASE_MODEM (mm_broadband_modem_sierra_new (sysfs_path, - driver, + drivers, mm_plugin_get_name (self), vendor, product)); |