diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/kerneldevice/mm-kernel-device-generic.c | 9 | ||||
-rw-r--r-- | src/kerneldevice/mm-kernel-device-udev.c | 16 | ||||
-rw-r--r-- | src/kerneldevice/mm-kernel-device.c | 10 | ||||
-rw-r--r-- | src/kerneldevice/mm-kernel-device.h | 3 |
4 files changed, 38 insertions, 0 deletions
diff --git a/src/kerneldevice/mm-kernel-device-generic.c b/src/kerneldevice/mm-kernel-device-generic.c index d1d2400c..63c29741 100644 --- a/src/kerneldevice/mm-kernel-device-generic.c +++ b/src/kerneldevice/mm-kernel-device-generic.c @@ -498,6 +498,14 @@ kernel_device_get_physdev_pid (MMKernelDevice *self) } static const gchar * +kernel_device_get_physdev_sysfs_path (MMKernelDevice *self) +{ + g_return_val_if_fail (MM_IS_KERNEL_DEVICE_GENERIC (self), 0); + + return MM_KERNEL_DEVICE_GENERIC (self)->priv->physdev_sysfs_path; +} + +static const gchar * kernel_device_get_physdev_subsystem (MMKernelDevice *self) { g_return_val_if_fail (MM_IS_KERNEL_DEVICE_GENERIC (self), NULL); @@ -1099,6 +1107,7 @@ mm_kernel_device_generic_class_init (MMKernelDeviceGenericClass *klass) kernel_device_class->get_physdev_uid = kernel_device_get_physdev_uid; kernel_device_class->get_physdev_vid = kernel_device_get_physdev_vid; kernel_device_class->get_physdev_pid = kernel_device_get_physdev_pid; + kernel_device_class->get_physdev_sysfs_path = kernel_device_get_physdev_sysfs_path; kernel_device_class->get_physdev_subsystem = kernel_device_get_physdev_subsystem; kernel_device_class->get_physdev_manufacturer = kernel_device_get_physdev_manufacturer; kernel_device_class->get_parent_sysfs_path = kernel_device_get_parent_sysfs_path; diff --git a/src/kerneldevice/mm-kernel-device-udev.c b/src/kerneldevice/mm-kernel-device-udev.c index 1248d5ba..b5e463a0 100644 --- a/src/kerneldevice/mm-kernel-device-udev.c +++ b/src/kerneldevice/mm-kernel-device-udev.c @@ -384,6 +384,21 @@ kernel_device_get_physdev_pid (MMKernelDevice *_self) } static const gchar * +kernel_device_get_physdev_sysfs_path (MMKernelDevice *_self) +{ + MMKernelDeviceUdev *self; + + g_return_val_if_fail (MM_IS_KERNEL_DEVICE_UDEV (_self), NULL); + + self = MM_KERNEL_DEVICE_UDEV (_self); + ensure_physdev (self); + if (!self->priv->physdev) + return NULL; + + return g_udev_device_get_sysfs_path (self->priv->physdev); +} + +static const gchar * kernel_device_get_physdev_subsystem (MMKernelDevice *_self) { MMKernelDeviceUdev *self; @@ -894,6 +909,7 @@ mm_kernel_device_udev_class_init (MMKernelDeviceUdevClass *klass) kernel_device_class->get_physdev_uid = kernel_device_get_physdev_uid; kernel_device_class->get_physdev_vid = kernel_device_get_physdev_vid; kernel_device_class->get_physdev_pid = kernel_device_get_physdev_pid; + kernel_device_class->get_physdev_sysfs_path = kernel_device_get_physdev_sysfs_path; kernel_device_class->get_physdev_subsystem = kernel_device_get_physdev_subsystem; kernel_device_class->get_physdev_manufacturer = kernel_device_get_physdev_manufacturer; kernel_device_class->get_parent_sysfs_path = kernel_device_get_parent_sysfs_path; diff --git a/src/kerneldevice/mm-kernel-device.c b/src/kerneldevice/mm-kernel-device.c index ce4f7793..8cfa1723 100644 --- a/src/kerneldevice/mm-kernel-device.c +++ b/src/kerneldevice/mm-kernel-device.c @@ -100,6 +100,16 @@ mm_kernel_device_get_physdev_subsystem (MMKernelDevice *self) } const gchar * +mm_kernel_device_get_physdev_sysfs_path (MMKernelDevice *self) +{ + g_return_val_if_fail (MM_IS_KERNEL_DEVICE (self), NULL); + + return (MM_KERNEL_DEVICE_GET_CLASS (self)->get_physdev_sysfs_path ? + MM_KERNEL_DEVICE_GET_CLASS (self)->get_physdev_sysfs_path (self) : + NULL); +} + +const gchar * mm_kernel_device_get_physdev_manufacturer (MMKernelDevice *self) { g_return_val_if_fail (MM_IS_KERNEL_DEVICE (self), NULL); diff --git a/src/kerneldevice/mm-kernel-device.h b/src/kerneldevice/mm-kernel-device.h index 480e1ed5..34df9075 100644 --- a/src/kerneldevice/mm-kernel-device.h +++ b/src/kerneldevice/mm-kernel-device.h @@ -55,6 +55,8 @@ struct _MMKernelDeviceClass { guint16 (* get_physdev_pid) (MMKernelDevice *self); + const gchar * (* get_physdev_sysfs_path) (MMKernelDevice *self); + const gchar * (* get_physdev_subsystem) (MMKernelDevice *self); const gchar * (* get_physdev_manufacturer) (MMKernelDevice *self); @@ -89,6 +91,7 @@ const gchar *mm_kernel_device_get_parent_sysfs_path (MMKernelDevice *self); const gchar *mm_kernel_device_get_physdev_uid (MMKernelDevice *self); guint16 mm_kernel_device_get_physdev_vid (MMKernelDevice *self); guint16 mm_kernel_device_get_physdev_pid (MMKernelDevice *self); +const gchar *mm_kernel_device_get_physdev_sysfs_path (MMKernelDevice *self); const gchar *mm_kernel_device_get_physdev_subsystem (MMKernelDevice *self); const gchar *mm_kernel_device_get_physdev_manufacturer (MMKernelDevice *self); |