ecore-drm: use eeze_udev_find_by_filter() to only return relevant backlight devices
authorMike Blumenkrantz <zmike@osg.samsung.com>
Thu, 23 Apr 2015 17:17:25 +0000 (13:17 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Thu, 23 Apr 2015 17:17:25 +0000 (13:17 -0400)
src/lib/ecore_drm/ecore_drm_output.c

index 75b9fcc..9699e98 100644 (file)
@@ -335,15 +335,13 @@ _ecore_drm_output_backlight_init(Ecore_Drm_Output *output, uint32_t conn_type)
    Eina_Bool found = EINA_FALSE;
    const char *device, *devtype;
 
-   if (!(devs = eeze_udev_find_by_type(EEZE_UDEV_TYPE_BACKLIGHT, NULL)))
-     devs = eeze_udev_find_by_type(EEZE_UDEV_TYPE_LEDS, NULL);
+   if (!(devs = eeze_udev_find_by_filter("backlight", NULL, output->dev->drm.path)))
+     devs = eeze_udev_find_by_filter("leds", NULL, output->dev->drm.path);
 
    if (!devs) return NULL;
 
    EINA_LIST_FOREACH(devs, l, device)
      {
-        /* ensure this backlight is owned by this output's device */
-        if (strncmp(device, output->dev->drm.path, strlen(output->dev->drm.path))) continue;
         if (!(devtype = eeze_udev_syspath_get_sysattr(device, "type")))
           continue;