Lines 18-24
Link Here
|
18 |
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) |
18 |
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) |
19 |
-#define DRM_MAJOR 145 |
19 |
-#define DRM_MAJOR 145 |
20 |
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) |
20 |
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) |
21 |
+#define DRM_MAJOR 0 |
21 |
+#define DRM_MAJOR 0 /* ignored */ |
22 |
+#endif |
22 |
+#endif |
23 |
+ |
23 |
+ |
24 |
+#if defined(__DragonFly__) |
24 |
+#if defined(__DragonFly__) |
Lines 42-49
Link Here
|
42 |
|
42 |
|
43 |
/** |
43 |
/** |
44 |
* Open the device by bus ID. |
44 |
* Open the device by bus ID. |
45 |
@@ -2833,6 +2843,15 @@ static char *drmGetMinorNameForFD(int fd |
45 |
@@ -2731,7 +2741,11 @@ int drmGetNodeTypeFromFd(int fd) |
|
|
46 |
if (fstat(fd, &sbuf)) |
47 |
return -1; |
46 |
|
48 |
|
|
|
49 |
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) |
50 |
+ maj = DRM_MAJOR; |
51 |
+#else |
52 |
maj = major(sbuf.st_rdev); |
53 |
+#endif |
54 |
min = minor(sbuf.st_rdev); |
55 |
|
56 |
if (maj != DRM_MAJOR || !S_ISCHR(sbuf.st_mode)) { |
57 |
@@ -2833,6 +2847,15 @@ static char *drmGetMinorNameForFD(int fd |
58 |
|
47 |
out_close_dir: |
59 |
out_close_dir: |
48 |
closedir(sysdir); |
60 |
closedir(sysdir); |
49 |
+#elif defined(__FreeBSD__) || defined(__DragonFly__) |
61 |
+#elif defined(__FreeBSD__) || defined(__DragonFly__) |
Lines 191-193
Link Here
|
191 |
if (ret) |
203 |
if (ret) |
192 |
goto free_device; |
204 |
goto free_device; |
193 |
} |
205 |
} |
|
|
206 |
@@ -3783,7 +3898,11 @@ int drmGetDevice2(int fd, uint32_t flags |
207 |
return -errno; |
208 |
|
209 |
find_rdev = sbuf.st_rdev; |
210 |
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) |
211 |
+ maj = DRM_MAJOR; |
212 |
+#else |
213 |
maj = major(sbuf.st_rdev); |
214 |
+#endif |
215 |
min = minor(sbuf.st_rdev); |
216 |
|
217 |
if (maj != DRM_MAJOR || !S_ISCHR(sbuf.st_mode)) |
218 |
@@ -3811,7 +3930,11 @@ int drmGetDevice2(int fd, uint32_t flags |
219 |
if (stat(node, &sbuf)) |
220 |
continue; |
221 |
|
222 |
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) |
223 |
+ maj = DRM_MAJOR; |
224 |
+#else |
225 |
maj = major(sbuf.st_rdev); |
226 |
+#endif |
227 |
min = minor(sbuf.st_rdev); |
228 |
|
229 |
if (maj != DRM_MAJOR || !S_ISCHR(sbuf.st_mode)) |
230 |
@@ -3961,7 +4084,11 @@ int drmGetDevices2(uint32_t flags, drmDe |
231 |
if (stat(node, &sbuf)) |
232 |
continue; |
233 |
|
234 |
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) |
235 |
+ maj = DRM_MAJOR; |
236 |
+#else |
237 |
maj = major(sbuf.st_rdev); |
238 |
+#endif |
239 |
min = minor(sbuf.st_rdev); |
240 |
|
241 |
if (maj != DRM_MAJOR || !S_ISCHR(sbuf.st_mode)) |
242 |
@@ -4105,7 +4232,11 @@ char *drmGetDeviceNameFromFd2(int fd) |
243 |
if (fstat(fd, &sbuf)) |
244 |
return NULL; |
245 |
|
246 |
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) |
247 |
+ maj = DRM_MAJOR; |
248 |
+#else |
249 |
maj = major(sbuf.st_rdev); |
250 |
+#endif |
251 |
min = minor(sbuf.st_rdev); |
252 |
|
253 |
if (maj != DRM_MAJOR || !S_ISCHR(sbuf.st_mode)) |