Import minigbm

Minigbm is a gbm implementation for a few DRM targets. Currently the
targets are:
- cirrus
- exynos
- gma500
- i915
- rockchip
- tegra
- udl

Right some targets are controlled with GBM_{TARGET} flags. I would
like to get to a place where we can just build all the targets in a
single library, but we need the drm headers for all targets for that
to happen so this needs more thinking.

BUG=chromium:394868,chromium:402597,chromium:413947,chromium:412508
TEST=unit tests, which I will need to import later

Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
Change-Id: I36ae07f2a59827a807e19e1432891ca196b28803
Reviewed-on: https://chromium-review.googlesource.com/218030
diff --git a/helpers.h b/helpers.h
new file mode 100644
index 0000000..d4523b0
--- /dev/null
+++ b/helpers.h
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef HELPERS_H
+#define HELPERS_H
+
+int gbm_bpp_from_format(uint32_t format);
+int gbm_bytes_from_format(uint32_t format);
+int gbm_is_format_supported(struct gbm_bo *bo);
+int gbm_dumb_bo_create(struct gbm_bo *bo, uint32_t width, uint32_t height, uint32_t format, uint32_t flags);
+int gbm_dumb_bo_destroy(struct gbm_bo *bo);
+int gbm_gem_bo_destroy(struct gbm_bo *bo);
+
+#endif