Implement gbm_bo_get_fd

BUG=none
TEST=unit test

Change-Id: Iafeb58f8e09d4409633475341fc2675922f7350d
Reviewed-on: https://chromium-review.googlesource.com/228252
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Queue: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
diff --git a/gbm.c b/gbm.c
index 8a18d13..284dc28 100644
--- a/gbm.c
+++ b/gbm.c
@@ -263,7 +263,15 @@
 PUBLIC int
 gbm_bo_get_fd(struct gbm_bo *bo)
 {
-	return bo->gbm->fd;
+	int fd;
+
+	if (drmPrimeHandleToFD(dri->get_fd(),
+				bo->handle,
+				DRM_CLOEXEC,
+				&fd))
+		return fd;
+	else
+		return -1
 }
 
 PUBLIC void