All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] drm: Make drm.h uapi header safe for C++
@ 2016-03-30 14:19 Daniel Vetter
  2016-03-30 14:19 ` [PATCH 2/3] drm: align #include directives with libdrm in uapi headers Daniel Vetter
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Daniel Vetter @ 2016-03-30 14:19 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Emil Velikov, Daniel Vetter

virtual is a protected keyword in C++ and can't be used at all. Ugh.

This aligns the kernel versions of the drm headers with the ones in
libdrm.

Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 include/uapi/drm/drm.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
index a0ebfe7c9a28..d299c7749091 100644
--- a/include/uapi/drm/drm.h
+++ b/include/uapi/drm/drm.h
@@ -373,7 +373,11 @@ struct drm_buf_pub {
  */
 struct drm_buf_map {
 	int count;		/**< Length of the buffer list */
+#ifdef __cplusplus
+	void *virt;
+#else
 	void __user *virtual;		/**< Mmap'd area in user-virtual */
+#endif
 	struct drm_buf_pub __user *list;	/**< Buffer information */
 };
 
-- 
2.8.0.rc3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 2/3] drm: align #include directives with libdrm in uapi headers
  2016-03-30 14:19 [PATCH 1/3] drm: Make drm.h uapi header safe for C++ Daniel Vetter
@ 2016-03-30 14:19 ` Daniel Vetter
  2016-03-30 15:05   ` Emil Velikov
  2016-03-30 15:54   ` [PATCH] " Daniel Vetter
  2016-03-30 14:19 ` [PATCH 3/3] drm: Move DRM_MODE_OBJECT_* to " Daniel Vetter
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 21+ messages in thread
From: Daniel Vetter @ 2016-03-30 14:19 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Emil Velikov, Daniel Vetter

We can't use <drm/*.h> because that upsets the serach paths in libdrm.
Also, drop the circular inclusion in drm_mode.h.

v2: Actually change the right headers.

Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 include/uapi/drm/drm.h      | 2 +-
 include/uapi/drm/drm_mode.h | 2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
index d299c7749091..c7ecc3abff03 100644
--- a/include/uapi/drm/drm.h
+++ b/include/uapi/drm/drm.h
@@ -685,7 +685,7 @@ struct drm_prime_handle {
 	__s32 fd;
 };
 
-#include <drm/drm_mode.h>
+#include "drm_mode.h"
 
 #define DRM_IOCTL_BASE			'd'
 #define DRM_IO(nr)			_IO(DRM_IOCTL_BASE,nr)
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index c0217434d28d..db106ab01039 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -27,8 +27,6 @@
 #ifndef _DRM_MODE_H
 #define _DRM_MODE_H
 
-#include "drm.h"
-
 #define DRM_DISPLAY_INFO_LEN	32
 #define DRM_CONNECTOR_NAME_LEN	32
 #define DRM_DISPLAY_MODE_LEN	32
-- 
2.8.0.rc3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 3/3] drm: Move DRM_MODE_OBJECT_* to uapi headers
  2016-03-30 14:19 [PATCH 1/3] drm: Make drm.h uapi header safe for C++ Daniel Vetter
  2016-03-30 14:19 ` [PATCH 2/3] drm: align #include directives with libdrm in uapi headers Daniel Vetter
