summaryrefslogtreecommitdiff
path: root/src/mm-port-probe.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2016-03-27 19:40:03 +0200
committerAleksander Morgado <aleksander@aleksander.es>2016-09-29 15:43:05 +0200
commitaa4577dfb9b5a7863a4939ec2409eae392e2fc0c (patch)
treefe696d759164829dcad1a05e02e850b5ba4369e9 /src/mm-port-probe.c
parent1f813c4e9691f22017802278ab6f5b1475185113 (diff)
core: new kernel device object instead of an explicit GUdevDevice
Instead of relying constantly on GUdevDevice objects reported by GUdev, we now use a new generic object (MMKernelDevice) for which we provide an initial GUdev based backend.
Diffstat (limited to 'src/mm-port-probe.c')
-rw-r--r--src/mm-port-probe.c205
1 files changed, 101 insertions, 104 deletions
diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c
index 908b1344..0b4d227b 100644
--- a/src/mm-port-probe.c
+++ b/src/mm-port-probe.c
@@ -74,8 +74,7 @@ static GParamSpec *properties[PROP_LAST];
struct _MMPortProbePrivate {
/* Properties */
MMDevice *device;
- GUdevDevice *port;
- GUdevDevice *parent;
+ MMKernelDevice *port;
/* Probing results */
guint32 flags;
@@ -151,8 +150,8 @@ mm_port_probe_set_result_at (MMPortProbe *self,
if (self->priv->is_at) {
mm_dbg ("(%s/%s) port is AT-capable",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
/* Also set as not a QCDM/QMI/MBIM port */
self->priv->is_qcdm = FALSE;
@@ -161,8 +160,8 @@ mm_port_probe_set_result_at (MMPortProbe *self,
self->priv->flags |= (MM_PORT_PROBE_QCDM | MM_PORT_PROBE_QMI | MM_PORT_PROBE_MBIM);
} else {
mm_dbg ("(%s/%s) port is not AT-capable",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
self->priv->vendor = NULL;
self->priv->product = NULL;
self->priv->is_icera = FALSE;
@@ -178,14 +177,14 @@ mm_port_probe_set_result_at_vendor (MMPortProbe *self,
{
if (at_vendor) {
mm_dbg ("(%s/%s) vendor probing finished",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
self->priv->vendor = g_utf8_casefold (at_vendor, -1);
self->priv->flags |= MM_PORT_PROBE_AT_VENDOR;
} else {
mm_dbg ("(%s/%s) couldn't probe for vendor string",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
self->priv->vendor = NULL;
self->priv->product = NULL;
self->priv->flags |= (MM_PORT_PROBE_AT_VENDOR | MM_PORT_PROBE_AT_PRODUCT);
@@ -198,14 +197,14 @@ mm_port_probe_set_result_at_product (MMPortProbe *self,
{
if (at_product) {
mm_dbg ("(%s/%s) product probing finished",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
self->priv->product = g_utf8_casefold (at_product, -1);
self->priv->flags |= MM_PORT_PROBE_AT_PRODUCT;
} else {
mm_dbg ("(%s/%s) couldn't probe for product string",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
self->priv->product = NULL;
self->priv->flags |= MM_PORT_PROBE_AT_PRODUCT;
}
@@ -217,14 +216,14 @@ mm_port_probe_set_result_at_icera (MMPortProbe *self,
{
if (is_icera) {
mm_dbg ("(%s/%s) Modem is Icera-based",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
self->priv->is_icera = TRUE;
self->priv->flags |= MM_PORT_PROBE_AT_ICERA;
} else {
mm_dbg ("(%s/%s) Modem is probably not Icera-based",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
self->priv->is_icera = FALSE;
self->priv->flags |= MM_PORT_PROBE_AT_ICERA;
}
@@ -239,8 +238,8 @@ mm_port_probe_set_result_qcdm (MMPortProbe *self,
if (self->priv->is_qcdm) {
mm_dbg ("(%s/%s) port is QCDM-capable",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
/* Also set as not an AT/QMI/MBIM port */
self->priv->is_at = FALSE;
@@ -257,8 +256,8 @@ mm_port_probe_set_result_qcdm (MMPortProbe *self,
MM_PORT_PROBE_MBIM);
} else
mm_dbg ("(%s/%s) port is not QCDM-capable",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
}
void
@@ -270,8 +269,8 @@ mm_port_probe_set_result_qmi (MMPortProbe *self,
if (self->priv->is_qmi) {
mm_dbg ("(%s/%s) port is QMI-capable",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
/* Also set as not an AT/QCDM/MBIM port */
self->priv->is_at = FALSE;
@@ -287,8 +286,8 @@ mm_port_probe_set_result_qmi (MMPortProbe *self,
MM_PORT_PROBE_MBIM);
} else
mm_dbg ("(%s/%s) port is not QMI-capable",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
}
void
@@ -300,8 +299,8 @@ mm_port_probe_set_result_mbim (MMPortProbe *self,
if (self->priv->is_mbim) {
mm_dbg ("(%s/%s) port is MBIM-capable",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
/* Also set as not an AT/QCDM/QMI port */
self->priv->is_at = FALSE;
@@ -317,8 +316,8 @@ mm_port_probe_set_result_mbim (MMPortProbe *self,
MM_PORT_PROBE_QMI);
} else
mm_dbg ("(%s/%s) port is not MBIM-capable",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
}
/*****************************************************************************/
@@ -445,8 +444,8 @@ port_qmi_open_ready (MMPortQmi *port_qmi,
is_qmi = mm_port_qmi_open_finish (port_qmi, res, &error);
if (!is_qmi) {
mm_dbg ("(%s/%s) error checking QMI support: '%s'",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port),
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port),
error ? error->message : "unknown error");
g_clear_error (&error);
}
@@ -471,11 +470,11 @@ wdm_probe_qmi (MMPortProbe *self)
#if defined WITH_QMI
mm_dbg ("(%s/%s) probing QMI...",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
/* Create a port and try to open it */
- ctx->port_qmi = mm_port_qmi_new (g_udev_device_get_name (self->priv->port));
+ ctx->port_qmi = mm_port_qmi_new (mm_kernel_device_get_name (self->priv->port));
mm_port_qmi_open (ctx->port_qmi,
FALSE,
NULL,
@@ -521,8 +520,8 @@ mbim_port_open_ready (MMPortMbim *mbim_port,
is_mbim = mm_port_mbim_open_finish (mbim_port, res, &error);
if (!is_mbim) {
mm_dbg ("(%s/%s) error checking MBIM support: '%s'",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port),
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port),
error ? error->message : "unknown error");
g_clear_error (&error);
}
@@ -547,11 +546,11 @@ wdm_probe_mbim (MMPortProbe *self)
#if defined WITH_MBIM
mm_dbg ("(%s/%s) probing MBIM...",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
/* Create a port and try to open it */
- ctx->mbim_port = mm_port_mbim_new (g_udev_device_get_name (self->priv->port));
+ ctx->mbim_port = mm_port_mbim_new (mm_kernel_device_get_name (self->priv->port));
mm_port_mbim_open (ctx->mbim_port,
NULL,
(GAsyncReadyCallback) mbim_port_open_ready,
@@ -623,8 +622,8 @@ serial_probe_qcdm_parse_response (MMPortSerialQcdm *port,
result = qcdm_cmd_version_info_result ((const gchar *) response->data, response->len, &err);
if (!result) {
mm_warn ("(%s/%s) failed to parse QCDM version info command result: %d",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port),
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port),
err);
retry = TRUE;
} else {
@@ -687,8 +686,8 @@ serial_probe_qcdm (MMPortProbe *self)
return G_SOURCE_REMOVE;
mm_dbg ("(%s/%s) probing QCDM...",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
/* If open, close the AT port */
if (ctx->serial) {
@@ -702,14 +701,14 @@ serial_probe_qcdm (MMPortProbe *self)
}
/* Open the QCDM port */
- ctx->serial = MM_PORT_SERIAL (mm_port_serial_qcdm_new (g_udev_device_get_name (self->priv->port)));
+ ctx->serial = MM_PORT_SERIAL (mm_port_serial_qcdm_new (mm_kernel_device_get_name (self->priv->port)));
if (!ctx->serial) {
port_probe_task_return_error (self,
g_error_new (MM_CORE_ERROR,
MM_CORE_ERROR_FAILED,
"(%s/%s) Couldn't create QCDM port",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port)));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port)));
return G_SOURCE_REMOVE;
}
@@ -719,8 +718,8 @@ serial_probe_qcdm (MMPortProbe *self)
g_error_new (MM_SERIAL_ERROR,
MM_SERIAL_ERROR_OPEN_FAILED,
"(%s/%s) Failed to open QCDM port: %s",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port),
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port),
(error ? error->message : "unknown error")));
g_clear_error (&error);
return G_SOURCE_REMOVE;
@@ -739,9 +738,9 @@ serial_probe_qcdm (MMPortProbe *self)
port_probe_task_return_error (self,
g_error_new (MM_SERIAL_ERROR,
MM_SERIAL_ERROR_OPEN_FAILED,
- "(%s/%s) Failed to create QCDM versin info command",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port)));
+ "(%s/%s) Failed to create QCDM version info command",
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port)));
return G_SOURCE_REMOVE;
}
verinfo->len = len + 1;
@@ -899,8 +898,8 @@ serial_probe_at_parse_response (MMPortSerialAt *port,
/* If AT probing cancelled, end this partial probing */
if (g_cancellable_is_cancelled (ctx->at_probing_cancellable)) {
mm_dbg ("(%s/%s) no need to keep on probing the port for AT support",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
ctx->at_result_processor (self, NULL);
serial_probe_schedule (self);
return;
@@ -920,8 +919,8 @@ serial_probe_at_parse_response (MMPortSerialAt *port,
g_error_new (MM_CORE_ERROR,
MM_CORE_ERROR_UNSUPPORTED,
"(%s/%s) error while probing AT features: %s",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port),
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port),
result_error->message));
goto out;
}
@@ -942,8 +941,8 @@ serial_probe_at_parse_response (MMPortSerialAt *port,
ctx->source_id = g_idle_add ((GSourceFunc) serial_probe_at, self);
else {
mm_dbg ("(%s/%s) re-scheduling next command in probing group in %u seconds...",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port),
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port),
ctx->at_commands_wait_secs);
ctx->source_id = g_timeout_add_seconds (ctx->at_commands_wait_secs, (GSourceFunc) serial_probe_at, self);
}
@@ -979,8 +978,8 @@ serial_probe_at (MMPortProbe *self)
/* If AT probing cancelled, end this partial probing */
if (g_cancellable_is_cancelled (ctx->at_probing_cancellable)) {
mm_dbg ("(%s/%s) no need to launch probing for AT support",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
ctx->at_result_processor (self, NULL);
serial_probe_schedule (self);
return G_SOURCE_REMOVE;
@@ -1156,8 +1155,8 @@ serial_buffer_full (MMPortSerial *serial,
ctx = g_task_get_task_data (self->priv->task);
mm_dbg ("(%s/%s) serial buffer full",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
/* Don't explicitly close the AT port, just end the AT probing
* (or custom init probing) */
mm_port_probe_set_result_at (self, FALSE);
@@ -1200,17 +1199,17 @@ serial_open_at (MMPortProbe *self)
gpointer parser;
MMPortSubsys subsys = MM_PORT_SUBSYS_TTY;
- if (g_str_has_prefix (g_udev_device_get_subsystem (self->priv->port), "usb"))
+ if (g_str_has_prefix (mm_kernel_device_get_subsystem (self->priv->port), "usb"))
subsys = MM_PORT_SUBSYS_USB;
- ctx->serial = MM_PORT_SERIAL (mm_port_serial_at_new (g_udev_device_get_name (self->priv->port), subsys));
+ ctx->serial = MM_PORT_SERIAL (mm_port_serial_at_new (mm_kernel_device_get_name (self->priv->port), subsys));
if (!ctx->serial) {
port_probe_task_return_error (self,
g_error_new (MM_CORE_ERROR,
MM_CORE_ERROR_FAILED,
"(%s/%s) couldn't create AT port",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port)));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port)));
return G_SOURCE_REMOVE;
}
@@ -1240,8 +1239,8 @@ serial_open_at (MMPortProbe *self)
g_error_new (MM_CORE_ERROR,
MM_CORE_ERROR_FAILED,
"(%s/%s) failed to open port after 4 tries",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port)));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port)));
g_clear_error (&error);
return G_SOURCE_REMOVE;
}
@@ -1257,8 +1256,8 @@ serial_open_at (MMPortProbe *self)
g_error_new (MM_SERIAL_ERROR,
MM_SERIAL_ERROR_OPEN_FAILED,
"(%s/%s) failed to open port: %s",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port),
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port),
(error ? error->message : "unknown error")));
g_clear_error (&error);
return G_SOURCE_REMOVE;
@@ -1297,8 +1296,8 @@ mm_port_probe_run_cancel_at_probing (MMPortProbe *self)
return FALSE;
mm_dbg ("(%s/%s) requested to cancel all AT probing",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
g_cancellable_cancel (ctx->at_probing_cancellable);
return TRUE;
}
@@ -1363,8 +1362,8 @@ mm_port_probe_run (MMPortProbe *self,
/* All requested probings already available? If so, we're done */
if (!ctx->flags) {
mm_dbg ("(%s/%s) port probing finished: no more probings needed",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port));
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
port_probe_task_return_boolean (self, TRUE);
return;
}
@@ -1372,8 +1371,8 @@ mm_port_probe_run (MMPortProbe *self,
/* Log the probes scheduled to be run */
probe_list_str = mm_port_probe_flag_build_string_from_mask (ctx->flags);
mm_dbg ("(%s/%s) launching port probing: '%s'",
- g_udev_device_get_subsystem (self->priv->port),
- g_udev_device_get_name (self->priv->port),
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port),
probe_list_str);
g_free (probe_list_str);
@@ -1417,8 +1416,8 @@ mm_port_probe_is_at (MMPortProbe *self)
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = g_udev_device_get_subsystem (self->priv->port);
- name = g_udev_device_get_name (self->priv->port);
+ subsys = mm_kernel_device_get_subsystem (self->priv->port);
+ name = mm_kernel_device_get_name (self->priv->port);
if (g_str_equal (subsys, "net"))
return FALSE;
@@ -1452,8 +1451,8 @@ mm_port_probe_is_qcdm (MMPortProbe *self)
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = g_udev_device_get_subsystem (self->priv->port);
- name = g_udev_device_get_name (self->priv->port);
+ 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")))
@@ -1472,8 +1471,8 @@ mm_port_probe_is_qmi (MMPortProbe *self)
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = g_udev_device_get_subsystem (self->priv->port);
- name = g_udev_device_get_name (self->priv->port);
+ 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"))
@@ -1506,8 +1505,8 @@ mm_port_probe_is_mbim (MMPortProbe *self)
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = g_udev_device_get_subsystem (self->priv->port);
- name = g_udev_device_get_name (self->priv->port);
+ 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"))
@@ -1540,8 +1539,8 @@ mm_port_probe_get_port_type (MMPortProbe *self)
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = g_udev_device_get_subsystem (self->priv->port);
- name = g_udev_device_get_name (self->priv->port);
+ subsys = mm_kernel_device_get_subsystem (self->priv->port);
+ name = mm_kernel_device_get_name (self->priv->port);
if (g_str_equal (subsys, "net"))
return MM_PORT_TYPE_NET;
@@ -1587,7 +1586,7 @@ mm_port_probe_get_device (MMPortProbe *self)
return MM_DEVICE (g_object_ref (self->priv->device));
}
-GUdevDevice *
+MMKernelDevice *
mm_port_probe_peek_port (MMPortProbe *self)
{
g_return_val_if_fail (MM_IS_PORT_PROBE (self), NULL);
@@ -1595,12 +1594,12 @@ mm_port_probe_peek_port (MMPortProbe *self)
return self->priv->port;
};
-GUdevDevice *
+MMKernelDevice *
mm_port_probe_get_port (MMPortProbe *self)
{
g_return_val_if_fail (MM_IS_PORT_PROBE (self), NULL);
- return G_UDEV_DEVICE (g_object_ref (self->priv->port));
+ return MM_KERNEL_DEVICE (g_object_ref (self->priv->port));
};
const gchar *
@@ -1611,8 +1610,8 @@ mm_port_probe_get_vendor (MMPortProbe *self)
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = g_udev_device_get_subsystem (self->priv->port);
- name = g_udev_device_get_name (self->priv->port);
+ 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")))
@@ -1631,8 +1630,8 @@ mm_port_probe_get_product (MMPortProbe *self)
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- subsys = g_udev_device_get_subsystem (self->priv->port);
- name = g_udev_device_get_name (self->priv->port);
+ 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")))
@@ -1648,7 +1647,7 @@ mm_port_probe_is_icera (MMPortProbe *self)
{
g_return_val_if_fail (MM_IS_PORT_PROBE (self), FALSE);
- if (g_str_equal (g_udev_device_get_subsystem (self->priv->port), "net"))
+ if (g_str_equal (mm_kernel_device_get_subsystem (self->priv->port), "net"))
return FALSE;
return (self->priv->flags & MM_PORT_PROBE_AT_ICERA ?
@@ -1682,7 +1681,7 @@ mm_port_probe_get_port_name (MMPortProbe *self)
{
g_return_val_if_fail (MM_IS_PORT_PROBE (self), NULL);
- return g_udev_device_get_name (self->priv->port);
+ return mm_kernel_device_get_name (self->priv->port);
}
const gchar *
@@ -1690,7 +1689,7 @@ mm_port_probe_get_port_subsys (MMPortProbe *self)
{
g_return_val_if_fail (MM_IS_PORT_PROBE (self), NULL);
- return g_udev_device_get_subsystem (self->priv->port);
+ return mm_kernel_device_get_subsystem (self->priv->port);
}
const gchar *
@@ -1698,14 +1697,14 @@ mm_port_probe_get_parent_path (MMPortProbe *self)
{
g_return_val_if_fail (MM_IS_PORT_PROBE (self), NULL);
- return (self->priv->parent ? g_udev_device_get_sysfs_path (self->priv->parent) : NULL);
+ return mm_kernel_device_get_parent_sysfs_path (self->priv->port);
}
/*****************************************************************************/
MMPortProbe *
-mm_port_probe_new (MMDevice *device,
- GUdevDevice *port)
+mm_port_probe_new (MMDevice *device,
+ MMKernelDevice *port)
{
return MM_PORT_PROBE (g_object_new (MM_TYPE_PORT_PROBE,
MM_PORT_PROBE_DEVICE, device,
@@ -1737,8 +1736,7 @@ set_property (GObject *object,
case PROP_PORT:
/* construct only */
self->priv->port = g_value_dup_object (value);
- self->priv->parent = g_udev_device_get_parent (self->priv->port);
- self->priv->is_ignored = g_udev_device_get_property_as_boolean (self->priv->port, "ID_MM_PORT_IGNORE");
+ self->priv->is_ignored = mm_kernel_device_get_property_as_boolean (self->priv->port, "ID_MM_PORT_IGNORE");
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -1789,7 +1787,6 @@ dispose (GObject *object)
/* We didn't get a reference to the device */
self->priv->device = NULL;
- g_clear_object (&self->priv->parent);
g_clear_object (&self->priv->port);
G_OBJECT_CLASS (mm_port_probe_parent_class)->dispose (object);
@@ -1819,8 +1816,8 @@ mm_port_probe_class_init (MMPortProbeClass *klass)
properties[PROP_PORT] =
g_param_spec_object (MM_PORT_PROBE_PORT,
"Port",
- "UDev device object of the port",
- G_UDEV_TYPE_DEVICE,
+ "kernel device object of the port",
+ MM_TYPE_KERNEL_DEVICE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
g_object_class_install_property (object_class, PROP_PORT, properties[PROP_PORT]);
}