[Haiku-commits] r33099 - in haiku/branches/components/gallium3d: headers/private headers/private/drm src/add-ons/kernel src/add-ons/kernel/drivers src/add-ons/kernel/drivers/drm src/add-ons/kernel/drivers/drm/test src/add-ons/kernel/drm
aljen at mail.berlios.de
aljen at mail.berlios.de
Sat Sep 12 17:46:42 CEST 2009
Author: aljen
Date: 2009-09-12 17:46:37 +0200 (Sat, 12 Sep 2009)
New Revision: 33099
ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=33099&view=rev
Added:
haiku/branches/components/gallium3d/headers/private/drm/
haiku/branches/components/gallium3d/headers/private/drm/drm_module.h
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/Jamfile
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/Jamfile
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/drm_test.c
haiku/branches/components/gallium3d/src/add-ons/kernel/drm/
haiku/branches/components/gallium3d/src/add-ons/kernel/drm/Jamfile
haiku/branches/components/gallium3d/src/add-ons/kernel/drm/drm_module.c
Modified:
haiku/branches/components/gallium3d/src/add-ons/kernel/Jamfile
haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/Jamfile
Log:
Added empty kernel drm code
Added: haiku/branches/components/gallium3d/headers/private/drm/drm_module.h
===================================================================
--- haiku/branches/components/gallium3d/headers/private/drm/drm_module.h 2009-09-12 15:37:38 UTC (rev 33098)
+++ haiku/branches/components/gallium3d/headers/private/drm/drm_module.h 2009-09-12 15:46:37 UTC (rev 33099)
@@ -0,0 +1,12 @@
+#ifndef __DRM_MODULE_H__
+#define __DRM_MODULE_H__
+
+#include <module.h>
+
+#define DRM_MODULE_NAME "drm/drm"
+
+typedef struct {
+ module_info info;
+} drm_module_info;
+
+#endif // __DRM_MODULE_H__
Modified: haiku/branches/components/gallium3d/src/add-ons/kernel/Jamfile
===================================================================
--- haiku/branches/components/gallium3d/src/add-ons/kernel/Jamfile 2009-09-12 15:37:38 UTC (rev 33098)
+++ haiku/branches/components/gallium3d/src/add-ons/kernel/Jamfile 2009-09-12 15:46:37 UTC (rev 33099)
@@ -5,6 +5,7 @@
SubInclude HAIKU_TOP src add-ons kernel console ;
SubInclude HAIKU_TOP src add-ons kernel cpu ;
SubInclude HAIKU_TOP src add-ons kernel debugger ;
+SubInclude HAIKU_TOP src add-ons kernel drm ;
SubInclude HAIKU_TOP src add-ons kernel drivers ;
SubInclude HAIKU_TOP src add-ons kernel file_cache ;
SubInclude HAIKU_TOP src add-ons kernel file_systems ;
Modified: haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/Jamfile
===================================================================
--- haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/Jamfile 2009-09-12 15:37:38 UTC (rev 33098)
+++ haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/Jamfile 2009-09-12 15:46:37 UTC (rev 33099)
@@ -5,6 +5,7 @@
SubInclude HAIKU_TOP src add-ons kernel drivers bus ;
SubInclude HAIKU_TOP src add-ons kernel drivers audio ;
SubInclude HAIKU_TOP src add-ons kernel drivers common ;
+SubInclude HAIKU_TOP src add-ons kernel drivers drm ;
SubInclude HAIKU_TOP src add-ons kernel drivers disk ;
SubInclude HAIKU_TOP src add-ons kernel drivers dvb ;
SubInclude HAIKU_TOP src add-ons kernel drivers input ;
Added: haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/Jamfile
===================================================================
--- haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/Jamfile 2009-09-12 15:37:38 UTC (rev 33098)
+++ haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/Jamfile 2009-09-12 15:46:37 UTC (rev 33099)
@@ -0,0 +1,3 @@
+SubDir HAIKU_TOP src add-ons kernel drivers drm ;
+
+SubInclude HAIKU_TOP src add-ons kernel drivers drm test ;
Added: haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/Jamfile
===================================================================
--- haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/Jamfile 2009-09-12 15:37:38 UTC (rev 33098)
+++ haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/Jamfile 2009-09-12 15:46:37 UTC (rev 33099)
@@ -0,0 +1,7 @@
+SubDir HAIKU_TOP src add-ons kernel drivers drm test ;
+
+UsePrivateHeaders kernel drm ;
+
+KernelAddon drm_test :
+ drm_test.c
+ ;
Added: haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/drm_test.c
===================================================================
--- haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/drm_test.c 2009-09-12 15:37:38 UTC (rev 33098)
+++ haiku/branches/components/gallium3d/src/add-ons/kernel/drivers/drm/test/drm_test.c 2009-09-12 15:46:37 UTC (rev 33099)
@@ -0,0 +1,134 @@
+#include <Drivers.h>
+#include <KernelExport.h>
+
+#include <drm_module.h>
+#include <lock.h>
+
+#include <string.h>
+#include <stdio.h>
+
+#define DEVICE_NAME "drm/0"
+
+int32 api_version = B_CUR_DRIVER_API_VERSION;
+static mutex gLock;
+drm_module_info* gDrmModule;
+
+static status_t
+drm_test_open(const char* name, uint32 flags, void** cookie)
+{
+ dprintf("drm_test: drm_test_open\n");
+ *cookie = NULL;
+ return B_OK;
+}
+
+
+static status_t
+drm_test_close(void* cookie)
+{
+ dprintf("drm_test: drm_test_close\n");
+ return B_OK;
+}
+
+
+static status_t
+drm_test_freecookie(void* cookie)
+{
+ dprintf("drm_test: drm_test_freecookie\n");
+ return B_OK;
+}
+
+
+static status_t
+drm_test_ioctl(void* cookie, uint32 op, void* buffer, size_t length)
+{
+ dprintf("drm_test: drm_test_ioctl op: %ld buf: %p, len: %ld\n", op,
+ buffer, length);
+ return EPERM;
+}
+
+
+static status_t
+drm_test_read(void* cookie, off_t pos, void* buffer, size_t* length)
+{
+ dprintf("drm_test: drm_test_read gDrmModule: %p len: %ld\n",
+ gDrmModule, *length);
+ *length = 0;
+ return B_NOT_ALLOWED;
+}
+
+
+static status_t
+drm_test_write(void* cookie, off_t pos, const void* buffer, size_t *length)
+{
+ dprintf("drm_test: drm_test_write\n");
+ *length = 0;
+ return B_NOT_ALLOWED;
+}
+
+
+status_t
+init_hardware()
+{
+ dprintf("drm_test: init_hardware\n");
+ return B_OK;
+}
+
+
+const char**
+publish_devices(void)
+{
+ dprintf("drm_test: publish_devices\n");
+ static const char* devices[] = {
+ DEVICE_NAME,
+ NULL
+ };
+ return devices;
+}
+
+
+device_hooks*
+find_device(const char* name)
+{
+ dprintf("drm_test: find_device name: %s\n", name);
+ static device_hooks hooks = {
+ &drm_test_open,
+ &drm_test_close,
+ &drm_test_freecookie,
+ &drm_test_ioctl,
+ &drm_test_read,
+ &drm_test_write,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+ };
+
+ if (!strcmp(name, DEVICE_NAME))
+ return &hooks;
+
+ return NULL;
+}
+
+
+status_t
+init_driver(void)
+{
+ dprintf("drm_test: init_driver\n");
+ if (get_module(DRM_MODULE_NAME, (module_info**)&gDrmModule) < B_OK) {
+ dprintf("drm_test: cannot get module \"%s\"\n", DRM_MODULE_NAME);
+ return B_ERROR;
+ }
+
+ dprintf("drm_test: \"%s\" module at %p\n", DRM_MODULE_NAME,
+ gDrmModule);
+
+ return B_OK;
+}
+
+
+void
+uninit_driver(void)
+{
+ dprintf("drm_test: uninit_driver\n");
+ put_module(DRM_MODULE_NAME);
+}
Added: haiku/branches/components/gallium3d/src/add-ons/kernel/drm/Jamfile
===================================================================
--- haiku/branches/components/gallium3d/src/add-ons/kernel/drm/Jamfile 2009-09-12 15:37:38 UTC (rev 33098)
+++ haiku/branches/components/gallium3d/src/add-ons/kernel/drm/Jamfile 2009-09-12 15:46:37 UTC (rev 33099)
@@ -0,0 +1,8 @@
+SubDir HAIKU_TOP src add-ons kernel drm ;
+
+UsePrivateKernelHeaders ;
+UsePrivateHeaders kernel drm ;
+
+KernelAddon drm :
+ drm_module.c
+ ;
Added: haiku/branches/components/gallium3d/src/add-ons/kernel/drm/drm_module.c
===================================================================
--- haiku/branches/components/gallium3d/src/add-ons/kernel/drm/drm_module.c 2009-09-12 15:37:38 UTC (rev 33098)
+++ haiku/branches/components/gallium3d/src/add-ons/kernel/drm/drm_module.c 2009-09-12 15:46:37 UTC (rev 33099)
@@ -0,0 +1,63 @@
+#include <KernelExport.h>
+#include <Drivers.h>
+
+#include <string.h>
+
+#include <drm_module.h>
+#include <lock.h>
+
+
+#define TRACE_DRM_MODULE
+#ifdef TRACE_DRM_MODULE
+# define TRACE(x...) dprintf(x)
+#else
+# define TRACE(x...)
+#endif
+
+
+static status_t
+drm_module_init()
+{
+ TRACE("drm: drm_module_init\n");
+ return B_OK;
+}
+
+
+static status_t
+drm_module_uninit()
+{
+ TRACE("drm: drm_module_uninit\n");
+ return B_OK;
+}
+
+
+static status_t
+drm_std_ops(int32 op, ...)
+{
+ TRACE("drm: drm_std_ops(0x%lx)\n", op);
+ switch (op) {
+ case B_MODULE_INIT:
+ return drm_module_init();
+ case B_MODULE_UNINIT:
+ return drm_module_uninit();
+ default:
+ return B_ERROR;
+ }
+ return B_OK;
+}
+
+
+static drm_module_info sDrmModule = {
+ // module info
+ {
+ DRM_MODULE_NAME,
+ 0,
+ drm_std_ops
+ }
+};
+
+
+module_info *modules[] = {
+ (module_info *)&sDrmModule,
+ NULL
+};
More information about the Haiku-commits
mailing list