@ 2016-03-30 14:19 ` Daniel Vetter
  2016-03-30 16:07   ` Emil Velikov
  2016-03-30 14:42 ` [PATCH 1/2] drm: Untangle __KERNEL__ guards Daniel Vetter
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 21+ messages in thread
From: Daniel Vetter @ 2016-03-30 14:19 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Emil Velikov, Daniel Vetter

These type defines are officially part of the uapi, but ended up in
the wrong headers somehow when we split them all.

Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 include/drm/drm_crtc.h      | 10 ----------
 include/uapi/drm/drm_mode.h | 10 ++++++++++
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index bc7fbb572155..8cb377c5eb93 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -45,16 +45,6 @@ struct drm_clip_rect;
 struct device_node;
 struct fence;
 
-#define DRM_MODE_OBJECT_CRTC 0xcccccccc
-#define DRM_MODE_OBJECT_CONNECTOR 0xc0c0c0c0
-#define DRM_MODE_OBJECT_ENCODER 0xe0e0e0e0
-#define DRM_MODE_OBJECT_MODE 0xdededede
-#define DRM_MODE_OBJECT_PROPERTY 0xb0b0b0b0
-#define DRM_MODE_OBJECT_FB 0xfbfbfbfb
-#define DRM_MODE_OBJECT_BLOB 0xbbbbbbbb
-#define DRM_MODE_OBJECT_PLANE 0xeeeeeeee
-#define DRM_MODE_OBJECT_ANY 0
-
 struct drm_mode_object {
 	uint32_t id;
 	uint32_t type;
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index db106ab01039..8c48c0a558c0 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -318,6 +318,16 @@ struct drm_mode_connector_set_property {
 	__u32 connector_id;
 };
 
+#define DRM_MODE_OBJECT_CRTC 0xcccccccc
+#define DRM_MODE_OBJECT_CONNECTOR 0xc0c0c0c0
+#define DRM_MODE_OBJECT_ENCODER 0xe0e0e0e0
+#define DRM_MODE_OBJECT_MODE 0xdededede
+#define DRM_MODE_OBJECT_PROPERTY 0xb0b0b0b0
+#define DRM_MODE_OBJECT_FB 0xfbfbfbfb
+#define DRM_MODE_OBJECT_BLOB 0xbbbbbbbb
+#define DRM_MODE_OBJECT_PLANE 0xeeeeeeee
+#define DRM_MODE_OBJECT_ANY 0
+
 struct drm_mode_obj_get_properties {
 	__u64 props_ptr;
 	__u64 prop_values_ptr;
-- 
2.8.0.rc3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 1/2] drm: Untangle __KERNEL__ guards
  2016-03-30 14:19 [PATCH 1/3] drm: Make drm.h uapi header safe for C++ Daniel Vetter
  2016-03-30 14:19 ` [PATCH 2/3] drm: align #include directives with libdrm in uapi headers Daniel Vetter
  2016-03-30 14:19 ` [PATCH 3/3] drm: Move DRM_MODE_OBJECT_* to " Daniel Vetter
@ 2016-03-30 14:42 ` Daniel Vetter
  2016-03-30 14:42   ` [PATCH 2/2] drm: Make uapi headers C89 pendantic compliant Daniel Vetter
  2016-03-30 15:56   ` [PATCH 1/2] drm: Untangle __KERNEL__ guards Emil Velikov
  2016-03-30 15:12 ` [PATCH] drm: Make drm.h uapi header safe for C++ Daniel Vetter
  2016-04-06 15:58 ` [PATCH 1/3] " Gabriel Laskar
  4 siblings, 2 replies; 21+ messages in thread
From: Daniel Vetter @ 2016-03-30 14:42 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Emil Velikov, Daniel Vetter

make headers_install can't handle fancy conditions, so let's simplify
things for it a bit.

Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 include/uapi/drm/drm.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
index c7ecc3abff03..3b56285a7e2a 100644
--- a/include/uapi/drm/drm.h
+++ b/include/uapi/drm/drm.h
@@ -36,7 +36,13 @@
 #ifndef _DRM_H_
 #define _DRM_H_
 
-#if defined(__KERNEL__) || defined(__linux__)
+#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>
-- 
2.8.0.rc3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 2/2] drm: Make uapi headers C89 pendantic compliant
  2016-03-30 14:42 ` [PATCH 1/2] drm: Untangle __KERNEL__ guards Daniel Vetter
@ 2016-03-30 14:42   ` Daniel Vetter
  2016-03-30 20:06     ` Emil Velikov
  2016-03-30 15:56   ` [PATCH 1/2] drm: Untangle __KERNEL__ guards Emil Velikov
  1 sibling, 1 reply; 21+ messages in thread
From: Daniel Vetter @ 2016-03-30 14:42 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Daniel Vetter

This ports the below libdrm commit to the kernel

commit 0f4452bb51306024fbf4cbf77d8baab20cefba67
Author: Daniel Kurtz <djkurtz@chromium.org>
Date:   Mon Aug 26 23:39:16 2013 +0800

    libdrm: Make some drm headers compatible with gcc -std=c89 -pedantic

    The following minor changes were needed to these headers:
     * Convert // comments to /* */
     * No , after final member of enum

    With these changes, these header files can be included by a program that
    is built with gcc options:
      -std=c89 -Werror -pedantic

    Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
    Signed-off-by: Eric Anholt <eric@anholt.net>
    Reviewed-by: Eric Anholt <eric@anholt.net>

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 include/uapi/drm/drm.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
index 3b56285a7e2a..8b41297038aa 100644
--- a/include/uapi/drm/drm.h
+++ b/include/uapi/drm/drm.h
@@ -187,7 +187,7 @@ enum drm_map_type {
 	_DRM_SHM = 2,		  /**< shared, cached */
 	_DRM_AGP = 3,		  /**< AGP/GART */
 	_DRM_SCATTER_GATHER = 4,  /**< Scatter/gather memory for PCI DMA */
-	_DRM_CONSISTENT = 5,	  /**< Consistent memory for PCI DMA */
+	_DRM_CONSISTENT = 5	  /**< Consistent memory for PCI DMA */
 };
 
 /**
@@ -441,7 +441,7 @@ struct drm_draw {
  * DRM_IOCTL_UPDATE_DRAW ioctl argument type.
  */
 typedef enum {
-	DRM_DRAWABLE_CLIPRECTS,
+	DRM_DRAWABLE_CLIPRECTS
 } drm_drawable_info_type_t;
 
 struct drm_update_draw {
-- 
2.8.0.rc3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/3] drm: align #include directives with libdrm in uapi headers
  2016-03-30 14:19 ` [PATCH 2/3] drm: align #include directives with libdrm in uapi headers Daniel Vetter
@ 2016-03-30 15:05   ` Emil Velikov
  2016-03-30 15:11     ` Daniel Vetter
  2016-03-30 15:54   ` [PATCH] " Daniel Vetter
  1 sibling, 1 reply; 21+ messages in thread
