[PATCH libdrm 1/5] xf86drm: use maj/min in drmParsePciDeviceInfo()
Emil Velikov
emil.l.velikov at gmail.com
Fri Dec 2 16:32:34 UTC 2016
From: Emil Velikov <emil.velikov at collabora.com>
Be consistent with drmParsePciBusInfo() and use solely the device
major/minor pair.
Cc: Jonathan Gray <jsg at jsg.id.au>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
Jonathan, please respin your patches on top of this series.
---
xf86drm.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/xf86drm.c b/xf86drm.c
index ed924a7..c788c93 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -2946,7 +2946,7 @@ static int drmGetMaxNodeName(void)
3 /* length of the node number */;
}
-static int drmParsePciDeviceInfo(const char *d_name,
+static int drmParsePciDeviceInfo(int maj, int min,
drmPciDeviceInfoPtr device)
{
#ifdef __linux__
@@ -2954,7 +2954,7 @@ static int drmParsePciDeviceInfo(const char *d_name,
unsigned char config[64];
int fd, ret;
- snprintf(path, PATH_MAX, "/sys/class/drm/%s/device/config", d_name);
+ snprintf(path, PATH_MAX, "/sys/dev/char/%d:%d/device/config", maj, min);
fd = open(path, O_RDONLY);
if (fd < 0)
return -errno;
@@ -2998,7 +2998,7 @@ void drmFreeDevices(drmDevicePtr devices[], int count)
drmFreeDevice(&devices[i]);
}
-static int drmProcessPciDevice(drmDevicePtr *device, const char *d_name,
+static int drmProcessPciDevice(drmDevicePtr *device,
const char *node, int node_type,
int maj, int min, bool fetch_deviceinfo)
{
@@ -3039,7 +3039,7 @@ static int drmProcessPciDevice(drmDevicePtr *device, const char *d_name,
addr += sizeof(drmPciBusInfo);
(*device)->deviceinfo.pci = (drmPciDeviceInfoPtr)addr;
- ret = drmParsePciDeviceInfo(d_name, (*device)->deviceinfo.pci);
+ ret = drmParsePciDeviceInfo(maj, min, (*device)->deviceinfo.pci);
if (ret)
goto free_device;
}
@@ -3142,8 +3142,7 @@ int drmGetDevice(int fd, drmDevicePtr *device)
switch (subsystem_type) {
case DRM_BUS_PCI:
- ret = drmProcessPciDevice(&d, dent->d_name, node, node_type,
- maj, min, true);
+ ret = drmProcessPciDevice(&d, node, node_type, maj, min, true);
if (ret)
goto free_devices;
@@ -3251,7 +3250,7 @@ int drmGetDevices(drmDevicePtr devices[], int max_devices)
switch (subsystem_type) {
case DRM_BUS_PCI:
- ret = drmProcessPciDevice(&device, dent->d_name, node, node_type,
+ ret = drmProcessPciDevice(&device, node, node_type,
maj, min, devices != NULL);
if (ret)
goto free_devices;
--
2.10.2
More information about the dri-devel
mailing list