diff options
author | Sushrut Shree Trivedi <quic_sushruts@quicinc.com> | 2025-02-04 12:34:57 +0530 |
---|---|---|
committer | Sushrut Shree Trivedi <quic_sushruts@quicinc.com> | 2025-02-21 10:39:29 +0530 |
commit | 092439369ba06b488c70514b4e144fc5c83a917c (patch) | |
tree | bce3530522d0356fd3884440d6ed7a15de9709b0 /src/mm-base-modem.c | |
parent | 894b517dae72d2123f54fe427e837eba7bbc9b14 (diff) |
base-modem: add subsystem device ID property
Subsystem device ID can be used for identifying PCI modems,
so expose the property.
Signed-off-by: Sushrut Shree Trivedi <quic_sushruts@quicinc.com>
Diffstat (limited to 'src/mm-base-modem.c')
-rw-r--r-- | src/mm-base-modem.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index b6023039..7213852f 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -60,6 +60,8 @@ enum { PROP_VENDOR_ID, PROP_PRODUCT_ID, PROP_SUBSYSTEM_VENDOR_ID, + PROP_SUBSYSTEM_DEVICE_ID, + PROP_CONNECTION, PROP_REPROBE, PROP_DATA_NET_SUPPORTED, @@ -94,6 +96,7 @@ struct _MMBaseModemPrivate { guint vendor_id; guint product_id; guint subsystem_vendor_id; + guint subsystem_device_id; gboolean hotplugged; gboolean valid; @@ -2119,6 +2122,14 @@ mm_base_modem_get_subsystem_vendor_id (MMBaseModem *self) return self->priv->subsystem_vendor_id; } +guint +mm_base_modem_get_subsystem_device_id (MMBaseModem *self) +{ + g_return_val_if_fail (MM_IS_BASE_MODEM (self), 0); + + return self->priv->subsystem_device_id; +} + /*****************************************************************************/ static gboolean @@ -2285,6 +2296,9 @@ set_property (GObject *object, case PROP_SUBSYSTEM_VENDOR_ID: self->priv->subsystem_vendor_id = g_value_get_uint (value); break; + case PROP_SUBSYSTEM_DEVICE_ID: + self->priv->subsystem_device_id = g_value_get_uint (value); + break; case PROP_CONNECTION: g_clear_object (&self->priv->connection); self->priv->connection = g_value_dup_object (value); @@ -2340,6 +2354,9 @@ get_property (GObject *object, case PROP_SUBSYSTEM_VENDOR_ID: g_value_set_uint (value, self->priv->subsystem_vendor_id); break; + case PROP_SUBSYSTEM_DEVICE_ID: + g_value_set_uint (value, self->priv->subsystem_device_id); + break; case PROP_CONNECTION: g_value_set_object (value, self->priv->connection); break; @@ -2512,6 +2529,14 @@ mm_base_modem_class_init (MMBaseModemClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); g_object_class_install_property (object_class, PROP_SUBSYSTEM_VENDOR_ID, properties[PROP_SUBSYSTEM_VENDOR_ID]); + properties[PROP_SUBSYSTEM_DEVICE_ID] = + g_param_spec_uint (MM_BASE_MODEM_SUBSYSTEM_DEVICE_ID, + "Hardware subsystem device ID", + "Hardware subsystem device ID. Available for pci devices.", + 0, G_MAXUINT, 0, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); + g_object_class_install_property (object_class, PROP_SUBSYSTEM_DEVICE_ID, properties[PROP_SUBSYSTEM_DEVICE_ID]); + properties[PROP_CONNECTION] = g_param_spec_object (MM_BASE_MODEM_CONNECTION, "Connection", |