From: Emil Velikov @ 2016-03-30 15:05 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, DRI Development

On 30 March 2016 at 15:19, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> We can't use <drm/*.h> because that upsets the serach paths in libdrm.
> Also, drop the circular inclusion in drm_mode.h.
>
> v2: Actually change the right headers.
>
> Cc: Emil Velikov <emil.l.velikov@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  include/uapi/drm/drm.h      | 2 +-
>  include/uapi/drm/drm_mode.h | 2 --
>  2 files changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
> index d299c7749091..c7ecc3abff03 100644
> --- a/include/uapi/drm/drm.h
> +++ b/include/uapi/drm/drm.h
> @@ -685,7 +685,7 @@ struct drm_prime_handle {
>         __s32 fd;
>  };
>
> -#include <drm/drm_mode.h>
> +#include "drm_mode.h"
>
>  #define DRM_IOCTL_BASE                 'd'
>  #define DRM_IO(nr)                     _IO(DRM_IOCTL_BASE,nr)
> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> index c0217434d28d..db106ab01039 100644
> --- a/include/uapi/drm/drm_mode.h
> +++ b/include/uapi/drm/drm_mode.h
> @@ -27,8 +27,6 @@
>  #ifndef _DRM_MODE_H
>  #define _DRM_MODE_H
>
> -#include "drm.h"
> -
I'm thinking about the complete inverse actually.

Any program that depends on drm_mode.h but does not include it
explicitly is severely broken. On the other hand, we rely on the drm.h
to resolve the linux specific types (for non-linux platforms).

Unfortunately I've not looked how much busted userspace there is in
either case (this patch vs my suggestion).

-Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/3] drm: align #include directives with libdrm in uapi headers
  2016-03-30 15:05   ` Emil Velikov
@ 2016-03-30 15:11     ` Daniel Vetter
  2016-03-30 15:22       ` Emil Velikov
  0 siblings, 1 reply; 21+ messages in thread
From: Daniel Vetter @ 2016-03-30 15:11 UTC (permalink / raw)
  To: Emil Velikov; +Cc: Daniel Vetter, DRI Development, Daniel Vetter

On Wed, Mar 30, 2016 at 04:05:20PM +0100, Emil Velikov wrote:
> On 30 March 2016 at 15:19, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> > We can't use <drm/*.h> because that upsets the serach paths in libdrm.
> > Also, drop the circular inclusion in drm_mode.h.
> >
> > v2: Actually change the right headers.
> >
> > Cc: Emil Velikov <emil.l.velikov@gmail.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> >  include/uapi/drm/drm.h      | 2 +-
> >  include/uapi/drm/drm_mode.h | 2 --
> >  2 files changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
> > index d299c7749091..c7ecc3abff03 100644
> > --- a/include/uapi/drm/drm.h
> > +++ b/include/uapi/drm/drm.h
> > @@ -685,7 +685,7 @@ struct drm_prime_handle {
> >         __s32 fd;
> >  };
> >
> > -#include <drm/drm_mode.h>
> > +#include "drm_mode.h"
> >
> >  #define DRM_IOCTL_BASE                 'd'
> >  #define DRM_IO(nr)                     _IO(DRM_IOCTL_BASE,nr)
> > diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> > index c0217434d28d..db106ab01039 100644
> > --- a/include/uapi/drm/drm_mode.h
> > +++ b/include/uapi/drm/drm_mode.h
> > @@ -27,8 +27,6 @@
> >  #ifndef _DRM_MODE_H
> >  #define _DRM_MODE_H
> >
> > -#include "drm.h"
> > -
> I'm thinking about the complete inverse actually.
> 
> Any program that depends on drm_mode.h but does not include it
> explicitly is severely broken. On the other hand, we rely on the drm.h
> to resolve the linux specific types (for non-linux platforms).
> 
> Unfortunately I've not looked how much busted userspace there is in
> either case (this patch vs my suggestion).

Well I was just blindly aligning the #includes to match what we have right
now in libdrm. That's the safest option really. It would be nice to
untangle this, but I think it's too late for that now :(
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH] drm: Make drm.h uapi header safe for C++
  2016-03-30 14:19 [PATCH 1/3] drm: Make drm.h uapi header safe for C++ Daniel Vetter
                   ` (2 preceding siblings ...)
  2016-03-30 14:42 ` [PATCH 1/2] drm: Untangle __KERNEL__ guards Daniel Vetter
@ 2016-03-30 15:12 ` Daniel Vetter
  2016-03-30 15:56   ` Emil Velikov
  2016-04-06 15:58 ` [PATCH 1/3] " Gabriel Laskar
  4 siblings, 1 reply; 21+ messages in thread
From: Daniel Vetter @ 2016-03-30 15:12 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Emil Velikov, Daniel Vetter

virtual is a protected keyword in C++ and can't be used at all. Ugh.

This aligns the kernel versions of the drm headers with the ones in
libdrm.

v2: Also annote with __user, as request by Emil&Ilia.

Cc: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 include/uapi/drm/drm.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
index a0ebfe7c9a28..7d42d105f32a 100644
--- a/include/uapi/drm/drm.h
+++ b/include/uapi/drm/drm.h
@@ -373,7 +373,11 @@ struct drm_buf_pub {
  */
 struct drm_buf_map {
 	int count;		/**< Length of the buffer list */
+#ifdef __cplusplus
+	void __user *virt;
+#else
 	void __user *virtual;		/**< Mmap'd area in user-virtual */
+#endif
 	struct drm_buf_pub __user *list;	/**< Buffer information */
 };
 
-- 
2.8.0.rc3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/3] drm: align #include directives with libdrm in uapi headers
  2016-03-30 15:11     ` Daniel Vetter
@ 2016-03-30 15:22       ` Emil Velikov
  0 siblings, 0 replies; 21+ messages in thread
From: Emil Velikov @ 2016-03-30 15:22 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, DRI Development, Daniel Vetter

On 30 March 2016 at 16:11, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Wed, Mar 30, 2016 at 04:05:20PM +0100, Emil Velikov wrote:
>> On 30 March 2016 at 15:19, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>> > We can't use <drm/*.h> because that upsets the serach paths in libdrm.
>> > Also, drop the circular inclusion in drm_mode.h.
>> >
>> > v2: Actually change the right headers.
>> >
>> > Cc: Emil Velikov <emil.l.velikov@gmail.com>
>> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
>> > ---
>> >  include/uapi/drm/drm.h      | 2 +-
>> >  include/uapi/drm/drm_mode.h | 2 --
>> >  2 files changed, 1 insertion(+), 3 deletions(-)
>> >
>> > diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
>> > index d299c7749091..c7ecc3abff03 100644
>> > --- a/include/uapi/drm/drm.h
>> > +++ b/include/uapi/drm/drm.h
>> > @@ -685,7 +685,7 @@ struct drm_prime_handle {
>> >         __s32 fd;
>> >  };
>> >
>> > -#include <drm/drm_mode.h>
>> > +#include "drm_mode.h"
>> >
>> >  #define DRM_IOCTL_BASE                 'd'
>> >  #define DRM_IO(nr)                     _IO(DRM_IOCTL_BASE,nr)
>> > diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
>> > index c0217434d28d..db106ab01039 100644
>> > --- a/include/uapi/drm/drm_mode.h
>> > +++ b/include/uapi/drm/drm_mode.h
>> > @@ -27,8 +27,6 @@
>> >  #ifndef _DRM_MODE_H
>> >  #define _DRM_MODE_H
>> >
>> > -#include "drm.h"
>> > -
>> I'm thinking about the complete inverse actually.
>>
>> Any program that depends on drm_mode.h but does not include it
>> explicitly is severely broken. On the other hand, we rely on the drm.h
>> to resolve the linux specific types (for non-linux platforms).
>>
>> Unfortunately I've not looked how much busted userspace there is in
>> either case (this patch vs my suggestion).
>
> Well I was just blindly aligning the #includes to match what we have right
> now in libdrm. That's the safest option really. It would be nice to
> untangle this, but I think it's too late for that now :(
Sadly that's the case. As I doubt anyone is interested in seeing
existing userspace burn (fail to build), so let's keep the drm_mode.h.
Although let's also keep the drm.h include - it's a way to of being
nice to devs so that they don't need nasty workarounds.

