-static char *
-drm_get_device_name(int fd)
-{
- char *device_name = NULL;
-#ifdef HAVE_LIBUDEV
- struct udev *udev;
- struct udev_device *device;
- struct stat buf;
- const char *tmp;
-
- udev = udev_new();
- if (fstat(fd, &buf) < 0) {
- _eglLog(_EGL_WARNING, "failed to stat fd %d", fd);
- goto outudev;
- }
-
- device = udev_device_new_from_devnum(udev, 'c', buf.st_rdev);
- if (device == NULL) {
- _eglLog(_EGL_WARNING,
- "could not create udev device for fd %d", fd);
- goto outdevice;
- }
-
- tmp = udev_device_get_devnode(device);
- if (!tmp)
- goto outdevice;
- device_name = strdup(tmp);
-
-outdevice:
- udev_device_unref(device);
-outudev:
- udev_unref(udev);
-
-#endif
- return device_name;
-}
-