From befee319b4f5ea7d5afb96d7d9f753251b9acbd3 Mon Sep 17 00:00:00 2001 From: Vitalii Popov Date: Thu, 15 Oct 2026 00:10:44 +0300 Subject: [PATCH] add ability to supply kernel driver name from udev --- src/kerneldevice/mm-kernel-device-udev.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/kerneldevice/mm-kernel-device-udev.c b/src/kerneldevice/mm-kernel-device-udev.c index 7fede022..914a8ce1 100644 --- a/src/kerneldevice/mm-kernel-device-udev.c +++ b/src/kerneldevice/mm-kernel-device-udev.c @@ -338,10 +338,21 @@ kernel_device_get_name (MMKernelDevice *_self) return mm_kernel_event_properties_get_name (self->priv->properties); } +/* Driver name for devices without one in sysfs, e.g. the virtual rmnet_ipa0 of + * Qualcomm vendor kernels, which is handled like the mainline 'ipa' driver */ +#define ID_MM_KERNEL_DRIVER "ID_MM_KERNEL_DRIVER" + static const gchar * -kernel_device_get_driver (MMKernelDevice *self) +kernel_device_get_driver (MMKernelDevice *_self) { - return MM_KERNEL_DEVICE_UDEV (self)->priv->driver; + MMKernelDeviceUdev *self; + const gchar *driver; + + self = MM_KERNEL_DEVICE_UDEV (_self); + if (self->priv->device && + (driver = g_udev_device_get_property (self->priv->device, ID_MM_KERNEL_DRIVER)) != NULL) + return driver; + return self->priv->driver; } static const gchar *