[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: