summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Hartmann <jhartmann@valinux.com>2001-07-18 21:02:58 +0000
committerJeff Hartmann <jhartmann@valinux.com>2001-07-18 21:02:58 +0000
commit4eafeec960c29369982a9b15c24681a3072f491d (patch)
tree46b949fff29a0022d21c7e724b4e5a24347c7db6
parentc6454e6a93544fd20f4b5d9cb2ee08725e9b6740 (diff)
Add module version name at a lower layer of the code, allows things to be
more flexible and allow older module versions to still work. Might not be final code if we move over to DRI kernel module version, but will be if we use XFree86 version. + Only build tdfx.o instead of tdfx-4_1_0.o since tdfx.o has never changed its API.
-rw-r--r--libdrm/xf86drm.c24
-rw-r--r--linux-core/i810_drv.c2
-rw-r--r--linux-core/mga_drv.c2
-rw-r--r--linux-core/r128_drv.c2
-rw-r--r--linux-core/radeon_drv.c2
-rw-r--r--linux-core/sis_drv.c2
-rw-r--r--linux-core/tdfx_drv.c2
-rw-r--r--linux/Makefile.linux4
-rw-r--r--linux/drm.h16
-rw-r--r--linux/gamma_drv.c2
-rw-r--r--linux/i810_drv.c2
-rw-r--r--linux/mga_drv.c2
-rw-r--r--linux/r128_drv.c2
-rw-r--r--linux/radeon_drv.c2
-rw-r--r--linux/sis_drv.c2
-rw-r--r--linux/tdfx_drv.c2
-rw-r--r--shared-core/drm.h16
-rw-r--r--shared/drm.h16
18 files changed, 38 insertions, 64 deletions
diff --git a/libdrm/xf86drm.c b/libdrm/xf86drm.c
index a04cf7ae..6a4c5924 100644
--- a/libdrm/xf86drm.c
+++ b/libdrm/xf86drm.c
@@ -285,10 +285,32 @@ static int drmOpenByName(const char *name)
#if !defined(XFree86Server)
return -1;
#else
+ char temp_name[256];
+ Bool kernel_loaded = FALSE;
+
+ sprintf(temp_name, "%s-%d_%d_%d", name,
+ XF86_VERSION_MAJOR,
+ XF86_VERSION_MINOR,
+ XF86_VERSION_PATCH);
+
+ /* first try and load the XF Version number of the module */
+ if (!xf86LoadKernelModule(temp_name)) {
+ ErrorF("[drm] failed to load kernel module \"%s\"\n",
+ temp_name);
+ ErrorF("[drm] falling back to older kernel modules\n");
+ } else {
+ kernel_loaded = TRUE;
+ }
+
+ /* When we have more releases, add logic here to attempt to load them
+ * here.
+ */
+
/* try to load the kernel module now */
- if (!xf86LoadKernelModule(name)) {
+ if (kernel_loaded == FALSE && !xf86LoadKernelModule(name)) {
ErrorF("[drm] failed to load kernel module \"%s\"\n",
name);
+ ErrorF("[drm] No suitable kernel module found.\n");
return -1;
}
#endif
diff --git a/linux-core/i810_drv.c b/linux-core/i810_drv.c
index 65f423e6..09fa16b0 100644
--- a/linux-core/i810_drv.c
+++ b/linux-core/i810_drv.c
@@ -37,7 +37,7 @@
#define DRIVER_AUTHOR "VA Linux Systems Inc."
-#define DRIVER_NAME "i810"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "i810"
#define DRIVER_DESC "Intel i810"
#define DRIVER_DATE "20010616"
diff --git a/linux-core/mga_drv.c b/linux-core/mga_drv.c
index 0afda316..bea65cfa 100644
--- a/linux-core/mga_drv.c
+++ b/linux-core/mga_drv.c
@@ -36,7 +36,7 @@
#define DRIVER_AUTHOR "Gareth Hughes, VA Linux Systems Inc."
-#define DRIVER_NAME "mga"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "mga"
#define DRIVER_DESC "Matrox G200/G400"
#define DRIVER_DATE "20010321"
diff --git a/linux-core/r128_drv.c b/linux-core/r128_drv.c
index fa99d651..2fdcb158 100644
--- a/linux-core/r128_drv.c
+++ b/linux-core/r128_drv.c
@@ -37,7 +37,7 @@
#define DRIVER_AUTHOR "Gareth Hughes, VA Linux Systems Inc."
-#define DRIVER_NAME "r128"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "r128"
#define DRIVER_DESC "ATI Rage 128"
#define DRIVER_DATE "20010405"
diff --git a/linux-core/radeon_drv.c b/linux-core/radeon_drv.c
index 34145070..d7632667 100644
--- a/linux-core/radeon_drv.c
+++ b/linux-core/radeon_drv.c
@@ -35,7 +35,7 @@
#define DRIVER_AUTHOR "Gareth Hughes, VA Linux Systems Inc."
-#define DRIVER_NAME "radeon"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "radeon"
#define DRIVER_DESC "ATI Radeon"
#define DRIVER_DATE "20010405"
diff --git a/linux-core/sis_drv.c b/linux-core/sis_drv.c
index 8701e00e..3dd83fd7 100644
--- a/linux-core/sis_drv.c
+++ b/linux-core/sis_drv.c
@@ -32,7 +32,7 @@
#include "sis_drv.h"
#define DRIVER_AUTHOR "SIS"
-#define DRIVER_NAME "sis"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "sis"
#define DRIVER_DESC "SIS 300/630/540"
#define DRIVER_DATE "20010503"
#define DRIVER_MAJOR 1
diff --git a/linux-core/tdfx_drv.c b/linux-core/tdfx_drv.c
index e28518bb..f478395f 100644
--- a/linux-core/tdfx_drv.c
+++ b/linux-core/tdfx_drv.c
@@ -36,7 +36,7 @@
#define DRIVER_AUTHOR "VA Linux Systems Inc."
-#define DRIVER_NAME "tdfx"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "tdfx"
#define DRIVER_DESC "3dfx Banshee/Voodoo3+"
#define DRIVER_DATE "20010216"
diff --git a/linux/Makefile.linux b/linux/Makefile.linux
index 9aa523d7..e796c8fb 100644
--- a/linux/Makefile.linux
+++ b/linux/Makefile.linux
@@ -48,7 +48,7 @@
# **** End of SMP/MODVERSIONS detection
XFREE86VERSION = 4_1_0
-MODS = gamma-$(XFREE86VERSION).o tdfx-$(XFREE86VERSION).o \
+MODS = gamma-$(XFREE86VERSION).o tdfx.o \
r128-$(XFREE86VERSION).o radeon-$(XFREE86VERSION).o
LIBS =
@@ -228,7 +228,7 @@ gamma-$(XFREE86VERSION).o: $(GAMMAOBJS)
tdfx_drv.o: tdfx_drv.c
$(CC) $(MODCFLAGS) -DEXPORT_SYMTAB -I$(TREE) -c $< -o $@
-tdfx-$(XFREE86VERSION).o: $(TDFXOBJS) $(LIBS)
+tdfx.o: $(TDFXOBJS) $(LIBS)
$(LD) -r $^ -o $@
sis-$(XFREE86VERSION).o: $(SISOBJS) $(LIBS)
diff --git a/linux/drm.h b/linux/drm.h
index 5faf2bae..ac9f407a 100644
--- a/linux/drm.h
+++ b/linux/drm.h
@@ -47,26 +47,10 @@
#define XFREE86_VERSION(major,minor,patch,snap) \
((major << 16) | (minor << 8) | patch)
-#define __DRM_STRINGIFY(x) #x
-#define DRM_STRINGIFY(x) __DRM_STRINGIFY(x)
-
#ifndef CONFIG_XFREE86_VERSION
-/* If CONFIG_XFREE86_VERSION is defined, these must also be defined */
-#define CONFIG_XFREE86_MAJOR 4
-#define CONFIG_XFREE86_MINOR 1
-#define CONFIG_XFREE86_PATCH 0
-
#define CONFIG_XFREE86_VERSION XFREE86_VERSION(4,1,0,0)
#endif
-#define XF86_MAJ_STR DRM_STRINGIFY(CONFIG_XFREE86_MAJOR)
-#define XF86_MIN_STR DRM_STRINGIFY(CONFIG_XFREE86_MINOR)
-#define XF86_PATCH_STR DRM_STRINGIFY(CONFIG_XFREE86_PATCH)
-
-#ifndef CONFIG_XFREE86_VERSION_STR
-#define CONFIG_XFREE86_VERSION_STR "-"##XF86_MAJ_STR##"_"##XF86_MIN_STR##"_"##XF86_PATCH_STR
-#endif
-
#if CONFIG_XFREE86_VERSION < XFREE86_VERSION(4,1,0,0)
#define DRM_PROC_DEVICES "/proc/devices"
#define DRM_PROC_MISC "/proc/misc"
diff --git a/linux/gamma_drv.c b/linux/gamma_drv.c
index cd64b305..98916bc5 100644
--- a/linux/gamma_drv.c
+++ b/linux/gamma_drv.c
@@ -36,7 +36,7 @@
#define DRIVER_AUTHOR "VA Linux Systems Inc."
-#define DRIVER_NAME "gamma"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "gamma"
#define DRIVER_DESC "3DLabs gamma"
#define DRIVER_DATE "20010216"
diff --git a/linux/i810_drv.c b/linux/i810_drv.c
index 65f423e6..09fa16b0 100644
--- a/linux/i810_drv.c
+++ b/linux/i810_drv.c
@@ -37,7 +37,7 @@
#define DRIVER_AUTHOR "VA Linux Systems Inc."
-#define DRIVER_NAME "i810"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "i810"
#define DRIVER_DESC "Intel i810"
#define DRIVER_DATE "20010616"
diff --git a/linux/mga_drv.c b/linux/mga_drv.c
index 0afda316..bea65cfa 100644
--- a/linux/mga_drv.c
+++ b/linux/mga_drv.c
@@ -36,7 +36,7 @@
#define DRIVER_AUTHOR "Gareth Hughes, VA Linux Systems Inc."
-#define DRIVER_NAME "mga"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "mga"
#define DRIVER_DESC "Matrox G200/G400"
#define DRIVER_DATE "20010321"
diff --git a/linux/r128_drv.c b/linux/r128_drv.c
index fa99d651..2fdcb158 100644
--- a/linux/r128_drv.c
+++ b/linux/r128_drv.c
@@ -37,7 +37,7 @@
#define DRIVER_AUTHOR "Gareth Hughes, VA Linux Systems Inc."
-#define DRIVER_NAME "r128"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "r128"
#define DRIVER_DESC "ATI Rage 128"
#define DRIVER_DATE "20010405"
diff --git a/linux/radeon_drv.c b/linux/radeon_drv.c
index 34145070..d7632667 100644
--- a/linux/radeon_drv.c
+++ b/linux/radeon_drv.c
@@ -35,7 +35,7 @@
#define DRIVER_AUTHOR "Gareth Hughes, VA Linux Systems Inc."
-#define DRIVER_NAME "radeon"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "radeon"
#define DRIVER_DESC "ATI Radeon"
#define DRIVER_DATE "20010405"
diff --git a/linux/sis_drv.c b/linux/sis_drv.c
index 8701e00e..3dd83fd7 100644
--- a/linux/sis_drv.c
+++ b/linux/sis_drv.c
@@ -32,7 +32,7 @@
#include "sis_drv.h"
#define DRIVER_AUTHOR "SIS"
-#define DRIVER_NAME "sis"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "sis"
#define DRIVER_DESC "SIS 300/630/540"
#define DRIVER_DATE "20010503"
#define DRIVER_MAJOR 1
diff --git a/linux/tdfx_drv.c b/linux/tdfx_drv.c
index e28518bb..f478395f 100644
--- a/linux/tdfx_drv.c
+++ b/linux/tdfx_drv.c
@@ -36,7 +36,7 @@
#define DRIVER_AUTHOR "VA Linux Systems Inc."
-#define DRIVER_NAME "tdfx"##CONFIG_XFREE86_VERSION_STR
+#define DRIVER_NAME "tdfx"
#define DRIVER_DESC "3dfx Banshee/Voodoo3+"
#define DRIVER_DATE "20010216"
diff --git a/shared-core/drm.h b/shared-core/drm.h
index 5faf2bae..ac9f407a 100644
--- a/shared-core/drm.h
+++ b/shared-core/drm.h
@@ -47,26 +47,10 @@
#define XFREE86_VERSION(major,minor,patch,snap) \
((major << 16) | (minor << 8) | patch)
-#define __DRM_STRINGIFY(x) #x
-#define DRM_STRINGIFY(x) __DRM_STRINGIFY(x)
-
#ifndef CONFIG_XFREE86_VERSION
-/* If CONFIG_XFREE86_VERSION is defined, these must also be defined */
-#define CONFIG_XFREE86_MAJOR 4
-#define CONFIG_XFREE86_MINOR 1
-#define CONFIG_XFREE86_PATCH 0
-
#define CONFIG_XFREE86_VERSION XFREE86_VERSION(4,1,0,0)
#endif
-#define XF86_MAJ_STR DRM_STRINGIFY(CONFIG_XFREE86_MAJOR)
-#define XF86_MIN_STR DRM_STRINGIFY(CONFIG_XFREE86_MINOR)
-#define XF86_PATCH_STR DRM_STRINGIFY(CONFIG_XFREE86_PATCH)
-
-#ifndef CONFIG_XFREE86_VERSION_STR
-#define CONFIG_XFREE86_VERSION_STR "-"##XF86_MAJ_STR##"_"##XF86_MIN_STR##"_"##XF86_PATCH_STR
-#endif
-
#if CONFIG_XFREE86_VERSION < XFREE86_VERSION(4,1,0,0)
#define DRM_PROC_DEVICES "/proc/devices"
#define DRM_PROC_MISC "/proc/misc"
diff --git a/shared/drm.h b/shared/drm.h
index 5faf2bae..ac9f407a 100644
--- a/shared/drm.h
+++ b/shared/drm.h
@@ -47,26 +47,10 @@
#define XFREE86_VERSION(major,minor,patch,snap) \
((major << 16) | (minor << 8) | patch)
-#define __DRM_STRINGIFY(x) #x
-#define DRM_STRINGIFY(x) __DRM_STRINGIFY(x)
-
#ifndef CONFIG_XFREE86_VERSION
-/* If CONFIG_XFREE86_VERSION is defined, these must also be defined */
-#define CONFIG_XFREE86_MAJOR 4
-#define CONFIG_XFREE86_MINOR 1
-#define CONFIG_XFREE86_PATCH 0
-
#define CONFIG_XFREE86_VERSION XFREE86_VERSION(4,1,0,0)
#endif
-#define XF86_MAJ_STR DRM_STRINGIFY(CONFIG_XFREE86_MAJOR)
-#define XF86_MIN_STR DRM_STRINGIFY(CONFIG_XFREE86_MINOR)
-#define XF86_PATCH_STR DRM_STRINGIFY(CONFIG_XFREE86_PATCH)
-
-#ifndef CONFIG_XFREE86_VERSION_STR
-#define CONFIG_XFREE86_VERSION_STR "-"##XF86_MAJ_STR##"_"##XF86_MIN_STR##"_"##XF86_PATCH_STR
-#endif
-
#if CONFIG_XFREE86_VERSION < XFREE86_VERSION(4,1,0,0)
#define DRM_PROC_DEVICES "/proc/devices"
#define DRM_PROC_MISC "/proc/misc"