[PATCH libdrm] Update/fix the {copy,commit}-headers targets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



As some headers do not reside in include/drm we need to tweak our rules, 
and exclude headers that shouldn't be distributed [XXX: clarify why ?].

To avoid the extra magic of diving into the kernel tree running `make 
headers_install', just sed out the only reason why we need it - __user.

Cc: Alex Deucher <alexander.deucher@xxxxxxx>
Cc: Michel Dänzer <michel.daenzer@xxxxxxx>
Cc: Ben Skeggs <bskeggs@xxxxxxxxxx>
Cc: Dave Airlie <airlied@xxxxxxxxxx>
Cc: Daniel Stone <daniels@xxxxxxxxxxxxx>
Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
Cc: Inki Dae <inki.dae@xxxxxxxxxxx>
Cc: Rob Clark <robclark@xxxxxxxxxxxxxxx>
Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx>
Cc: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
Signed-off-by: Emil Velikov <emil.l.velikov@xxxxxxxxx>
---

Gents,
As one runs `make copy-headers' we get a massive diff stat (+1500/-800) 
and a handful of issues gets pointed out.
Please let me know of your prefered solution (regardless if one will get 
to it soon) and if we should consider it a blocker (B) or not (N).

Thanks
Emil

 - (N) Header license miss-match - omap, msm, exynos. Update the kernel 
ones ?

 - (N) Broken compat ioctls - exynos (and the UMS drivers) - using 
unsigned int as opposed to _u32/64. Considering they're 32bit only, we 
can get away with 'breaking' the ABI and using the proper ones ?

 - (N, keep local for now) C++ compat - libdrm has a hack/workaround 
(virtual is a keyword in C++), which I'd like us to upstream plus some 
extern C wrappers.

 - (?) Missing UMS symbols - see _DRM_GEM

 - (?) Non C89 compliant (see DRM_DRAWABLE_CLIPRECTS) - do we still 
want/need that ?

 - (B) Using include <drm/...> as opposed to include "..." - drm.h, 
nouveau_drm.h. Should be fixed in kernel.

 - (N) ABI 'break'
  + drm - struct drm_mode_get_connector extra pad
  + tegra - struct drm_tegra_gem_mmap extra pad

 - (B) API break
  + drm - missing DRM_MODE_OBJECT_*
  + nouveau - missing (gs)etparam - both structs and macros. everything 
else is fine/unused.
  + radeon - RADEON_TILING_R600_NO_SCANOUT, CIK_TILE_MODE_COLOR_2D* and 
CIK_TILE_MODE_DEPTH_STENCIL_2D_TILESPLIT_* - quick grep shows no users
  + omap - struct drm_omap_get_base, DRM_OMAP_GET_BASE + IOCTL

 - (N) (unneeded?) API additions - nouveau's DRM_IOCTL_NOUVEAU_GEM_* 

 - (N) __KERNEL__ condiditionals. Is it really an issue - sure if looks 
a bit spurious but that's about it.


 Makefile.am | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index ca41508..6c71d3a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -126,7 +126,14 @@ endif
 
 copy-headers :
 	cp -r $(kernel_source)/include/uapi/drm/*.h $(top_srcdir)/include/drm/
+	sed -i "s/__user //g" $(top_srcdir)/include/drm/*.h
+	mv $(top_srcdir)/include/drm/exynos_drm.h $(top_srcdir)/exynos/
+	mv $(top_srcdir)/include/drm/msm_drm.h $(top_srcdir)/freedreno/msm/
+	mv $(top_srcdir)/include/drm/omap_drm.h $(top_srcdir)/omap/
+	rm $(top_srcdir)/include/drm/armada_drm.h
+	rm $(top_srcdir)/include/drm/etnaviv_drm.h
+	rm $(top_srcdir)/include/drm/i810_drm.h
+	rm $(top_srcdir)/include/drm/vc4_drm.h
 
 commit-headers : copy-headers
-	git add include/drm/*.h
 	git commit -am "Copy headers from kernel $$(GIT_DIR=$(kernel_source)/.git git describe)"
-- 
2.6.2

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




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux