#include <stdio.h>
#include <stdbool.h>
#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
#ifdef MAJOR_IN_MKDEV
#include <sys/mkdev.h>
#endif
#include "loader.h"
#ifdef HAVE_LIBDRM
-#include <stdlib.h>
-#include <unistd.h>
#include <xf86drm.h>
#ifdef USE_DRICONF
-#include "xmlconfig.h"
-#include "xmlpool.h"
+#include "util/xmlconfig.h"
+#include "util/xmlpool.h"
#endif
#endif
drmDevicePtr device;
char *tag;
- if (drmGetDevice(fd, &device) != 0)
+ if (drmGetDevice2(fd, 0, &device) != 0)
return NULL;
tag = drm_construct_id_path_tag(device);
return tag;
}
-int loader_get_user_preferred_fd(int default_fd, int *different_device)
+int loader_get_user_preferred_fd(int default_fd, bool *different_device)
{
/* Arbitrary "maximum" value of drm devices. */
#define MAX_DRM_DEVICES 32
#endif
if (prime == NULL) {
- *different_device = 0;
+ *different_device = false;
return default_fd;
}
if (default_tag == NULL)
goto err;
- num_devices = drmGetDevices(devices, MAX_DRM_DEVICES);
+ num_devices = drmGetDevices2(0, devices, MAX_DRM_DEVICES);
if (num_devices < 0)
goto err;
return fd;
err:
- *different_device = 0;
+ *different_device = false;
free(default_tag);
free(prime);
return default_fd;
}
#else
-int loader_get_user_preferred_fd(int default_fd, int *different_device)
+int loader_get_user_preferred_fd(int default_fd, bool *different_device)
{
- *different_device = 0;
+ *different_device = false;
return default_fd;
}
#endif
drmDevicePtr device;
int ret;
- if (drmGetDevice(fd, &device) == 0) {
+ if (drmGetDevice2(fd, 0, &device) == 0) {
if (device->bustype == DRM_BUS_PCI) {
*vendor_id = device->deviceinfo.pci->vendor_id;
*chip_id = device->deviceinfo.pci->device_id;
ret = 1;
}
else {
- log_(_LOADER_WARNING, "MESA-LOADER: device is not located on the PCI bus\n");
+ log_(_LOADER_DEBUG, "MESA-LOADER: device is not located on the PCI bus\n");
ret = 0;
}
drmFreeDevice(&device);