Thanks
Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH] drm: align #include directives with libdrm in uapi headers
  2016-03-30 14:19 ` [PATCH 2/3] drm: align #include directives with libdrm in uapi headers Daniel Vetter
  2016-03-30 15:05   ` Emil Velikov
@ 2016-03-30 15:54   ` Daniel Vetter
  2016-03-30 16:08     ` Emil Velikov
  1 sibling, 1 reply; 21+ messages in thread
From: Daniel Vetter @ 2016-03-30 15:54 UTC (permalink / raw)
  To: DRI Development; +Cc: Daniel Vetter, Emil Velikov, Daniel Vetter

We can't use <drm/*.h> because that upsets the serach paths in libdrm.
Also, drop the circular inclusion in drm_mode.h.

v2: Actually change the right headers.

v3: Drop the #include removal per Emil's request.

Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 include/uapi/drm/drm.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
index 7d42d105f32a..85ada499574b 100644
--- a/include/uapi/drm/drm.h
+++ b/include/uapi/drm/drm.h
@@ -685,7 +685,7 @@ struct drm_prime_handle {
 	__s32 fd;
 };
 
-#include <drm/drm_mode.h>
+#include "drm_mode.h"
 
 #define DRM_IOCTL_BASE			'd'
 #define DRM_IO(nr)			_IO(DRM_IOCTL_BASE,nr)
-- 
2.8.0.rc3

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/2] drm: Untangle __KERNEL__ guards
  2016-03-30 14:42 ` [PATCH 1/2] drm: Untangle __KERNEL__ guards Daniel Vetter
  2016-03-30 14:42   ` [PATCH 2/2] drm: Make uapi headers C89 pendantic compliant Daniel Vetter
@ 2016-03-30 15:56   ` Emil Velikov
  2016-03-30 19:11     ` Daniel Vetter
  1 sibling, 1 reply; 21+ messages in thread
From: Emil Velikov @ 2016-03-30 15:56 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, DRI Development

On 30 March 2016 at 15:42, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> make headers_install can't handle fancy conditions, so let's simplify
> things for it a bit.
>
> Cc: Emil Velikov <emil.l.velikov@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  include/uapi/drm/drm.h | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
> index c7ecc3abff03..3b56285a7e2a 100644
> --- a/include/uapi/drm/drm.h
> +++ b/include/uapi/drm/drm.h
> @@ -36,7 +36,13 @@
>  #ifndef _DRM_H_
>  #define _DRM_H_
>
> -#if defined(__KERNEL__) || defined(__linux__)
> +#if defined(__KERNEL__)
> +
> +#include <linux/types.h>
> +#include <asm/ioctl.h>
> +typedef unsigned int drm_handle_t;
> +
> +#elif defined(__linux__)
>
Bit dubious how that used to work, and that the program fails with the
original, yet handled "elif defined..." correctly.

Regardless,
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>

-Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] drm: Make drm.h uapi header safe for C++
  2016-03-30 15:12 ` [PATCH] drm: Make drm.h uapi header safe for C++ Daniel Vetter
@ 2016-03-30 15:56   ` Emil Velikov
  0 siblings, 0 replies; 21+ messages in thread
From: Emil Velikov @ 2016-03-30 15:56 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, DRI Development

On 30 March 2016 at 16:12, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> virtual is a protected keyword in C++ and can't be used at all. Ugh.
>
> This aligns the kernel versions of the drm headers with the ones in
> libdrm.
>
> v2: Also annote with __user, as request by Emil&Ilia.

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>

-Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/3] drm: Move DRM_MODE_OBJECT_* to uapi headers
  2016-03-30 14:19 ` [PATCH 3/3] drm: Move DRM_MODE_OBJECT_* to " Daniel Vetter
@ 2016-03-30 16:07   ` Emil Velikov
  2016-03-30 17:55     ` Paulo Zanoni
  0 siblings, 1 reply; 21+ messages in thread
From: Emil Velikov @ 2016-03-30 16:07 UTC (permalink / raw)
  To: Daniel Vetter, Paulo Zanoni; +Cc: Daniel Vetter, DRI Development

On 30 March 2016 at 15:19, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> These type defines are officially part of the uapi, but ended up in
> the wrong headers somehow when we split them all.
>
> Cc: Emil Velikov <emil.l.velikov@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
The way it was done originally (by Paulo) with commit
c543188afb7a83e66161c026dc6fd5eb38dc0b63 it seemed deliberate. At the
same time the libdrm got a different treatment
8c75703df0fdf65b3851f8eb5822705638decff3. Would be swell Paulo can
confirm (re: unintentional or deliberate difference), if he recalls
any of this :-)

Barring any objections from Paulo
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>

-Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] drm: align #include directives with libdrm in uapi headers
  2016-03-30 15:54   ` [PATCH] " Daniel Vetter
@ 2016-03-30 16:08     ` Emil Velikov
  0 siblings, 0 replies; 21+ messages in thread
From: Emil Velikov @ 2016-03-30 16:08 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, DRI Development

On 30 March 2016 at 16:54, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> We can't use <drm/*.h> because that upsets the serach paths in libdrm.
> Also, drop the circular inclusion in drm_mode.h.
>
> v2: Actually change the right headers.
>
> v3: Drop the #include removal per Emil's request.
>
Thanks.

> Cc: Emil Velikov <emil.l.velikov@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>

-Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/3] drm: Move DRM_MODE_OBJECT_* to uapi headers
  2016-03-30 16:07   ` Emil Velikov
@ 2016-03-30 17:55     ` Paulo Zanoni
  2016-03-30 19:07       ` Daniel Vetter
  0 siblings, 1 reply; 21+ messages in thread
From: Paulo Zanoni @ 2016-03-30 17:55 UTC (permalink / raw)
  To: Emil Velikov; +Cc: Daniel Vetter, Paulo Zanoni, DRI Development, Daniel Vetter

2016-03-30 13:07 GMT-03:00 Emil Velikov <emil.l.velikov@gmail.com>:
> On 30 March 2016 at 15:19, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>> These type defines are officially part of the uapi, but ended up in
>> the wrong headers somehow when we split them all.
>>
>> Cc: Emil Velikov <emil.l.velikov@gmail.com>
>> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> The way it was done originally (by Paulo) with commit
> c543188afb7a83e66161c026dc6fd5eb38dc0b63 it seemed deliberate. At the
> same time the libdrm got a different treatment
> 8c75703df0fdf65b3851f8eb5822705638decff3. Would be swell Paulo can
> confirm (re: unintentional or deliberate difference), if he recalls
> any of this :-)
>
> Barring any objections from Paulo

No objections from Paulo. The include/uapi directory didn't even exist
at that time, and I guess I was just trying to make things work,
without any specific coding philosophy in mind.

> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
>
> -Emil
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



-- 
Paulo Zanoni
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/3] drm: Move DRM_MODE_OBJECT_* to uapi headers
  2016-03-30 17:55     ` Paulo Zanoni
@ 2016-03-30 19:07       ` Daniel Vetter
  0 siblings, 0 replies; 21+ messages in thread
From: Daniel Vetter @ 2016-03-30 19:07 UTC (permalink / raw)
  To: Paulo Zanoni
  Cc: Daniel Vetter, Emil Velikov, Paulo Zanoni, DRI Development,
	Daniel Vetter

On Wed, Mar 30, 2016 at 02:55:17PM -0300, Paulo Zanoni wrote:
> 2016-03-30 13:07 GMT-03:00 Emil Velikov <emil.l.velikov@gmail.com>:
> > On 30 March 2016 at 15:19, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> >> These type defines are officially part of the uapi, but ended up in
> >> the wrong headers somehow when we split them all.
> >>
> >> Cc: Emil Velikov <emil.l.velikov@gmail.com>
> >> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > The way it was done originally (by Paulo) with commit
> > c543188afb7a83e66161c026dc6fd5eb38dc0b63 it seemed deliberate. At the
> > same time the libdrm got a different treatment
> > 8c75703df0fdf65b3851f8eb5822705638decff3. Would be swell Paulo can
> > confirm (re: unintentional or deliberate difference), if he recalls
> > any of this :-)
> >
> > Barring any objections from Paulo
> 
> No objections from Paulo. The include/uapi directory didn't even exist
> at that time, and I guess I was just trying to make things work,
> without any specific coding philosophy in mind.

Yeah, I suspect that this was actually fumbled in the uapi split-up
somehow ...
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/2] drm: Untangle __KERNEL__ guards
  2016-03-30 15:56   ` [PATCH 1/2] drm: Untangle __KERNEL__ guards Emil Velikov
@ 2016-03-30 19:11     ` Daniel Vetter
  0 siblings, 0 replies; 21+ messages in thread
From: Daniel Vetter @ 2016-03-30 19:11 UTC (permalink / raw)
  To: Emil Velikov; +Cc: Daniel Vetter, DRI Development, Daniel Vetter

On Wed, Mar 30, 2016 at 04:56:17PM +0100, Emil Velikov wrote:
> On 30 March 2016 at 15:42, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> > make headers_install can't handle fancy conditions, so let's simplify
> > things for it a bit.
> >
> > Cc: Emil Velikov <emil.l.velikov@gmail.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> >  include/uapi/drm/drm.h | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
> > index c7ecc3abff03..3b56285a7e2a 100644
> > --- a/include/uapi/drm/drm.h
> > +++ b/include/uapi/drm/drm.h
> > @@ -36,7 +36,13 @@
> >  #ifndef _DRM_H_
> >  #define _DRM_H_
> >
> > -#if defined(__KERNEL__) || defined(__linux__)
> > +#if defined(__KERNEL__)
> > +
> > +#include <linux/types.h>
> > +#include <asm/ioctl.h>
> > +typedef unsigned int drm_handle_t;
> > +
> > +#elif defined(__linux__)
> >
> Bit dubious how that used to work, and that the program fails with the
> original, yet handled "elif defined..." correctly.

I didn't dare looking into the horror show the script is - still charred
from looking too closely at kerneldoc ;-)

> Regardless,
> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>

Thanks for the review, all expect the last one (to make them pendantic
compliant, still missing r-b on that) applied to drm-misc.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/2] drm: Make uapi headers C89 pendantic compliant
  2016-03-30 14:42   ` [PATCH 2/2] drm: Make uapi headers C89 pendantic compliant Daniel Vetter
@ 2016-03-30 20:06     ` Emil Velikov
  2016-03-31  5:58       ` Daniel Vetter
  0 siblings, 1 reply; 21+ messages in thread
From: Emil Velikov @ 2016-03-30 20:06 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, DRI Development

On 30 March 2016 at 15:42, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> This ports the below libdrm commit to the kernel
>
> commit 0f4452bb51306024fbf4cbf77d8baab20cefba67
> Author: Daniel Kurtz <djkurtz@chromium.org>
> Date:   Mon Aug 26 23:39:16 2013 +0800
>
>     libdrm: Make some drm headers compatible with gcc -std=c89 -pedantic
>
>     The following minor changes were needed to these headers:
>      * Convert // comments to /* */
>      * No , after final member of enum
>
>     With these changes, these header files can be included by a program that
>     is built with gcc options:
>       -std=c89 -Werror -pedantic
>
>     Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>     Signed-off-by: Eric Anholt <eric@anholt.net>
>     Reviewed-by: Eric Anholt <eric@anholt.net>
>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Yes, please :-)

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>

-Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/2] drm: Make uapi headers C89 pendantic compliant
  2016-03-30 20:06     ` Emil Velikov
@ 2016-03-31  5:58       ` Daniel Vetter
  0 siblings, 0 replies; 21+ messages in thread
From: Daniel Vetter @ 2016-03-31  5:58 UTC (permalink / raw)
  To: Emil Velikov; +Cc: Daniel Vetter, DRI Development, Daniel Vetter

On Wed, Mar 30, 2016 at 09:06:33PM +0100, Emil Velikov wrote:
> On 30 March 2016 at 15:42, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> > This ports the below libdrm commit to the kernel
> >
> > commit 0f4452bb51306024fbf4cbf77d8baab20cefba67
> > Author: Daniel Kurtz <djkurtz@chromium.org>
> > Date:   Mon Aug 26 23:39:16 2013 +0800
> >
> >     libdrm: Make some drm headers compatible with gcc -std=c89 -pedantic
> >
> >     The following minor changes were needed to these headers:
> >      * Convert // comments to /* */
> >      * No , after final member of enum
> >
> >     With these changes, these header files can be included by a program that
> >     is built with gcc options:
> >       -std=c89 -Werror -pedantic
> >
> >     Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
> >     Signed-off-by: Eric Anholt <eric@anholt.net>
> >     Reviewed-by: Eric Anholt <eric@anholt.net>
> >
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> Yes, please :-)
> 
> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>

Also applied, thanks for your review.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/3] drm: Make drm.h uapi header safe for C++
  2016-03-30 14:19 [PATCH 1/3] drm: Make drm.h uapi header safe for C++ Daniel Vetter
                   ` (3 preceding siblings ...)
  2016-03-30 15:12 ` [PATCH] drm: Make drm.h uapi header safe for C++ Daniel Vetter
@ 2016-04-06 15:58 ` Gabriel Laskar
  2016-04-06 16:35   ` Emil Velikov
  4 siblings, 1 reply; 21+ messages in thread
From: Gabriel Laskar @ 2016-04-06 15:58 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: Daniel Vetter, Emil Velikov, DRI Development

On Wed, 30 Mar 2016 16:19:42 +0200
Daniel Vetter <daniel.vetter@ffwll.ch> wrote:

> virtual is a protected keyword in C++ and can't be used at all. Ugh.
> 
> This aligns the kernel versions of the drm headers with the ones in
> libdrm.
> 
> Cc: Emil Velikov <emil.l.velikov@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  include/uapi/drm/drm.h | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
> index a0ebfe7c9a28..d299c7749091 100644
> --- a/include/uapi/drm/drm.h
> +++ b/include/uapi/drm/drm.h
> @@ -373,7 +373,11 @@ struct drm_buf_pub {
>   */
>  struct drm_buf_map {
>  	int count;		/**< Length of the buffer list */
> +#ifdef __cplusplus
> +	void *virt;
> +#else
>  	void __user *virtual;		/**< Mmap'd area in
> user-virtual */ +#endif
>  	struct drm_buf_pub __user *list;	/**< Buffer
> information */ };
>  

Why not simply rename the field ?

-- 
Gabriel Laskar
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/3] drm: Make drm.h uapi header safe for C++
  2016-04-06 15:58 ` [PATCH 1/3] " Gabriel Laskar
