aboutsummaryrefslogtreecommitdiff
path: root/src/mm-device.h
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2020-11-19 15:52:20 +0100
committerAleksander Morgado <aleksander@aleksander.es>2020-11-19 17:01:55 +0000
commitc3bc515b8a8eb77b3517cc96827fa48573459dd8 (patch)
tree86c42b2ea88651474c8a81c0ee989a7a1c0a2620 /src/mm-device.h
parent047805348db1fdaac4c24b6ea4f4d382e6bc03c8 (diff)
base-manager: never create kernel device objects for remove events
There is no point in creating a new kernel device object just to process a remove event; instead, do any matching with existing kernel device objects by subsystem and name, which is what the generic backend already did anyway. This avoids unnecessary lookup of information in sysfs during removal events, because the port is anyway already gone when we try to look those up.
Diffstat (limited to 'src/mm-device.h')
-rw-r--r--src/mm-device.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/mm-device.h b/src/mm-device.h
index d78a97c9..00d5977a 100644
--- a/src/mm-device.h
+++ b/src/mm-device.h
@@ -67,14 +67,19 @@ MMDevice *mm_device_new (const gchar *uid,
gboolean virtual,
GDBusObjectManagerServer *object_manager);
-void mm_device_grab_port (MMDevice *self,
- MMKernelDevice *kernel_port);
-void mm_device_release_port (MMDevice *self,
- MMKernelDevice *kernel_port);
-gboolean mm_device_owns_port (MMDevice *self,
- MMKernelDevice *kernel_port);
-void mm_device_ignore_port (MMDevice *self,
- MMKernelDevice *kernel_port);
+void mm_device_grab_port (MMDevice *self,
+ MMKernelDevice *kernel_port);
+gboolean mm_device_owns_port (MMDevice *self,
+ MMKernelDevice *kernel_port);
+void mm_device_ignore_port (MMDevice *self,
+ MMKernelDevice *kernel_port);
+
+gboolean mm_device_owns_port_name (MMDevice *self,
+ const gchar *subsystem,
+ const gchar *name);
+void mm_device_release_port_name (MMDevice *self,
+ const gchar *subsystem,
+ const gchar *name);
gboolean mm_device_create_modem (MMDevice *self,
GError **error);