drm_hwcomposer: separate C compliant header file.
Creating C compliant header file drm_hwc.h.
gralloc.tegra uses C compiler and depends only on code in drm_hwc.h.
The module doesn't depend on anything present in new hwcomposer.h.
This is required to fix the compile error.
Change-Id: Ib668334c03168aa4b72ad9e793eff323bd2e88fa
diff --git a/drm_hwc.h b/drm_hwc.h
new file mode 100644
index 0000000..fb2de7c
--- /dev/null
+++ b/drm_hwc.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_DRM_HWC_H_
+#define ANDROID_DRM_HWC_H_
+
+#include <stdbool.h>
+#include <stdint.h>
+
+#include <hardware/hardware.h>
+#include <hardware/hwcomposer.h>
+
+struct hwc_import_context;
+
+enum {
+ /* perform(const struct gralloc_module_t *mod,
+ * int op,
+ * int drm_fd,
+ * buffer_handle_t buffer,
+ * struct hwc_drm_bo *bo);
+ */
+ GRALLOC_MODULE_PERFORM_DRM_IMPORT = 0xffeeff00,
+
+ /* perform(const struct gralloc_module_t *mod,
+ * int op,
+ * buffer_handle_t buffer,
+ * void (*free_callback)(void *),
+ * void *priv);
+ */
+ GRALLOC_MODULE_PERFORM_SET_IMPORTER_PRIVATE = 0xffeeff01,
+
+ /* perform(const struct gralloc_module_t *mod,
+ * int op,
+ * buffer_handle_t buffer,
+ * void (*free_callback)(void *),
+ * void **priv);
+ */
+ GRALLOC_MODULE_PERFORM_GET_IMPORTER_PRIVATE = 0xffeeff02,
+};
+
+typedef struct hwc_drm_bo {
+ uint32_t width;
+ uint32_t height;
+ uint32_t format; /* DRM_FORMAT_* from drm_fourcc.h */
+ uint32_t pitches[4];
+ uint32_t offsets[4];
+ uint32_t gem_handles[4];
+ uint32_t fb_id;
+ int acquire_fence_fd;
+ void *priv;
+} hwc_drm_bo_t;
+
+int hwc_import_init(struct hwc_import_context **ctx);
+int hwc_import_destroy(struct hwc_import_context *ctx);
+
+int hwc_import_bo_create(int fd, struct hwc_import_context *ctx,
+ buffer_handle_t buf, struct hwc_drm_bo *bo);
+bool hwc_import_bo_release(int fd, struct hwc_import_context *ctx,
+ struct hwc_drm_bo *bo);
+
+#endif // ANDROID_DRM_HWC_H_