On Wed, 2009-12-02 at 11:36 -0500, Kristian Høgsberg wrote:
> This let's use use the linux drm headers as the canonical source for
> libdrm on all platforms.
> 
> Signed-off-by: Kristian Høgsberg <k...@bitplanet.net>
> ---
> 
> This is the patch to sync the linux kernel headers with what's in
> libdrm now.  With this patch upstream, we can copy headers from the
> kernel into the libdrm repo unchanged.
> 
>  include/drm/drm.h        |   29 +++++++++++++++++++----------
>  include/drm/drm_mode.h   |    3 ---
>  include/drm/i915_drm.h   |    4 ++--
>  include/drm/mga_drm.h    |    2 +-
>  include/drm/radeon_drm.h |    2 +-
>  include/drm/via_drm.h    |    2 +-
>  6 files changed, 24 insertions(+), 18 deletions(-)
> 
> diff --git a/include/drm/drm.h b/include/drm/drm.h
> index 7cb50bd..838bce9 100644
> --- a/include/drm/drm.h
> +++ b/include/drm/drm.h
> @@ -36,17 +36,27 @@
>  #ifndef _DRM_H_
>  #define _DRM_H_
>  
> +#if defined(__linux__)
> +
>  #include <linux/types.h>
> -#include <asm/ioctl.h>               /* For _IO* macros */
> -#define DRM_IOCTL_NR(n)              _IOC_NR(n)
> -#define DRM_IOC_VOID         _IOC_NONE
> -#define DRM_IOC_READ         _IOC_READ
> -#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)
> +#include <asm/ioctl.h>
> +typedef unsigned int drm_handle_t;
> +
> +#else /* One of the BSDs */
>  
> -#define DRM_MAJOR       226
> -#define DRM_MAX_MINOR   15

This does not look like the latest version with the DRM_MAX_MINOR
shuffle.  Are you planning to handle that with a separate patch?

robert.

> +#include <sys/ioccom.h>
> +#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_MIN_ORDER        5         /**< At least 2^5 bytes = 32 bytes */
> @@ -59,7 +69,6 @@
>  #define _DRM_LOCK_IS_CONT(lock)         ((lock) & _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_drawable_t;
>  typedef unsigned int drm_magic_t;
> diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h
> index 1f90841..852505e 100644
> --- a/include/drm/drm_mode.h
> +++ b/include/drm/drm_mode.h
> @@ -27,9 +27,6 @@
>  #ifndef _DRM_MODE_H
>  #define _DRM_MODE_H
>  
> -#include <linux/kernel.h>
> -#include <linux/types.h>
> -
>  #define DRM_DISPLAY_INFO_LEN 32
>  #define DRM_CONNECTOR_NAME_LEN       32
>  #define DRM_DISPLAY_MODE_LEN 32
> diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h
> index 7e0cb1d..a04c3ab 100644
> --- a/include/drm/i915_drm.h
> +++ b/include/drm/i915_drm.h
> @@ -27,11 +27,11 @@
>  #ifndef _I915_DRM_H_
>  #define _I915_DRM_H_
>  
> +#include "drm.h"
> +
>  /* Please note that modifications to all structs defined here are
>   * 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.
>   */
> diff --git a/include/drm/mga_drm.h b/include/drm/mga_drm.h
> index 325fd6f..3ffbc47 100644
> --- a/include/drm/mga_drm.h
> +++ b/include/drm/mga_drm.h
> @@ -35,7 +35,7 @@
>  #ifndef __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
>   * defines in the Xserver file (mga_sarea.h)
> diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
> index 3b9932a..39537f3 100644
> --- a/include/drm/radeon_drm.h
> +++ b/include/drm/radeon_drm.h
> @@ -33,7 +33,7 @@
>  #ifndef __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
>   * defines in the X server file (radeon_sarea.h)
> diff --git a/include/drm/via_drm.h b/include/drm/via_drm.h
> index 170786e..fd11a5b 100644
> --- a/include/drm/via_drm.h
> +++ b/include/drm/via_drm.h
> @@ -24,7 +24,7 @@
>  #ifndef _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.
>   * if you change them, you must change the defines in the Xserver.
> -- 
> 1.6.5.rc2
> 
> 
> ------------------------------------------------------------------------------
> Join us December 9, 2009 for the Red Hat Virtual Experience,
> a free event focused on virtualization and cloud computing. 
> Attend in-depth sessions from your desk. Your couch. Anywhere.
> http://p.sf.net/sfu/redhat-sfdev2dev
> --
> _______________________________________________
> Dri-devel mailing list
> Dri-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dri-devel
-- 
Robert Noland <rnol...@2hip.net>
2Hip Networks


------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to