Files
banan-os/ports/libdrm/patches/0001-add-banan-os-support.patch
2026-07-07 03:12:39 +03:00

61 lines
2.2 KiB
Diff

diff -ruN libdrm-2.4.134/include/drm/drm.h libdrm-2.4.134-banan_os/include/drm/drm.h
--- libdrm-2.4.134/include/drm/drm.h 2026-05-29 11:49:42.000000000 +0300
+++ libdrm-2.4.134-banan_os/include/drm/drm.h 2026-07-05 09:48:55.334130492 +0300
@@ -44,7 +44,44 @@
#else /* One of the BSDs */
#include <stdint.h>
+#ifdef __banan_os__
+#define _IOC_NRBITS 8
+#define _IOC_TYPEBITS 8
+#define _IOC_SIZEBITS 14
+#define _IOC_DIRBITS 2
+
+#define _IOC_NRMASK ((1 << _IOC_NRBITS ) - 1)
+#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS) - 1)
+#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS) - 1)
+#define _IOC_DIRMASK ((1 << _IOC_DIRBITS ) - 1)
+
+#define _IOC_NRSHIFT 0
+#define _IOC_TYPESHIFT (_IOC_NRSHIFT + _IOC_NRBITS )
+#define _IOC_SIZESHIFT (_IOC_TYPESHIFT + _IOC_TYPEBITS)
+#define _IOC_DIRSHIFT (_IOC_SIZESHIFT + _IOC_SIZEBITS)
+
+#define _IOC_NONE 0U
+#define _IOC_WRITE 1U
+#define _IOC_READ 2U
+
+#define _IOC(dir, type, nr, size) \
+ (((dir) << _IOC_DIRSHIFT ) | \
+ ((size) << _IOC_SIZESHIFT) | \
+ ((type) << _IOC_TYPESHIFT) | \
+ ((nr) << _IOC_NRSHIFT ))
+
+#define _IO(type, nr) _IOC(_IOC_NONE, (type), (nr), 0)
+#define _IOR(type, nr, size) _IOC(_IOC_READ, (type), (nr), sizeof(size))
+#define _IOW(type, nr, size) _IOC(_IOC_WRITE, (type), (nr), sizeof(size))
+#define _IOWR(type, nr, size) _IOC(_IOC_READ|_IOC_WRITE, (type), (nr), sizeof(size))
+
+#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT ) & _IOC_DIRMASK )
+#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
+#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT ) & _IOC_NRMASK )
+#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
+#else
#include <sys/ioccom.h>
+#endif
#include <sys/types.h>
typedef int8_t __s8;
typedef uint8_t __u8;
diff -ruN libdrm-2.4.134/xf86drm.h libdrm-2.4.134-banan_os/xf86drm.h
--- libdrm-2.4.134/xf86drm.h 2026-05-29 11:49:42.000000000 +0300
+++ libdrm-2.4.134-banan_os/xf86drm.h 2026-07-05 09:48:55.351883389 +0300
@@ -47,7 +47,7 @@
#define DRM_MAX_MINOR 64 /* deprecated */
#endif
-#if defined(__linux__)
+#if defined(__linux__) || defined(__banan_os__)
#define DRM_IOCTL_NR(n) _IOC_NR(n)
#define DRM_IOC_VOID _IOC_NONE