aboutsummaryrefslogtreecommitdiff
path: root/plugins/sierra
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/sierra')
-rw-r--r--plugins/sierra/mm-broadband-modem-sierra-icera.c4
-rw-r--r--plugins/sierra/mm-broadband-modem-sierra-icera.h2
-rw-r--r--plugins/sierra/mm-broadband-modem-sierra.c4
-rw-r--r--plugins/sierra/mm-broadband-modem-sierra.h2
-rw-r--r--plugins/sierra/mm-common-sierra.c15
-rw-r--r--plugins/sierra/mm-plugin-sierra.c6
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));