Emil Velikov
2016-Apr-21 19:41 UTC
[Nouveau] [PATCH 00/24] drm: add extern C guard for the UAPI headers
Hi all,
As some of you may know there some subtle distinction between C and C++
structs, thus one should wrap/annotate them roughly like below.
...
#if defined(__cplusplus)
extern "C" {
#endif
struct foo {
int bar;
...
};
...
#if defined(__cplusplus)
}
#endif
In order to work around the lack of these users can wrap the header
inclusion in the same way. For example:
...
#if defined(__cplusplus)
extern "C" {
#endif
#include <i915_drm.h>
#if defined(__cplusplus)
}
#endif
Yet we should avoid this approach, as it might cause issues [1] [2] [3].
Thus here is a series which systematically updates all the UAPI headers
in one go.
I would prefer if we get this merged in one go. Daniel, is it possible
to go through drm-misc ? The series is already based on it.
Maintainers, does this sound reasonable, can we get a few acks ?
Thanks
Emil
[1]
http://developers.redhat.com/blog/2016/02/29/why-cstdlib-is-more-complicated-than-you-might-think/
[2] https://isocpp.org/wiki/faq/mixing-c-and-cpp
[3]
http://www.oracle.com/technetwork/articles/servers-storage-dev/mixingcandcpluspluscode-305840.html
Cc: Alex Deucher <alexander.deucher at amd.com>
Cc: Andrzej Hajda <a.hajda at samsung.com>
Cc: Ben Skeggs <bskeggs at redhat.com>
Cc: Brian Paul <brianp at vmware.com>
Cc: Christian Gmeiner <christian.gmeiner at gmail.com>
Cc: Christian König <christian.koenig at amd.com>
Cc: Daniel Vetter <daniel.vetter at intel.com>
Cc: Dave Airlie <airlied at redhat.com>
Cc: Eric Anholt <eric at anholt.net>
Cc: Erik Faye-Lund <kusmabite at gmail.com>
Cc: Gerd Hoffmann <kraxel at redhat.com>
Cc: Inki Dae <inki.dae at samsung.com>
Cc: Jani Nikula <jani.nikula at linux.intel.com>
Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Cc: Lucas Stach <l.stach at pengutronix.de>
Cc: Michel Dänzer <michel.daenzer at amd.com>
Cc: Rob Clark <robdclark at gmail.com>
Cc: Russell King <rmk+kernel at arm.linux.org.uk>
Cc: Sinclair Yeh <syeh at vmware.com>
Cc: Thierry Reding <thierry.reding at gmail.com>
Cc: Thomas Hellstrom <thellstrom at vmware.com>
Cc: Tomi Valkeinen <tomi.valkeinen at ti.com>
Emil Velikov (24):
drm/amdgpu: add extern C guard for the UAPI header
drm/armada: add extern C guard for the UAPI header
drm: add extern C guard for the UAPI headers
drm/etnaviv: add extern C guard for the UAPI header
drm/exynos: add extern C guard for the UAPI header
drm/i810: add extern C guard for the UAPI header
drm/i915: add extern C guard for the UAPI header
drm/mga: add extern C guard for the UAPI header
drm/msm: add extern C guard for the UAPI header
drm/nouveau: add extern C guard for the UAPI header
drm/nouveau: drop drm/ prefix from include
drm/omap: add extern C guard for the UAPI header
drm/qxl: add extern C guard for the UAPI header
drm/qxl: remove XXX comment from the UAPI header
drm/r128: add extern C guard for the UAPI header
drm/radeon: add extern C guard for the UAPI header
drm/savage: add extern C guard for the UAPI header
drm/sis: add extern C guard for the UAPI header
drm/sis: add missing include drm.h for the UAPI header
drm/tegra: add extern C guard for the UAPI header
drm/vc4: add extern C guard for the UAPI header
drm/via: add extern C guard for the UAPI header
drm/virgl: add extern C guard for the UAPI header
drm/vmwgfx: add extern C guard for the UAPI header
include/uapi/drm/amdgpu_drm.h | 8 ++++++++
include/uapi/drm/armada_drm.h | 8 ++++++++
include/uapi/drm/drm.h | 16 ++++++++++++++++
include/uapi/drm/drm_fourcc.h | 8 ++++++++
include/uapi/drm/drm_mode.h | 8 ++++++++
include/uapi/drm/drm_sarea.h | 8 ++++++++
include/uapi/drm/etnaviv_drm.h | 8 ++++++++
include/uapi/drm/exynos_drm.h | 8 ++++++++
include/uapi/drm/i810_drm.h | 8 ++++++++
include/uapi/drm/i915_drm.h | 8 ++++++++
include/uapi/drm/mga_drm.h | 8 ++++++++
include/uapi/drm/msm_drm.h | 8 ++++++++
include/uapi/drm/nouveau_drm.h | 10 +++++++++-
include/uapi/drm/omap_drm.h | 8 ++++++++
include/uapi/drm/qxl_drm.h | 9 ++++++++-
include/uapi/drm/r128_drm.h | 8 ++++++++
include/uapi/drm/radeon_drm.h | 8 ++++++++
include/uapi/drm/savage_drm.h | 8 ++++++++
include/uapi/drm/sis_drm.h | 10 ++++++++++
include/uapi/drm/tegra_drm.h | 8 ++++++++
include/uapi/drm/vc4_drm.h | 8 ++++++++
include/uapi/drm/via_drm.h | 8 ++++++++
include/uapi/drm/virtgpu_drm.h | 8 ++++++++
include/uapi/drm/vmwgfx_drm.h | 9 +++++++++
24 files changed, 204 insertions(+), 2 deletions(-)
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 01/24] drm/amdgpu: add extern C guard for the UAPI header
Cc: Alex Deucher <alexander.deucher at amd.com>
Cc: Christian König <christian.koenig at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/amdgpu_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h
index 453a76a..cdecf87 100644
--- a/include/uapi/drm/amdgpu_drm.h
+++ b/include/uapi/drm/amdgpu_drm.h
@@ -34,6 +34,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
#define DRM_AMDGPU_GEM_CREATE 0x00
#define DRM_AMDGPU_GEM_MMAP 0x01
#define DRM_AMDGPU_CTX 0x02
@@ -642,4 +646,8 @@ struct drm_amdgpu_info_hw_ip {
#define AMDGPU_FAMILY_VI 130 /* Iceland, Tonga */
#define AMDGPU_FAMILY_CZ 135 /* Carrizo, Stoney */
+#if defined(__cplusplus)
+}
+#endif
+
#endif
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 02/24] drm/armada: add extern C guard for the UAPI header
Cc: Russell King <rmk+kernel at arm.linux.org.uk>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/armada_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/armada_drm.h b/include/uapi/drm/armada_drm.h
index 6de7f01..72e326f 100644
--- a/include/uapi/drm/armada_drm.h
+++ b/include/uapi/drm/armada_drm.h
@@ -11,6 +11,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
#define DRM_ARMADA_GEM_CREATE 0x00
#define DRM_ARMADA_GEM_MMAP 0x02
#define DRM_ARMADA_GEM_PWRITE 0x03
@@ -44,4 +48,8 @@ struct drm_armada_gem_pwrite {
#define DRM_IOCTL_ARMADA_GEM_PWRITE \
ARMADA_IOCTL(IOW, GEM_PWRITE, gem_pwrite)
+#if defined(__cplusplus)
+}
+#endif
+
#endif
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 03/24] drm: add extern C guard for the UAPI headers
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/drm.h | 16 ++++++++++++++++
include/uapi/drm/drm_fourcc.h | 8 ++++++++
include/uapi/drm/drm_mode.h | 8 ++++++++
include/uapi/drm/drm_sarea.h | 8 ++++++++
4 files changed, 40 insertions(+)
diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
index 3683250..452675f 100644
--- a/include/uapi/drm/drm.h
+++ b/include/uapi/drm/drm.h
@@ -65,6 +65,10 @@ typedef unsigned long drm_handle_t;
#endif
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
#define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */
#define DRM_MIN_ORDER 5 /**< At least 2^5 bytes = 32 bytes */
#define DRM_MAX_ORDER 22 /**< Up to 2^22 bytes = 4MB */
@@ -691,8 +695,16 @@ struct drm_prime_handle {
__s32 fd;
};
+#if defined(__cplusplus)
+}
+#endif
+
#include "drm_mode.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
#define DRM_IOCTL_BASE 'd'
#define DRM_IO(nr) _IO(DRM_IOCTL_BASE,nr)
#define DRM_IOR(nr,type) _IOR(DRM_IOCTL_BASE,nr,type)
@@ -886,4 +898,8 @@ typedef struct drm_scatter_gather drm_scatter_gather_t;
typedef struct drm_set_version drm_set_version_t;
#endif
+#if defined(__cplusplus)
+}
+#endif
+
#endif
diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h
index 4d8da69..a5890bf 100644
--- a/include/uapi/drm/drm_fourcc.h
+++ b/include/uapi/drm/drm_fourcc.h
@@ -26,6 +26,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
#define fourcc_code(a, b, c, d) ((__u32)(a) | ((__u32)(b) << 8) | \
((__u32)(c) << 16) | ((__u32)(d) << 24))
@@ -229,4 +233,8 @@
*/
#define DRM_FORMAT_MOD_SAMSUNG_64_32_TILE fourcc_mod_code(SAMSUNG, 1)
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* DRM_FOURCC_H */
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index 7a7856e0..a4c5378 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -29,6 +29,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
#define DRM_DISPLAY_INFO_LEN 32
#define DRM_CONNECTOR_NAME_LEN 32
#define DRM_DISPLAY_MODE_LEN 32
@@ -621,4 +625,8 @@ struct drm_mode_destroy_blob {
__u32 blob_id;
};
+#if defined(__cplusplus)
+}
+#endif
+
#endif
diff --git a/include/uapi/drm/drm_sarea.h b/include/uapi/drm/drm_sarea.h
index 1d1a858..a951ced 100644
--- a/include/uapi/drm/drm_sarea.h
+++ b/include/uapi/drm/drm_sarea.h
@@ -34,6 +34,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* SAREA area needs to be at least a page */
#if defined(__alpha__)
#define SAREA_MAX 0x2000U
@@ -83,4 +87,8 @@ typedef struct drm_sarea_frame drm_sarea_frame_t;
typedef struct drm_sarea drm_sarea_t;
#endif
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* _DRM_SAREA_H_ */
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 04/24] drm/etnaviv: add extern C guard for the UAPI header
Cc: Christian Gmeiner <christian.gmeiner at gmail.com>
Cc: Russell King <rmk+kernel at arm.linux.org.uk>
Cc: Lucas Stach <l.stach at pengutronix.de>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/etnaviv_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/etnaviv_drm.h b/include/uapi/drm/etnaviv_drm.h
index f95e1c4..2584c1c 100644
--- a/include/uapi/drm/etnaviv_drm.h
+++ b/include/uapi/drm/etnaviv_drm.h
@@ -19,6 +19,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* Please note that modifications to all structs defined here are
* subject to backwards-compatibility constraints:
* 1) Do not use pointers, use __u64 instead for 32 bit / 64 bit
@@ -222,4 +226,8 @@ struct drm_etnaviv_gem_wait {
#define DRM_IOCTL_ETNAVIV_GEM_USERPTR DRM_IOWR(DRM_COMMAND_BASE +
DRM_ETNAVIV_GEM_USERPTR, struct drm_etnaviv_gem_userptr)
#define DRM_IOCTL_ETNAVIV_GEM_WAIT DRM_IOW(DRM_COMMAND_BASE +
DRM_ETNAVIV_GEM_WAIT, struct drm_etnaviv_gem_wait)
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* __ETNAVIV_DRM_H__ */
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 05/24] drm/exynos: add extern C guard for the UAPI header
Cc: Andrzej Hajda <a.hajda at samsung.com>
Cc: Inki Dae <inki.dae at samsung.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
Inki,
Can we please have someone from the Exynos/Samsung look into the
following:
- A follow up on patch cbf0aceff85 "drm/exynos: use arch independent
types in uapi header"
- Use the same licence for both libdrm and kernel version of
exynos_drm.h - ideally X11/MIT.
No rush, just making sure that it doesn't fall through the cracks.
Thanks
Emil
---
include/uapi/drm/exynos_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/exynos_drm.h b/include/uapi/drm/exynos_drm.h
index 3947c2e..cb3e9f9 100644
--- a/include/uapi/drm/exynos_drm.h
+++ b/include/uapi/drm/exynos_drm.h
@@ -17,6 +17,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/**
* User-desired buffer creation information structure.
*
@@ -362,4 +366,8 @@ struct drm_exynos_ipp_event {
__u32 buf_id[EXYNOS_DRM_OPS_MAX];
};
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* _UAPI_EXYNOS_DRM_H_ */
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 06/24] drm/i810: add extern C guard for the UAPI header
Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
Daniel,
Based on earlier chat that his file has never been used by userspace,
should we just move it for internal usage (to include/drm) ?
Regards,
Emil
---
include/uapi/drm/i810_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/i810_drm.h b/include/uapi/drm/i810_drm.h
index bdb0287..6e6cf86 100644
--- a/include/uapi/drm/i810_drm.h
+++ b/include/uapi/drm/i810_drm.h
@@ -3,6 +3,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* WARNING: These defines must be the same as what the Xserver uses.
* if you change them, you must change the defines in the Xserver.
*/
@@ -280,4 +284,8 @@ typedef struct _drm_i810_mc {
unsigned int last_render; /* Last Render Request */
} drm_i810_mc_t;
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* _I810_DRM_H_ */
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 07/24] drm/i915: add extern C guard for the UAPI header
Cc: Daniel Vetter <daniel.vetter at intel.com>
Cc: Jani Nikula <jani.nikula at linux.intel.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/i915_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
index a5524cc..c17d63d 100644
--- a/include/uapi/drm/i915_drm.h
+++ b/include/uapi/drm/i915_drm.h
@@ -29,6 +29,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* Please note that modifications to all structs defined here are
* subject to backwards-compatibility constraints.
*/
@@ -1170,4 +1174,8 @@ struct drm_i915_gem_context_param {
__u64 value;
};
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* _UAPI_I915_DRM_H_ */
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 08/24] drm/mga: add extern C guard for the UAPI header
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/mga_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/mga_drm.h b/include/uapi/drm/mga_drm.h
index fca8170..8c43375 100644
--- a/include/uapi/drm/mga_drm.h
+++ b/include/uapi/drm/mga_drm.h
@@ -37,6 +37,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* WARNING: If you change any of these defines, make sure to change the
* defines in the Xserver file (mga_sarea.h)
*/
@@ -416,4 +420,8 @@ typedef struct drm_mga_getparam {
void __user *value;
} drm_mga_getparam_t;
+#if defined(__cplusplus)
+}
+#endif
+
#endif
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 09/24] drm/msm: add extern C guard for the UAPI header
Cc: Rob Clark <robdclark at gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/msm_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/msm_drm.h b/include/uapi/drm/msm_drm.h
index 254d3e9..bf19d2c 100644
--- a/include/uapi/drm/msm_drm.h
+++ b/include/uapi/drm/msm_drm.h
@@ -20,6 +20,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* Please note that modifications to all structs defined here are
* subject to backwards-compatibility constraints:
* 1) Do not use pointers, use __u64 instead for 32 bit / 64 bit
@@ -217,4 +221,8 @@ struct drm_msm_wait_fence {
#define DRM_IOCTL_MSM_GEM_SUBMIT DRM_IOWR(DRM_COMMAND_BASE +
DRM_MSM_GEM_SUBMIT, struct drm_msm_gem_submit)
#define DRM_IOCTL_MSM_WAIT_FENCE DRM_IOW (DRM_COMMAND_BASE +
DRM_MSM_WAIT_FENCE, struct drm_msm_wait_fence)
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* __MSM_DRM_H__ */
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 10/24] drm/nouveau: add extern C guard for the UAPI header
Cc: Ben Skeggs <bskeggs at redhat.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/nouveau_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/nouveau_drm.h b/include/uapi/drm/nouveau_drm.h
index 500d82a..8d2dc05 100644
--- a/include/uapi/drm/nouveau_drm.h
+++ b/include/uapi/drm/nouveau_drm.h
@@ -29,6 +29,10 @@
#include <drm/drm.h>
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
#define NOUVEAU_GEM_DOMAIN_CPU (1 << 0)
#define NOUVEAU_GEM_DOMAIN_VRAM (1 << 1)
#define NOUVEAU_GEM_DOMAIN_GART (1 << 2)
@@ -141,4 +145,8 @@ struct drm_nouveau_gem_cpu_fini {
#define DRM_IOCTL_NOUVEAU_GEM_CPU_FINI DRM_IOW (DRM_COMMAND_BASE +
DRM_NOUVEAU_GEM_CPU_FINI, struct drm_nouveau_gem_cpu_fini)
#define DRM_IOCTL_NOUVEAU_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE +
DRM_NOUVEAU_GEM_INFO, struct drm_nouveau_gem_info)
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* __NOUVEAU_DRM_H__ */
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 11/24] drm/nouveau: drop drm/ prefix from include
Similar to the rest of the DRM UAPI - these are to be imported
unmodified into libdrm. In current form that's impossible.
Cc: Ben Skeggs <bskeggs at redhat.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/nouveau_drm.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/uapi/drm/nouveau_drm.h b/include/uapi/drm/nouveau_drm.h
index 8d2dc05..259588a 100644
--- a/include/uapi/drm/nouveau_drm.h
+++ b/include/uapi/drm/nouveau_drm.h
@@ -27,7 +27,7 @@
#define DRM_NOUVEAU_EVENT_NVIF 0x80000000
-#include <drm/drm.h>
+#include "drm.h"
#if defined(__cplusplus)
extern "C" {
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 12/24] drm/omap: add extern C guard for the UAPI header
Cc: Tomi Valkeinen <tomi.valkeinen at ti.com>
Cc: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/omap_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/omap_drm.h b/include/uapi/drm/omap_drm.h
index 38a3bd8..407cb55 100644
--- a/include/uapi/drm/omap_drm.h
+++ b/include/uapi/drm/omap_drm.h
@@ -22,6 +22,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* Please note that modifications to all structs defined here are
* subject to backwards-compatibility constraints.
*/
@@ -114,4 +118,8 @@ struct drm_omap_gem_info {
#define DRM_IOCTL_OMAP_GEM_CPU_FINI DRM_IOW (DRM_COMMAND_BASE +
DRM_OMAP_GEM_CPU_FINI, struct drm_omap_gem_cpu_fini)
#define DRM_IOCTL_OMAP_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_OMAP_GEM_INFO,
struct drm_omap_gem_info)
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* __OMAP_DRM_H__ */
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 13/24] drm/qxl: add extern C guard for the UAPI header
Cc: Gerd Hoffmann <kraxel at redhat.com>
Cc: Dave Airlie <airlied at redhat.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/qxl_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/qxl_drm.h b/include/uapi/drm/qxl_drm.h
index 4d1e326..cd99da0 100644
--- a/include/uapi/drm/qxl_drm.h
+++ b/include/uapi/drm/qxl_drm.h
@@ -26,6 +26,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* Please note that modifications to all structs defined here are
* subject to backwards-compatibility constraints.
*
@@ -148,4 +152,8 @@ struct drm_qxl_alloc_surf {
DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC_SURF,\
struct drm_qxl_alloc_surf)
+#if defined(__cplusplus)
+}
+#endif
+
#endif
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 14/24] drm/qxl: remove XXX comment from the UAPI header
One cannot rename the struct at this point, so might as well remove the
comment.
Cc: Gerd Hoffmann <kraxel at redhat.com>
Cc: Dave Airlie <airlied at redhat.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/qxl_drm.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/include/uapi/drm/qxl_drm.h b/include/uapi/drm/qxl_drm.h
index cd99da0..7eef422 100644
--- a/include/uapi/drm/qxl_drm.h
+++ b/include/uapi/drm/qxl_drm.h
@@ -88,7 +88,6 @@ struct drm_qxl_command {
__u32 pad;
};
-/* XXX: call it drm_qxl_commands? */
struct drm_qxl_execbuffer {
__u32 flags; /* for future use */
__u32 commands_num;
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 15/24] drm/r128: add extern C guard for the UAPI header
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/r128_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/r128_drm.h b/include/uapi/drm/r128_drm.h
index 7a44c65..690e9c6 100644
--- a/include/uapi/drm/r128_drm.h
+++ b/include/uapi/drm/r128_drm.h
@@ -35,6 +35,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* WARNING: If you change any of these defines, make sure to change the
* defines in the X server file (r128_sarea.h)
*/
@@ -325,4 +329,8 @@ typedef struct drm_r128_getparam {
void __user *value;
} drm_r128_getparam_t;
+#if defined(__cplusplus)
+}
+#endif
+
#endif
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 16/24] drm/radeon: add extern C guard for the UAPI header
Cc: Alex Deucher <alexander.deucher at amd.com>
Cc: Christian König <christian.koenig at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/radeon_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/radeon_drm.h b/include/uapi/drm/radeon_drm.h
index ccb9bcd..490a59c 100644
--- a/include/uapi/drm/radeon_drm.h
+++ b/include/uapi/drm/radeon_drm.h
@@ -35,6 +35,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* WARNING: If you change any of these defines, make sure to change the
* defines in the X server file (radeon_sarea.h)
*/
@@ -1067,4 +1071,8 @@ struct drm_radeon_info {
#define CIK_TILE_MODE_DEPTH_STENCIL_1D 5
+#if defined(__cplusplus)
+}
+#endif
+
#endif
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 17/24] drm/savage: add extern C guard for the UAPI header
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/savage_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/savage_drm.h b/include/uapi/drm/savage_drm.h
index 5741474..0f6edde 100644
--- a/include/uapi/drm/savage_drm.h
+++ b/include/uapi/drm/savage_drm.h
@@ -28,6 +28,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
#ifndef __SAVAGE_SAREA_DEFINES__
#define __SAVAGE_SAREA_DEFINES__
@@ -209,4 +213,8 @@ union drm_savage_cmd_header {
} clear1; /* SAVAGE_CMD_CLEAR data */
};
+#if defined(__cplusplus)
+}
+#endif
+
#endif
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 18/24] drm/sis: add extern C guard for the UAPI header
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/sis_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/sis_drm.h b/include/uapi/drm/sis_drm.h
index 374858c..3f7d8ca 100644
--- a/include/uapi/drm/sis_drm.h
+++ b/include/uapi/drm/sis_drm.h
@@ -27,6 +27,10 @@
#ifndef __SIS_DRM_H__
#define __SIS_DRM_H__
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* SiS specific ioctls */
#define NOT_USED_0_3
#define DRM_SIS_FB_ALLOC 0x04
@@ -64,4 +68,8 @@ typedef struct {
unsigned long offset, size;
} drm_sis_fb_t;
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* __SIS_DRM_H__ */
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 19/24] drm/sis: add missing include drm.h for the UAPI header
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/sis_drm.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/uapi/drm/sis_drm.h b/include/uapi/drm/sis_drm.h
index 3f7d8ca..3e3f7e9 100644
--- a/include/uapi/drm/sis_drm.h
+++ b/include/uapi/drm/sis_drm.h
@@ -27,6 +27,8 @@
#ifndef __SIS_DRM_H__
#define __SIS_DRM_H__
+#include "drm.h"
+
#if defined(__cplusplus)
extern "C" {
#endif
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 20/24] drm/tegra: add extern C guard for the UAPI header
Cc: Erik Faye-Lund <kusmabite at gmail.com>
Cc: Thierry Reding <thierry.reding at gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/tegra_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/tegra_drm.h b/include/uapi/drm/tegra_drm.h
index 27d0b05..d954f8c 100644
--- a/include/uapi/drm/tegra_drm.h
+++ b/include/uapi/drm/tegra_drm.h
@@ -25,6 +25,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
#define DRM_TEGRA_GEM_CREATE_TILED (1 << 0)
#define DRM_TEGRA_GEM_CREATE_BOTTOM_UP (1 << 1)
@@ -198,4 +202,8 @@ struct drm_tegra_gem_get_flags {
#define DRM_IOCTL_TEGRA_GEM_SET_FLAGS DRM_IOWR(DRM_COMMAND_BASE +
DRM_TEGRA_GEM_SET_FLAGS, struct drm_tegra_gem_set_flags)
#define DRM_IOCTL_TEGRA_GEM_GET_FLAGS DRM_IOWR(DRM_COMMAND_BASE +
DRM_TEGRA_GEM_GET_FLAGS, struct drm_tegra_gem_get_flags)
+#if defined(__cplusplus)
+}
+#endif
+
#endif
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 21/24] drm/vc4: add extern C guard for the UAPI header
Cc: Eric Anholt <eric at anholt.net>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/vc4_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/vc4_drm.h b/include/uapi/drm/vc4_drm.h
index eeb37e3..af12e8a 100644
--- a/include/uapi/drm/vc4_drm.h
+++ b/include/uapi/drm/vc4_drm.h
@@ -26,6 +26,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
#define DRM_VC4_SUBMIT_CL 0x00
#define DRM_VC4_WAIT_SEQNO 0x01
#define DRM_VC4_WAIT_BO 0x02
@@ -276,4 +280,8 @@ struct drm_vc4_get_hang_state {
__u32 pad[16];
};
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* _UAPI_VC4_DRM_H_ */
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 22/24] drm/via: add extern C guard for the UAPI header
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/via_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/via_drm.h b/include/uapi/drm/via_drm.h
index fa21ed1..a1e125d 100644
--- a/include/uapi/drm/via_drm.h
+++ b/include/uapi/drm/via_drm.h
@@ -26,6 +26,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* WARNING: These defines must be the same as what the Xserver uses.
* if you change them, you must change the defines in the Xserver.
*/
@@ -271,4 +275,8 @@ typedef struct drm_via_dmablit {
drm_via_blitsync_t sync;
} drm_via_dmablit_t;
+#if defined(__cplusplus)
+}
+#endif
+
#endif /* _VIA_DRM_H_ */
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 23/24] drm/virgl: add extern C guard for the UAPI header
Cc: Dave Airlie <airlied at redhat.com>
Cc: Gerd Hoffmann <kraxel at redhat.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/virtgpu_drm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/include/uapi/drm/virtgpu_drm.h b/include/uapi/drm/virtgpu_drm.h
index c74f1f9..91a31ff 100644
--- a/include/uapi/drm/virtgpu_drm.h
+++ b/include/uapi/drm/virtgpu_drm.h
@@ -26,6 +26,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
/* Please note that modifications to all structs defined here are
* subject to backwards-compatibility constraints.
*
@@ -163,4 +167,8 @@ struct drm_virtgpu_get_caps {
DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_GET_CAPS, \
struct drm_virtgpu_get_caps)
+#if defined(__cplusplus)
+}
+#endif
+
#endif
--
2.6.2
Emil Velikov
2016-Apr-21 19:42 UTC
[Nouveau] [PATCH 24/24] drm/vmwgfx: add extern C guard for the UAPI header
Cc: Sinclair Yeh <syeh at vmware.com>
Cc: Thomas Hellstrom <thellstrom at vmware.com>
Cc: Brian Paul <brianp at vmware.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
include/uapi/drm/vmwgfx_drm.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/include/uapi/drm/vmwgfx_drm.h b/include/uapi/drm/vmwgfx_drm.h
index 5b68b4d..d325a41 100644
--- a/include/uapi/drm/vmwgfx_drm.h
+++ b/include/uapi/drm/vmwgfx_drm.h
@@ -30,6 +30,10 @@
#include "drm.h"
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
#define DRM_VMW_MAX_SURFACE_FACES 6
#define DRM_VMW_MAX_MIP_LEVELS 24
@@ -1087,4 +1091,9 @@ union drm_vmw_extended_context_arg {
enum drm_vmw_extended_context req;
struct drm_vmw_context_arg rep;
};
+
+#if defined(__cplusplus)
+}
+#endif
+
#endif
--
2.6.2
Apparently Analagous Threads
- [PATCH 00/24] drm: add extern C guard for the UAPI headers
- [PATCH 03/24] drm: add extern C guard for the UAPI headers
- [PATCH 13/24] drm/qxl: add extern C guard for the UAPI header
- [PATCH 21/24] drm/vc4: add extern C guard for the UAPI header
- [PATCH 23/24] drm/virgl: add extern C guard for the UAPI header