devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9778443f02e79ae9d843eed69371431ce4898b71
commit 9778443f02e79ae9d843eed69371431ce4898b71 Author: Chris Michael <[email protected]> Date: Tue Dec 9 15:10:43 2014 -0500 eeze: Add API function for eeze_udev_find_by_subsystem_sysname Summary: This adds an API function to find a device by subsystem_sysname. This is needed for the port of ecore_drm to use libinput. @feature Signed-off-by: Chris Michael <[email protected]> --- src/lib/eeze/eeze_udev_find.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/lib/eeze/eeze_udev_find.c b/src/lib/eeze/eeze_udev_find.c index 899a53b..06bbb4c 100644 --- a/src/lib/eeze/eeze_udev_find.c +++ b/src/lib/eeze/eeze_udev_find.c @@ -382,3 +382,31 @@ eeze_udev_find_by_sysattr(const char *sysattr, udev_enumerate_unref(en); return ret; } + +EAPI Eina_List * +eeze_udev_find_by_subsystem_sysname(const char *subsystem, const char *sysname) +{ + _udev_enumerate *en; + _udev_list_entry *devs, *cur; + _udev_device *device; + const char *devname; + Eina_List *ret = NULL; + + if (!sysname) return NULL; + + en = udev_enumerate_new(udev); + if (!en) return NULL; + + udev_enumerate_scan_devices(en); + devs = udev_enumerate_get_list_entry(en); + udev_list_entry_foreach(cur, devs) + { + devname = udev_list_entry_get_name(cur); + device = + udev_device_new_from_subsystem_sysname(udev, subsystem, sysname); + ret = eina_list_append(ret, eina_stringshare_add(devname)); + udev_device_unref(device); + } + udev_enumerate_unref(en); + return ret; +} --
