[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160822154015.GH24290@phenom.ffwll.local>
Date: Mon, 22 Aug 2016 17:40:15 +0200
From: Daniel Vetter <daniel@...ll.ch>
To: Emil Velikov <emil.l.velikov@...il.com>
Cc: Daniel Vetter <daniel@...ll.ch>, Rob Clark <robdclark@...il.com>,
Mikko Rapeli <mikko.rapeli@....fi>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
ML dri-devel <dri-devel@...ts.freedesktop.org>
Subject: Re: [RFC] Using C99 stdint vs kernel __uX types in kernel drmUAPI
(was Re: [PATCH 1/2] Revert "include/uapi/drm/amdgpu_drm.h: use __u32 and
__u64 from <linux/types.h>")
On Mon, Aug 22, 2016 at 04:05:21PM +0100, Emil Velikov wrote:
> On 22 August 2016 at 15:38, Daniel Vetter <daniel@...ll.ch> wrote:
> > On Mon, Aug 22, 2016 at 12:38 PM, Rob Clark <robdclark@...il.com> wrote:
> >>> That said, _note_ that some applications are built with -C89 -pedantic
> >>> [1] which means that using stdint.h may or may not work as expected.
> >>> So we'll want a __STDC_VESION__ check + #error in case of pre-C99 ?
> >>> If the affected programs are proprietary ones we should be safe,
> >>> otherwise we want to update them ~alongside the transition.
> >>
> >> naw, at least for msm_drm.h, just don't build libdrm_freedreno w/
> >> -C89.. problem solved!
> >
> > Yeah, I think sprinkling an
> >
> > #ifdef __kernel___
> > #include <linux/types.h>
> > #else
> > #include <stdtypes.h>
> > #endif
> >
> Guess i was too vague :-]
>
> I was thinking about the following cases:
> - using old/incomplete stdint.h - thus the __STDC_VESION__ check.
> - building non-libdrm software - for libdrm we've (implicitly and
> explicitly) required C99 for a long time.
>
> > at the opt of all drm uapi headers should be good enough. Or at least
> > those which opt to choose stdints. Since our userspace is very
> > limited, and our headers will never leak to general applications we
> > can just require c99, at least for driver headers. For kms/general drm
> > uapi that might not be the best idea.
> Won't doing so bring more confusion to an already convoluted topic ?
> If we opt for it, let's have a juicy comment that clarifies things.
If we require C99 in libdrm since ages then I think there's no problem
with outright requiring working stdint support in drm uapi headers
everywhere. We still need a bit of #ifdef though I think to impendence
match between kernel and userspace.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
Powered by blists - more mailing lists