diff options
author | Dan Williams <dan@bigw.org> | 2025-02-21 14:01:51 +0000 |
---|---|---|
committer | Dan Williams <dan@bigw.org> | 2025-02-21 14:01:51 +0000 |
commit | 6e981b61b3ceeb54d8f3e20548c9968e281c85b8 (patch) | |
tree | bce3530522d0356fd3884440d6ed7a15de9709b0 /src/mm-device.c | |
parent | 286598388b129ec632998e5d72d58d847bd2892a (diff) | |
parent | 092439369ba06b488c70514b4e144fc5c83a917c (diff) |
Merge request !1287 from 'sushrut-branch'
kernel-device, generic: add subsystem device ID support
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1287
Diffstat (limited to 'src/mm-device.c')
-rw-r--r-- | src/mm-device.c | 12 |
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) |