Commit 1a95916f authored by Kristian Høgsberg's avatar Kristian Høgsberg Committed by Dave Airlie

drm: Add compatibility #ifdefs for *BSD

This let's use use the linux drm headers as the canonical source for
libdrm on all platforms.
Signed-off-by: default avatarKristian Høgsberg <krh@bitplanet.net>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 862302ff
...@@ -36,17 +36,27 @@ ...@@ -36,17 +36,27 @@
#ifndef _DRM_H_ #ifndef _DRM_H_
#define _DRM_H_ #define _DRM_H_
#if defined(__linux__)
#include <linux/types.h> #include <linux/types.h>
#include <asm/ioctl.h> /* For _IO* macros */ #include <asm/ioctl.h>
#define DRM_IOCTL_NR(n) _IOC_NR(n) typedef unsigned int drm_handle_t;
#define DRM_IOC_VOID _IOC_NONE
#define DRM_IOC_READ _IOC_READ #else /* One of the BSDs */
#define DRM_IOC_WRITE _IOC_WRITE
#define DRM_IOC_READWRITE _IOC_READ|_IOC_WRITE
#define DRM_IOC(dir, group, nr, size) _IOC(dir, group, nr, size)
#define DRM_MAJOR 226 #include <sys/ioccom.h>
#define DRM_MAX_MINOR 15 #include <sys/types.h>
typedef int8_t __s8;
typedef uint8_t __u8;
typedef int16_t __s16;
typedef uint16_t __u16;
typedef int32_t __s32;
typedef uint32_t __u32;
typedef int64_t __s64;
typedef uint64_t __u64;
typedef unsigned long drm_handle_t;
#endif
#define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */ #define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */
#define DRM_MIN_ORDER 5 /**< At least 2^5 bytes = 32 bytes */ #define DRM_MIN_ORDER 5 /**< At least 2^5 bytes = 32 bytes */
...@@ -59,7 +69,6 @@ ...@@ -59,7 +69,6 @@
#define _DRM_LOCK_IS_CONT(lock) ((lock) & _DRM_LOCK_CONT) #define _DRM_LOCK_IS_CONT(lock) ((lock) & _DRM_LOCK_CONT)
#define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT)) #define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT))
typedef unsigned int drm_handle_t;
typedef unsigned int drm_context_t; typedef unsigned int drm_context_t;
typedef unsigned int drm_drawable_t; typedef unsigned int drm_drawable_t;
typedef unsigned int drm_magic_t; typedef unsigned int drm_magic_t;
......
...@@ -289,6 +289,9 @@ typedef int drm_ioctl_t(struct drm_device *dev, void *data, ...@@ -289,6 +289,9 @@ typedef int drm_ioctl_t(struct drm_device *dev, void *data,
typedef int drm_ioctl_compat_t(struct file *filp, unsigned int cmd, typedef int drm_ioctl_compat_t(struct file *filp, unsigned int cmd,
unsigned long arg); unsigned long arg);
#define DRM_IOCTL_NR(n) _IOC_NR(n)
#define DRM_MAJOR 226
#define DRM_AUTH 0x1 #define DRM_AUTH 0x1
#define DRM_MASTER 0x2 #define DRM_MASTER 0x2
#define DRM_ROOT_ONLY 0x4 #define DRM_ROOT_ONLY 0x4
......
...@@ -27,9 +27,6 @@ ...@@ -27,9 +27,6 @@
#ifndef _DRM_MODE_H #ifndef _DRM_MODE_H
#define _DRM_MODE_H #define _DRM_MODE_H
#include <linux/kernel.h>
#include <linux/types.h>
#define DRM_DISPLAY_INFO_LEN 32 #define DRM_DISPLAY_INFO_LEN 32
#define DRM_CONNECTOR_NAME_LEN 32 #define DRM_CONNECTOR_NAME_LEN 32
#define DRM_DISPLAY_MODE_LEN 32 #define DRM_DISPLAY_MODE_LEN 32
......
...@@ -27,11 +27,11 @@ ...@@ -27,11 +27,11 @@
#ifndef _I915_DRM_H_ #ifndef _I915_DRM_H_
#define _I915_DRM_H_ #define _I915_DRM_H_
#include "drm.h"
/* Please note that modifications to all structs defined here are /* Please note that modifications to all structs defined here are
* subject to backwards-compatibility constraints. * subject to backwards-compatibility constraints.
*/ */
#include <linux/types.h>
#include "drm.h"
/* Each region is a minimum of 16k, and there are at most 255 of them. /* Each region is a minimum of 16k, and there are at most 255 of them.
*/ */
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#ifndef __MGA_DRM_H__ #ifndef __MGA_DRM_H__
#define __MGA_DRM_H__ #define __MGA_DRM_H__
#include <linux/types.h> #include "drm.h"
/* WARNING: If you change any of these defines, make sure to change the /* WARNING: If you change any of these defines, make sure to change the
* defines in the Xserver file (mga_sarea.h) * defines in the Xserver file (mga_sarea.h)
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
#ifndef __RADEON_DRM_H__ #ifndef __RADEON_DRM_H__
#define __RADEON_DRM_H__ #define __RADEON_DRM_H__
#include <linux/types.h> #include "drm.h"
/* WARNING: If you change any of these defines, make sure to change the /* WARNING: If you change any of these defines, make sure to change the
* defines in the X server file (radeon_sarea.h) * defines in the X server file (radeon_sarea.h)
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#ifndef _VIA_DRM_H_ #ifndef _VIA_DRM_H_
#define _VIA_DRM_H_ #define _VIA_DRM_H_
#include <linux/types.h> #include "drm.h"
/* WARNING: These defines must be the same as what the Xserver uses. /* WARNING: These defines must be the same as what the Xserver uses.
* if you change them, you must change the defines in the Xserver. * if you change them, you must change the defines in the Xserver.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment