From: Emil Velikov <emil.l.velikov@gmail.com>
To: dri-devel@lists.freedesktop.org
Cc: emil.l.velikov@gmail.com, "David Howells" <dhowells@redhat.com>,
"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
"Daniel Vetter" <daniel.vetter@intel.com>,
"Thomas Hellstrom" <thellstrom@vmware.com>,
"Tomi Valkeinen" <tomi.valkeinen@ti.com>,
"Brian Paul" <brianp@vmware.com>,
"Ben Skeggs" <bskeggs@redhat.com>,
"Russell King" <rmk+kernel@arm.linux.org.uk>,
"Dave Airlie" <airlied@redhat.com>,
"Andrzej Hajda" <a.hajda@samsung.com>,
"Michel Dänzer" <michel.daenzer@amd.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>
Subject: [PATCH 00/24] drm: add extern C guard for the UAPI headers
Date: Thu, 21 Apr 2016 21:17:13 +0100 [thread overview]
Message-ID: <1461269857-12813-1-git-send-email-emil.l.velikov@gmail.com> (raw)
[Re-sending to the correct mailing list. Apologies if you've seen it already]
Hi all, David Howells
Dave Airlie pointed out that "polluting" the headers in a manner as seen
with this series might not be too wise. David H, can we hear your view
on the topic ?
Note that these headers are meant to be used by more than just Linux
(various BSD and Solaris come to mind), making things more complicated.
The change:
As some of you may know there are some subtle distinctions between C and
C++ structs/enums, 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@amd.com>
Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Brian Paul <brianp@vmware.com>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Dave Airlie <airlied@redhat.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Eric Anholt <eric@anholt.net>
Cc: Erik Faye-Lund <kusmabite@gmail.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Inki Dae <inki.dae@samsung.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Michel Dänzer <michel.daenzer@amd.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Sinclair Yeh <syeh@vmware.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Cc: Tomi Valkeinen <tomi.valkeinen@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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2016-04-21 20:16 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-21 20:17 Emil Velikov [this message]
2016-04-21 20:17 ` [PATCH 01/24] drm/amdgpu: add extern C guard for the UAPI header Emil Velikov
2016-04-21 20:17 ` [PATCH 02/24] drm/armada: " Emil Velikov
2016-04-21 20:17 ` [PATCH 03/24] drm: add extern C guard for the UAPI headers Emil Velikov
2016-04-21 20:17 ` [PATCH 04/24] drm/etnaviv: add extern C guard for the UAPI header Emil Velikov
2016-04-27 15:13 ` Christian Gmeiner
2016-04-21 20:17 ` [PATCH 05/24] drm/exynos: " Emil Velikov
2016-04-21 20:17 ` [PATCH 06/24] drm/i810: " Emil Velikov
2016-04-22 8:36 ` Daniel Vetter
2016-04-21 20:17 ` [PATCH 07/24] drm/i915: " Emil Velikov
2016-04-21 20:17 ` [PATCH 08/24] drm/mga: " Emil Velikov
2016-04-21 20:17 ` [PATCH 09/24] drm/msm: " Emil Velikov
2016-04-21 20:17 ` [PATCH 10/24] drm/nouveau: " Emil Velikov
2016-04-21 20:17 ` [PATCH 11/24] drm/nouveau: drop drm/ prefix from include Emil Velikov
2016-04-21 20:17 ` [PATCH 12/24] drm/omap: add extern C guard for the UAPI header Emil Velikov
2016-04-28 8:18 ` Tomi Valkeinen
2016-04-21 20:17 ` [PATCH 13/24] drm/qxl: " Emil Velikov
2016-04-21 20:17 ` [PATCH 14/24] drm/qxl: remove XXX comment from " Emil Velikov
2016-04-21 20:17 ` [PATCH 15/24] drm/r128: add extern C guard for " Emil Velikov
2016-04-21 20:17 ` [PATCH 16/24] drm/radeon: " Emil Velikov
2016-04-21 20:17 ` [PATCH 17/24] drm/savage: " Emil Velikov
2016-04-21 20:17 ` [PATCH 18/24] drm/sis: " Emil Velikov
2016-04-21 20:17 ` [PATCH 19/24] drm/sis: add missing include drm.h " Emil Velikov
2016-04-22 8:37 ` Daniel Vetter
2016-04-26 23:37 ` Dave Airlie
2016-04-27 21:36 ` Emil Velikov
2016-04-21 20:17 ` [PATCH 20/24] drm/tegra: add extern C guard " Emil Velikov
2016-04-22 12:02 ` Thierry Reding
2016-04-21 20:17 ` [PATCH 21/24] drm/vc4: " Emil Velikov
2016-04-21 20:17 ` [PATCH 22/24] drm/via: " Emil Velikov
2016-04-21 20:17 ` [PATCH 23/24] drm/virgl: " Emil Velikov
2016-04-21 20:17 ` [PATCH 24/24] drm/vmwgfx: " Emil Velikov
2016-04-22 8:34 ` [PATCH 00/24] drm: add extern C guard for the UAPI headers Daniel Vetter
2016-04-27 9:47 ` Russell King - ARM Linux
2016-04-27 21:45 ` Emil Velikov
2016-04-27 21:57 ` Dave Airlie
2016-04-27 22:40 ` Emil Velikov
2016-04-28 13:19 ` Alex Deucher
2016-04-28 22:58 ` Ben Skeggs
2016-04-28 14:11 ` Russell King - ARM Linux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1461269857-12813-1-git-send-email-emil.l.velikov@gmail.com \
--to=emil.l.velikov@gmail.com \
--cc=a.hajda@samsung.com \
--cc=airlied@redhat.com \
--cc=alexander.deucher@amd.com \
--cc=brianp@vmware.com \
--cc=bskeggs@redhat.com \
--cc=christian.koenig@amd.com \
--cc=daniel.vetter@intel.com \
--cc=dhowells@redhat.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=michel.daenzer@amd.com \
--cc=rmk+kernel@arm.linux.org.uk \
--cc=thellstrom@vmware.com \
--cc=tomi.valkeinen@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).