aboutsummaryrefslogtreecommitdiff
path: root/src/mm-device.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-device.c')
-rw-r--r--src/mm-device.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mm-device.c b/src/mm-device.c
index af2332f6..109ba21e 100644
--- a/src/mm-device.c
+++ b/src/mm-device.c
@@ -72,6 +72,8 @@ struct _MMDevicePrivate {
guint16 product;
/* Subsystem vendor ID for PCI devices */
guint16 subsystem_vendor;
+ /* Subsystem device ID for PCI devices */
+ guint16 subsystem_device;
/* Kernel drivers managing this device */
gchar **drivers;
@@ -269,6 +271,9 @@ mm_device_grab_port (MMDevice *self,
if (!self->priv->subsystem_vendor)
self->priv->subsystem_vendor = mm_kernel_device_get_physdev_subsystem_vid (kernel_port);
+ if (!self->priv->subsystem_device)
+ self->priv->subsystem_device = mm_kernel_device_get_physdev_subsystem_pid (kernel_port);
+
/* Add new port driver */
add_port_driver (self, kernel_port);
@@ -614,6 +619,13 @@ mm_device_get_subsystem_vendor (MMDevice *self)
return self->priv->subsystem_vendor;
}
+guint16
+mm_device_get_subsystem_device (MMDevice *self)
+{
+ return self->priv->subsystem_device;
+}
+
+
void
mm_device_set_plugin (MMDevice *self,
GObject *plugin)