From 654c5f5014f90df7eb239b83ac88a1065e169731 Mon Sep 17 00:00:00 2001 From: Daniele Palmas Date: Wed, 4 May 2022 11:49:03 +0200 Subject: base-modem: add subsystem vendor ID property Subsystem vendor ID can be used for identifying PCI modems, so expose the property. --- src/mm-base-modem.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/mm-base-modem.c') diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c index 13fe14dd..9dc26601 100644 --- a/src/mm-base-modem.c +++ b/src/mm-base-modem.c @@ -57,6 +57,7 @@ enum { PROP_PLUGIN, PROP_VENDOR_ID, PROP_PRODUCT_ID, + PROP_SUBSYSTEM_VENDOR_ID, PROP_CONNECTION, PROP_REPROBE, PROP_DATA_NET_SUPPORTED, @@ -89,6 +90,7 @@ struct _MMBaseModemPrivate { guint vendor_id; guint product_id; + guint subsystem_vendor_id; gboolean hotplugged; gboolean valid; @@ -1671,6 +1673,14 @@ mm_base_modem_get_product_id (MMBaseModem *self) return self->priv->product_id; } +guint +mm_base_modem_get_subsystem_vendor_id (MMBaseModem *self) +{ + g_return_val_if_fail (MM_IS_BASE_MODEM (self), 0); + + return self->priv->subsystem_vendor_id; +} + /*****************************************************************************/ static gboolean @@ -1832,6 +1842,9 @@ set_property (GObject *object, case PROP_PRODUCT_ID: self->priv->product_id = g_value_get_uint (value); break; + case PROP_SUBSYSTEM_VENDOR_ID: + self->priv->subsystem_vendor_id = g_value_get_uint (value); + break; case PROP_CONNECTION: g_clear_object (&self->priv->connection); self->priv->connection = g_value_dup_object (value); @@ -1881,6 +1894,9 @@ get_property (GObject *object, case PROP_PRODUCT_ID: g_value_set_uint (value, self->priv->product_id); break; + case PROP_SUBSYSTEM_VENDOR_ID: + g_value_set_uint (value, self->priv->subsystem_vendor_id); + break; case PROP_CONNECTION: g_value_set_object (value, self->priv->connection); break; @@ -2034,6 +2050,14 @@ mm_base_modem_class_init (MMBaseModemClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); g_object_class_install_property (object_class, PROP_PRODUCT_ID, properties[PROP_PRODUCT_ID]); + properties[PROP_SUBSYSTEM_VENDOR_ID] = + g_param_spec_uint (MM_BASE_MODEM_SUBSYSTEM_VENDOR_ID, + "Hardware subsystem vendor ID", + "Hardware subsystem vendor 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_VENDOR_ID, properties[PROP_SUBSYSTEM_VENDOR_ID]); + properties[PROP_CONNECTION] = g_param_spec_object (MM_BASE_MODEM_CONNECTION, "Connection", -- cgit v1.2.3-70-g09d2