@ 2016-04-06 16:35   ` Emil Velikov
  0 siblings, 0 replies; 21+ messages in thread
From: Emil Velikov @ 2016-04-06 16:35 UTC (permalink / raw)
  To: Gabriel Laskar; +Cc: Daniel Vetter, DRI Development, Daniel Vetter

On 6 April 2016 at 16:58, Gabriel Laskar <gabriel@lse.epita.fr> wrote:
> On Wed, 30 Mar 2016 16:19:42 +0200
> Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>
>> virtual is a protected keyword in C++ and can't be used at all. Ugh.
>>
>> This aligns the kernel versions of the drm headers with the ones in
>> libdrm.
>>
>> Cc: Emil Velikov <emil.l.velikov@gmail.com>
>> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
>> ---
>>  include/uapi/drm/drm.h | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
>> index a0ebfe7c9a28..d299c7749091 100644
>> --- a/include/uapi/drm/drm.h
>> +++ b/include/uapi/drm/drm.h
>> @@ -373,7 +373,11 @@ struct drm_buf_pub {
>>   */
>>  struct drm_buf_map {
>>       int count;              /**< Length of the buffer list */
>> +#ifdef __cplusplus
>> +     void *virt;
>> +#else
>>       void __user *virtual;           /**< Mmap'd area in
>> user-virtual */ +#endif
>>       struct drm_buf_pub __user *list;        /**< Buffer
>> information */ };
>>
>
> Why not simply rename the field ?
>
It will break existing users. Some of which haven't been
updated/maintained in a long while.

-Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2016-04-06 16:35 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-30 14:19 [PATCH 1/3] drm: Make drm.h uapi header safe for C++ Daniel Vetter
2016-03-30 14:19 ` [PATCH 2/3] drm: align #include directives with libdrm in uapi headers Daniel Vetter
2016-03-30 15:05   ` Emil Velikov
2016-03-30 15:11     ` Daniel Vetter
2016-03-30 15:22       ` Emil Velikov
2016-03-30 15:54   ` [PATCH] " Daniel Vetter
2016-03-30 16:08     ` Emil Velikov
2016-03-30 14:19 ` [PATCH 3/3] drm: Move DRM_MODE_OBJECT_* to " Daniel Vetter
2016-03-30 16:07   ` Emil Velikov
2016-03-30 17:55     ` Paulo Zanoni
2016-03-30 19:07       ` Daniel Vetter
2016-03-30 14:42 ` [PATCH 1/2] drm: Untangle __KERNEL__ guards Daniel Vetter
2016-03-30 14:42   ` [PATCH 2/2] drm: Make uapi headers C89 pendantic compliant Daniel Vetter
2016-03-30 20:06     ` Emil Velikov
2016-03-31  5:58       ` Daniel Vetter
2016-03-30 15:56   ` [PATCH 1/2] drm: Untangle __KERNEL__ guards Emil Velikov
2016-03-30 19:11     ` Daniel Vetter
2016-03-30 15:12 ` [PATCH] drm: Make drm.h uapi header safe for C++ Daniel Vetter
2016-03-30 15:56   ` Emil Velikov
2016-04-06 15:58 ` [PATCH 1/3] " Gabriel Laskar
2016-04-06 16:35   ` Emil Velikov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.