[PATCH 1/5] drm: add interface to get drm devices on the system v2

Zhou, Jammy Jammy.Zhou at amd.com
Fri Aug 14 05:15:18 PDT 2015

Okay, I got it. Actually with current implementation, only the number of PCI devices on the system is returned for drmGetDevices(NULL, 0). I extracted related code below. I hope it can address your concern :-)

+static int drmParseSubsystemType(const char *str) {
+    char link[PATH_MAX + 1] = "";
+    char *name;
+    if (readlink(str, link, PATH_MAX) < 0)
+        return -EINVAL;
+    name = strrchr(link, '/');
+    if (!name)
+        return -EINVAL;
+    name++;
+    if (strncmp(name, "pci", 3) == 0)
+        return DRM_BUS_PCI;
+    return -EINVAL;
+        subsystem_type = drmParseSubsystemType(path);
+        if (subsystem_type < 0)
+            continue;


-----Original Message-----
From: Emil Velikov [mailto:emil.l.velikov at gmail.com] 
Sent: Friday, August 14, 2015 6:05 PM
To: Zhou, Jammy
Cc: ML dri-devel
Subject: Re: [PATCH 1/5] drm: add interface to get drm devices on the system v2

On 14 August 2015 at 10:41, Zhou, Jammy <Jammy.Zhou at amd.com> wrote:
>> What is the point in claiming that you have X+Y devices, if the API does not provide any information about Y of them ? It seems very misleading imho.
> I'm not sure if I understand your question correctly.
Easy - replace X with "pci" and Y with "platform/usb" :)

Or in other words:
user: "hey libdrm, how many devices do we have"
libdrm: "hey user, there are 10 devices here."
user: "great, tell me all about them"
libdrm: "sure... well I cannot tell you anything about 3 of them, but the rest are fine"
user: "why did you stay that they are 10, if there is no info for 3 of them ?"

Fwiw it can be argued either way but I'd suspect that the current behaviour is not too welcoming.

If people feel for the current behaviour I'kk be ok with it.


More information about the dri-devel mailing list