debian/changelog | 5 ++ debian/patches/03_auto_load_driver.diff | 69 ++++++++++++++++++-------------- 2 files changed, 44 insertions(+), 30 deletions(-)
New commits: commit 2e1f6a803f45572ffcdbb51f316f994a3429883a Author: David Nusinow <[EMAIL PROTECTED]> Date: Thu Sep 20 23:16:58 2007 -0400 Add support for a partially configured device section Implemented in 03_autoload_driver.diff. Now if you have a device section but lack a driver, it'll use the settings. This will allow you to just have a device section and enable EXA but not have to specify the driver or anything else. diff --git a/debian/changelog b/debian/changelog index 4a3fa8f..0963b83 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,11 @@ xorg-server (2:1.4-3) UNRELEASED; urgency=low + Change by hacked "ids" file name suffix check to use strncmp and check for ".ids" + Use strncpy instead of strncat unnecessarily + * Add support for a partially configured device section + Implemented in 03_autoload_driver.diff. Now if you have a device section + but lack a driver, it'll use the settings. This will allow you to just + have a device section and enable EXA but not have to specify the driver or + anything else. [ Brice Goglin ] * Build the Xfbdev server in new package xserver-xfbdev, closes: #439764. diff --git a/debian/patches/03_auto_load_driver.diff b/debian/patches/03_auto_load_driver.diff index 3c89522..971b4ac 100644 --- a/debian/patches/03_auto_load_driver.diff +++ b/debian/patches/03_auto_load_driver.diff @@ -1,7 +1,7 @@ Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c =================================================================== ---- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c 2007-09-16 20:14:26.000000000 -0400 -+++ xorg-server/hw/xfree86/common/xf86AutoConfig.c 2007-09-16 20:18:17.000000000 -0400 +--- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c 2007-09-20 21:41:34.000000000 -0400 ++++ xorg-server/hw/xfree86/common/xf86AutoConfig.c 2007-09-20 23:00:23.000000000 -0400 @@ -39,6 +39,7 @@ #include "xf86Config.h" #include "xf86Priv.h" @@ -10,7 +10,7 @@ Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c /* Sections for the default built-in configuration. */ -@@ -287,3 +288,199 @@ +@@ -287,3 +288,207 @@ return (ret == CONFIG_OK); } @@ -32,7 +32,7 @@ Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c +} + +GDevPtr -+autoConfigDevice(void) ++autoConfigDevice(GDevPtr preconf_device) +{ + GDevPtr ptr = NULL; + confScreenPtr scrn = NULL; @@ -41,19 +41,27 @@ Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c + return NULL; + } + -+ ptr = (GDevPtr)xalloc(sizeof(GDevRec)); -+ if (!ptr) { -+ return NULL; -+ } -+ memset((GDevPtr)ptr, 0, sizeof(GDevRec)); -+ ptr->chipID = -1; -+ ptr->chipRev = -1; -+ ptr->irq = -1; ++ /* If there's a configured section with no driver chosen, use it */ ++ if (preconf_device) { ++ ptr = preconf_device; ++ } else { ++ ptr = (GDevPtr)xalloc(sizeof(GDevRec)); ++ if (!ptr) { ++ return NULL; ++ } ++ memset((GDevPtr)ptr, 0, sizeof(GDevRec)); ++ ptr->chipID = -1; ++ ptr->chipRev = -1; ++ ptr->irq = -1; + -+ ptr->active = TRUE; -+ ptr->claimed = FALSE; -+ ptr->identifier = "Autoconfigured Video Device"; -+ ptr->driver = chooseVideoDriver(); ++ ptr->active = TRUE; ++ ptr->claimed = FALSE; ++ ptr->identifier = "Autoconfigured Video Device"; ++ ptr->driver = NULL; ++ } ++ if (!ptr->driver) { ++ ptr->driver = chooseVideoDriver(); ++ } + + /* TODO Handle multiple screen sections */ + if (xf86ConfigLayout.screens && !xf86ConfigLayout.screens->screen->device) { @@ -212,8 +220,8 @@ Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c +} Index: xorg-server/hw/xfree86/common/xf86Config.c =================================================================== ---- xorg-server.orig/hw/xfree86/common/xf86Config.c 2007-09-16 20:14:26.000000000 -0400 -+++ xorg-server/hw/xfree86/common/xf86Config.c 2007-09-16 20:15:29.000000000 -0400 +--- xorg-server.orig/hw/xfree86/common/xf86Config.c 2007-09-20 21:41:34.000000000 -0400 ++++ xorg-server/hw/xfree86/common/xf86Config.c 2007-09-20 23:00:23.000000000 -0400 @@ -1928,8 +1928,10 @@ return FALSE; } @@ -248,8 +256,8 @@ Index: xorg-server/hw/xfree86/common/xf86Config.c devicep->board = conf_device->dev_board; Index: xorg-server/hw/xfree86/common/xf86Config.h =================================================================== ---- xorg-server.orig/hw/xfree86/common/xf86Config.h 2007-09-16 20:14:26.000000000 -0400 -+++ xorg-server/hw/xfree86/common/xf86Config.h 2007-09-16 20:15:29.000000000 -0400 +--- xorg-server.orig/hw/xfree86/common/xf86Config.h 2007-09-20 21:41:34.000000000 -0400 ++++ xorg-server/hw/xfree86/common/xf86Config.h 2007-09-20 21:41:57.000000000 -0400 @@ -34,6 +34,8 @@ #define _xf86_config_h @@ -263,24 +271,25 @@ Index: xorg-server/hw/xfree86/common/xf86Config.h ConfigStatus xf86HandleConfigFile(Bool); Bool xf86AutoConfig(void); -+GDevPtr autoConfigDevice(void); ++GDevPtr autoConfigDevice(GDevPtr preconf_device); +char* chooseVideoDriver(void); +int xchomp(char *line); #endif /* _xf86_config_h */ Index: xorg-server/hw/xfree86/common/xf86Init.c =================================================================== ---- xorg-server.orig/hw/xfree86/common/xf86Init.c 2007-09-16 20:14:26.000000000 -0400 -+++ xorg-server/hw/xfree86/common/xf86Init.c 2007-09-16 20:15:29.000000000 -0400 -@@ -347,6 +347,15 @@ +--- xorg-server.orig/hw/xfree86/common/xf86Init.c 2007-09-20 21:41:34.000000000 -0400 ++++ xorg-server/hw/xfree86/common/xf86Init.c 2007-09-20 23:00:15.000000000 -0400 +@@ -347,6 +347,16 @@ } /* Load all driver modules specified in the config file */ + /* If there aren't any specified in the config file, autoconfig them */ + /* FIXME: Does not handle multiple active screen sections, but I'm not + * sure if we really want to handle that case*/ -+ if (!xf86ConfigLayout.screens->screen->device) { -+ if (!autoConfigDevice()) { ++ GDevPtr configured_device = xf86ConfigLayout.screens->screen->device; ++ if ((!configured_device) || (!configured_device->driver)) { ++ if (!autoConfigDevice(configured_device)) { + xf86Msg(X_ERROR, "Automatic driver configuration failed\n"); + return ; + } @@ -290,8 +299,8 @@ Index: xorg-server/hw/xfree86/common/xf86Init.c xfree(modulelist); Index: xorg-server/hw/xfree86/parser/Screen.c =================================================================== ---- xorg-server.orig/hw/xfree86/parser/Screen.c 2007-09-16 20:14:26.000000000 -0400 -+++ xorg-server/hw/xfree86/parser/Screen.c 2007-09-16 20:15:29.000000000 -0400 +--- xorg-server.orig/hw/xfree86/parser/Screen.c 2007-09-20 21:41:34.000000000 -0400 ++++ xorg-server/hw/xfree86/parser/Screen.c 2007-09-20 21:41:57.000000000 -0400 @@ -526,15 +526,7 @@ } } @@ -311,8 +320,8 @@ Index: xorg-server/hw/xfree86/parser/Screen.c while (adaptor) Index: xorg-server/hw/xfree86/parser/read.c =================================================================== ---- xorg-server.orig/hw/xfree86/parser/read.c 2007-09-16 20:14:26.000000000 -0400 -+++ xorg-server/hw/xfree86/parser/read.c 2007-09-16 20:15:29.000000000 -0400 +--- xorg-server.orig/hw/xfree86/parser/read.c 2007-09-20 21:41:34.000000000 -0400 ++++ xorg-server/hw/xfree86/parser/read.c 2007-09-20 21:41:57.000000000 -0400 @@ -80,8 +80,8 @@ static int xf86validateConfig (XF86ConfigPtr p) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]