headers_check warnings in drm headers

Sam Ravnborg sam at ravnborg.org
Sun Aug 15 12:23:35 PDT 2010


When I ran "make headers_check" on upstream I got following
set of warnings for the drm headers:

usr/include/drm/drm_mode.h:85: found __[us]{8,16,32,64} type without #include <linux/types.h>
usr/include/drm/i915_drm.h:120: found __[us]{8,16,32,64} type without #include <linux/types.h>
usr/include/drm/mga_drm.h:260: found __[us]{8,16,32,64} type without #include <linux/types.h>
usr/include/drm/radeon_drm.h:758: found __[us]{8,16,32,64} type without #include <linux/types.h>
usr/include/drm/via_drm.h:117: found __[us]{8,16,32,64} type without #include <linux/types.h>

When I looked through the files I noticed a few things:

1) Several files uses a mixture of native types and linux types.
   For example "unsigned int" and "__u32" in the same file.
2) drm.h contains:
#if defined(__linux__)

#include <linux/types.h>
#include <asm/ioctl.h>
typedef unsigned int drm_handle_t;

#else /* One of the BSDs */

#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

Why this when no-one else require this treatment?

3) Lots of typedefs...

All in all - too much to dig into without knowing
the background for the current state.

At a minimum please get the warnings fixed.

	Sam



More information about the dri-devel mailing list