aboutsummaryrefslogtreecommitdiff
path: root/src/mm-port-probe.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-port-probe.c')
-rw-r--r--src/mm-port-probe.c82
1 files changed, 13 insertions, 69 deletions
diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c
index 0c1edef1..947be83b 100644
--- a/src/mm-port-probe.c
+++ b/src/mm-port-probe.c
@@ -1543,18 +1543,8 @@ mm_port_probe_list_has_at_port (GList *list)
gboolean
mm_port_probe_is_qcdm (MMPortProbe *self)
{
- const gchar *subsys;
- const gchar *name;
-
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = mm_kernel_device_get_subsystem (self->priv->port);
- name = mm_kernel_device_get_name (self->priv->port);
- if (g_str_equal (subsys, "net") ||
- (g_str_has_prefix (subsys, "usb") &&
- g_str_has_prefix (name, "cdc-wdm")))
- return FALSE;
-
return (self->priv->flags & MM_PORT_PROBE_QCDM ?
self->priv->is_qcdm :
FALSE);
@@ -1563,19 +1553,11 @@ mm_port_probe_is_qcdm (MMPortProbe *self)
gboolean
mm_port_probe_is_qmi (MMPortProbe *self)
{
- const gchar *subsys;
- const gchar *name;
-
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = mm_kernel_device_get_subsystem (self->priv->port);
- name = mm_kernel_device_get_name (self->priv->port);
- if (!g_str_has_prefix (subsys, "usb") ||
- !name ||
- !g_str_has_prefix (name, "cdc-wdm"))
- return FALSE;
-
- return self->priv->is_qmi;
+ return (self->priv->flags & MM_PORT_PROBE_QMI ?
+ self->priv->is_qmi :
+ FALSE);
}
gboolean
@@ -1597,19 +1579,11 @@ mm_port_probe_list_has_qmi_port (GList *list)
gboolean
mm_port_probe_is_mbim (MMPortProbe *self)
{
- const gchar *subsys;
- const gchar *name;
-
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = mm_kernel_device_get_subsystem (self->priv->port);
- name = mm_kernel_device_get_name (self->priv->port);
- if (!g_str_has_prefix (subsys, "usb") ||
- !name ||
- !g_str_has_prefix (name, "cdc-wdm"))
- return FALSE;
-
- return self->priv->is_mbim;
+ return (self->priv->flags & MM_PORT_PROBE_MBIM ?
+ self->priv->is_mbim :
+ FALSE);
}
gboolean
@@ -1640,21 +1614,17 @@ mm_port_probe_get_port_type (MMPortProbe *self)
if (g_str_equal (subsys, "net"))
return MM_PORT_TYPE_NET;
- if (g_str_has_prefix (subsys, "usb")) {
- const gchar *name;
-
- name = mm_kernel_device_get_name (self->priv->port);
- if (g_str_has_prefix (name, "cdc-wdm")) {
#if defined WITH_QMI
- if (self->priv->is_qmi)
- return MM_PORT_TYPE_QMI;
+ if (self->priv->flags & MM_PORT_PROBE_QMI &&
+ self->priv->is_qmi)
+ return MM_PORT_TYPE_QMI;
#endif
+
#if defined WITH_MBIM
- if (self->priv->is_mbim)
- return MM_PORT_TYPE_MBIM;
+ if (self->priv->flags & MM_PORT_PROBE_MBIM &&
+ self->priv->is_mbim)
+ return MM_PORT_TYPE_MBIM;
#endif
- }
- }
if (self->priv->flags & MM_PORT_PROBE_QCDM &&
self->priv->is_qcdm)
@@ -1708,18 +1678,8 @@ mm_port_probe_get_port (MMPortProbe *self)
const gchar *
mm_port_probe_get_vendor (MMPortProbe *self)
{
- const gchar *subsys;
- const gchar *name;
-
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = mm_kernel_device_get_subsystem (self->priv->port);
- name = mm_kernel_device_get_name (self->priv->port);
- if (g_str_equal (subsys, "net") ||
- (g_str_has_prefix (subsys, "usb") &&
- g_str_has_prefix (name, "cdc-wdm")))
- return NULL;
-
return (self->priv->flags & MM_PORT_PROBE_AT_VENDOR ?
self->priv->vendor :
NULL);
@@ -1728,18 +1688,8 @@ mm_port_probe_get_vendor (MMPortProbe *self)
const gchar *
mm_port_probe_get_product (MMPortProbe *self)
{
- const gchar *subsys;
- const gchar *name;
-
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = mm_kernel_device_get_subsystem (self->priv->port);
- name = mm_kernel_device_get_name (self->priv->port);
- if (g_str_equal (subsys, "net") ||
- (g_str_has_prefix (subsys, "usb") &&
- g_str_has_prefix (name, "cdc-wdm")))
- return NULL;
-
return (self->priv->flags & MM_PORT_PROBE_AT_PRODUCT ?
self->priv->product :
NULL);
@@ -1750,9 +1700,6 @@ mm_port_probe_is_icera (MMPortProbe *self)
{
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- if (g_str_equal (mm_kernel_device_get_subsystem (self->priv->port), "net"))
- return FALSE;
-
return (self->priv->flags & MM_PORT_PROBE_AT_ICERA ?
self->priv->is_icera :
FALSE);
@@ -1776,9 +1723,6 @@ mm_port_probe_is_xmm (MMPortProbe *self)
{
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- if (g_str_equal (mm_kernel_device_get_subsystem (self->priv->port), "net"))
- return FALSE;
-
return (self->priv->flags & MM_PORT_PROBE_AT_XMM ?
self->priv->is_xmm :
FALSE);