From 496fb826f136eb32116ada62dd8ae4bdd8c5add6 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Fri, 25 Sep 2020 20:04:44 +0100 Subject: [PATCH] trivial: Add fu_udev_device_get_number() --- libfwupdplugin/fu-udev-device.c | 23 +++++++++++++++++++++++ libfwupdplugin/fu-udev-device.h | 1 + libfwupdplugin/fwupdplugin.map | 1 + 3 files changed, 25 insertions(+) diff --git a/libfwupdplugin/fu-udev-device.c b/libfwupdplugin/fu-udev-device.c index b4e708f3a..beef46da9 100644 --- a/libfwupdplugin/fu-udev-device.c +++ b/libfwupdplugin/fu-udev-device.c @@ -743,6 +743,29 @@ fu_udev_device_get_sysfs_path (FuUdevDevice *self) return NULL; } +/** + * fu_udev_device_get_number: + * @self: A #FuUdevDevice + * + * Gets the device number, if any. + * + * Returns: integer, 0 if the data is unavailable, or %G_MAXUINT64 if the + * feature is not available + * + * Since: 1.5.0 + **/ +guint64 +fu_udev_device_get_number (FuUdevDevice *self) +{ +#ifdef HAVE_GUDEV + FuUdevDevicePrivate *priv = GET_PRIVATE (self); + g_return_val_if_fail (FU_IS_UDEV_DEVICE (self), 0); + if (priv->udev_device != NULL) + return fu_common_strtoull (g_udev_device_get_number (priv->udev_device)); +#endif + return G_MAXUINT64; +} + /** * fu_udev_device_get_vendor: * @self: A #FuUdevDevice diff --git a/libfwupdplugin/fu-udev-device.h b/libfwupdplugin/fu-udev-device.h index 38b63d422..f5698e1cc 100644 --- a/libfwupdplugin/fu-udev-device.h +++ b/libfwupdplugin/fu-udev-device.h @@ -66,6 +66,7 @@ guint32 fu_udev_device_get_model (FuUdevDevice *self); guint32 fu_udev_device_get_subsystem_vendor (FuUdevDevice *self); guint32 fu_udev_device_get_subsystem_model (FuUdevDevice *self); guint8 fu_udev_device_get_revision (FuUdevDevice *self); +guint64 fu_udev_device_get_number (FuUdevDevice *self); guint fu_udev_device_get_slot_depth (FuUdevDevice *self, const gchar *subsystem); gboolean fu_udev_device_set_physical_id (FuUdevDevice *self, diff --git a/libfwupdplugin/fwupdplugin.map b/libfwupdplugin/fwupdplugin.map index 7164d61b3..11edfe335 100644 --- a/libfwupdplugin/fwupdplugin.map +++ b/libfwupdplugin/fwupdplugin.map @@ -652,6 +652,7 @@ LIBFWUPDPLUGIN_1.5.0 { fu_security_attrs_new; fu_security_attrs_remove_all; fu_security_attrs_to_variant; + fu_udev_device_get_number; fu_udev_device_get_subsystem_model; fu_udev_device_get_subsystem_vendor; local: *;