xorg-server: Changes to 'ubuntu'
debian/patches/111_armel-drv-fallbacks.patch | 92 +++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
New commits:
commit 470730501bc9c0f00d860e5c5b11c6afc4051adb
Author: Bryce Harrington <bryce@bryceharrington.org>
Date: Mon Mar 29 15:00:30 2010 -0700
asac's patch (missing from prior push)
diff --git a/debian/patches/111_armel-drv-fallbacks.patch b/debian/patches/111_armel-drv-fallbacks.patch
new file mode 100644
index 0000000..06d8ca4
--- /dev/null
+++ b/debian/patches/111_armel-drv-fallbacks.patch
@@ -0,0 +1,92 @@
+---
+ hw/xfree86/common/xf86AutoConfig.c | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+Index: xorg-server-1.7.5/hw/xfree86/common/xf86AutoConfig.c
+===================================================================
+--- xorg-server-1.7.5.orig/hw/xfree86/common/xf86AutoConfig.c
++++ xorg-server-1.7.5/hw/xfree86/common/xf86AutoConfig.c
+@@ -39,16 +39,20 @@
+ #include "xf86Config.h"
+ #include "xf86Priv.h"
+ #include "xf86_OSlib.h"
+ #ifdef __sparc__
+ # include "xf86sbusBus.h"
+ #endif
+ #include "dirent.h"
+
++#if defined(__arm__) && defined(__linux__)
++# include "loaderProcs.h"
++#endif
++
+ #ifdef sun
+ # include <sys/visual_io.h>
+ # include <ctype.h>
+ #endif
+
+ /* Sections for the default built-in configuration. */
+
+ #define BUILTIN_DEVICE_NAME \
+@@ -429,16 +433,37 @@
+ direntry = readdir(idsdir);
+ }
+ end:
+ xfree(line);
+ closedir(idsdir);
+ }
+ #endif /* __linux__ */
+
++#if defined(__arm__) && defined(__linux__)
++static int
++test_imx_drv ()
++{
++ DIR* dir = opendir("/sys/devices/platform");
++ struct dirent *current_dir;
++
++ while (current_dir = readdir(dir)) {
++ if (strlen(current_dir->d_name) >= 7 && strncmp("mxc_gpu", current_dir->d_name, 7) == 0)
++ break;
++ }
++ closedir(dir);
++ if(!current_dir)
++ return 0;
++
++ if (!LoadModule("imx", NULL, NULL, NULL, NULL, NULL, NULL, NULL))
++ return 0;
++ return 1;
++}
++#endif /* defined(__arm__) && defined(__linux__) */
++
+ static void
+ listPossibleVideoDrivers(char *matches[], int nmatches)
+ {
+ struct pci_device * info = NULL;
+ struct pci_device_iterator *iter;
+ int i;
+
+ for (i = 0 ; i < nmatches ; i++) {
+@@ -540,17 +565,24 @@
+ #endif
+ }
+
+ /* Fallback to platform default frame buffer driver */
+ if (i < (nmatches - 1)) {
+ #if !defined(__linux__) && defined(__sparc__)
+ matches[i++] = xnfstrdup("wsfb");
+ #else
++#if defined(__linux__) && defined(__arm__)
++ if (test_imx_drv())
++ matches[i++] = xnfstrdup("imx");
++ else
++ matches[i++] = xnfstrdup("fbdev");
++#else
+ matches[i++] = xnfstrdup("fbdev");
++#endif /* defined(__linux__) && defined(__arm__) */
+ #endif
+ }
+ }
+
+ static char*
+ chooseVideoDriver(void)
+ {
+ char *chosen_driver = NULL;
Reply to: