On Thu, Feb 4, 2021 at 6:55 PM James Park <jpark37@xxxxxxxxxxxxxxxx> wrote: > > Use DRM_FOURCC_STANDALONE to include drm_fourcc.h without drm.h. > > Copy type definitions from drm.h to drm_fourcc.h, and wrap with > DRM_BASIC_TYPED_DEFINED to avoid redundant inclusion. > > This will allow code to avoid unnecessary definitions. > > Signed-off-by: James Park <jpark37@xxxxxxxxxxxxxxxx> > --- > include/uapi/drm/drm.h | 35 ++++++++++++++++++++++++++++------- > include/uapi/drm/drm_fourcc.h | 35 +++++++++++++++++++++++++++++++++++ > 2 files changed, 63 insertions(+), 7 deletions(-) > > diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h > index 808b48a..5640062 100644 > --- a/include/uapi/drm/drm.h > +++ b/include/uapi/drm/drm.h > @@ -36,23 +36,25 @@ > #ifndef _DRM_H_ > #define _DRM_H_ > > +/** > + * DRM_BASIC_TYPES_DEFINED section exists in both drm.h and drm_fourcc.h files. > + * Do not modify the section in one file without updating the other! > + */ > + > +#ifndef DRM_BASIC_TYPES_DEFINED > +#define DRM_BASIC_TYPES_DEFINED > + > #if defined(__KERNEL__) > > #include <linux/types.h> > -#include <asm/ioctl.h> > -typedef unsigned int drm_handle_t; > > #elif defined(__linux__) > > #include <linux/types.h> > -#include <asm/ioctl.h> > -typedef unsigned int drm_handle_t; > > -#else /* One of the BSDs */ > +#else /* Not Linux */ > > #include <stdint.h> > -#include <sys/ioccom.h> > -#include <sys/types.h> > typedef int8_t __s8; > typedef uint8_t __u8; > typedef int16_t __s16; > @@ -62,6 +64,25 @@ typedef uint32_t __u32; > typedef int64_t __s64; > typedef uint64_t __u64; > typedef size_t __kernel_size_t; > + > +#endif > + > +#endif /* DRM_BASIC_TYPES_DEFINED */ > + > +#if defined(__KERNEL__) > + > +#include <asm/ioctl.h> > +typedef unsigned int drm_handle_t; > + > +#elif defined(__linux__) > + > +#include <asm/ioctl.h> > +typedef unsigned int drm_handle_t; > + > +#else /* One of the BSDs */ > + > +#include <sys/ioccom.h> > +#include <sys/types.h> > typedef unsigned long drm_handle_t; > > #endif > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h > index 723c8e2..5e5f4cf 100644 > --- a/include/uapi/drm/drm_fourcc.h > +++ b/include/uapi/drm/drm_fourcc.h > @@ -24,7 +24,42 @@ > #ifndef DRM_FOURCC_H > #define DRM_FOURCC_H > > +/** > + * DRM_BASIC_TYPES_DEFINED section exists in both drm.h and drm_fourcc.h files. > + * Do not modify the section in one file without updating the other! > + */ > + > +#ifndef DRM_BASIC_TYPES_DEFINED > +#define DRM_BASIC_TYPES_DEFINED > + > +#if defined(__KERNEL__) > + > +#include <linux/types.h> > + > +#elif defined(__linux__) > + > +#include <linux/types.h> > + > +#else /* Not Linux */ > + > +#include <stdint.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 size_t __kernel_size_t; > + > +#endif > + > +#endif /* DRM_BASIC_TYPES_DEFINED */ > + > +#ifndef DRM_FOURCC_STANDALONE > #include "drm.h" > +#endif > > #if defined(__cplusplus) > extern "C" { > -- > 2.7.4 > Forgot to include Emil and Simon. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel