Hello community,

here is the log from the commit of package xf86-video-neomagic for 
openSUSE:Factory checked in at 2012-09-15 17:30:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-video-neomagic (Old)
 and      /work/SRC/openSUSE:Factory/.xf86-video-neomagic.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xf86-video-neomagic", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-video-neomagic/xf86-video-neomagic.changes  
2012-06-01 22:33:00.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.xf86-video-neomagic.new/xf86-video-neomagic.changes 
    2012-09-15 17:30:26.000000000 +0200
@@ -1,0 +2,7 @@
+Sun Sep  2 21:25:07 UTC 2012 - [email protected]
+
+- Update to version 1.2.7:
+  + Fix build when XAA is unavailable.
+  + Port to new compat API.
+
+-------------------------------------------------------------------

Old:
----
  xf86-video-neomagic-1.2.6.tar.bz2

New:
----
  xf86-video-neomagic-1.2.7.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xf86-video-neomagic.spec ++++++
--- /var/tmp/diff_new_pack.2ymctt/_old  2012-09-15 17:30:27.000000000 +0200
+++ /var/tmp/diff_new_pack.2ymctt/_new  2012-09-15 17:30:27.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           xf86-video-neomagic
-Version:        1.2.6
+Version:        1.2.7
 Release:        0
 Summary:        Neomagic video driver for the Xorg X server
 License:        MIT
@@ -32,7 +32,7 @@
 BuildRequires:  pkgconfig(videoproto)
 BuildRequires:  pkgconfig(xextproto)
 BuildRequires:  pkgconfig(xf86dgaproto)
-BuildRequires:  pkgconfig(xorg-macros) >= 1.3
+BuildRequires:  pkgconfig(xorg-macros) >= 1.8
 BuildRequires:  pkgconfig(xorg-server) >= 1.0.99.901
 BuildRequires:  pkgconfig(xproto)
 Supplements:    xorg-x11-server

++++++ xf86-video-neomagic-1.2.6.tar.bz2 -> xf86-video-neomagic-1.2.7.tar.bz2 
++++++
++++ 26451 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/ChangeLog new/xf86-video-neomagic-1.2.7/ChangeLog
--- old/xf86-video-neomagic-1.2.6/ChangeLog     2012-03-24 03:10:42.000000000 
+0100
+++ new/xf86-video-neomagic-1.2.7/ChangeLog     2012-07-17 08:24:00.000000000 
+0200
@@ -1,3 +1,37 @@
+commit 7a10cbda5a0a9ae31e33c5cc77c6b1bda8cae852
+Author: Dave Airlie <[email protected]>
+Date:   Tue Jul 17 16:05:09 2012 +1000
+
+    xf86-video-neomagic: bump to version 1.2.7
+    
+    Signed-off-by: Dave Airlie <[email protected]>
+
+commit 808aa999ad78ccc3384d08d501d43688795bee5e
+Author: Dave Airlie <[email protected]>
+Date:   Mon Jul 16 03:29:55 2012 +0100
+
+    neomagic: fix build when XAA is unavailable.
+    
+    Signed-off-by: Dave Airlie <[email protected]>
+
+commit 9b33cc9fe94d97c8b954a3614ead34622d293bc3
+Author: Dave Airlie <[email protected]>
+Date:   Wed Jun 6 12:21:55 2012 +0100
+
+    neomagic: port to new compat API.
+    
+    Signed-off-by: Dave Airlie <[email protected]>
+
+commit 3b06ee079494b0d08913a9f724c3661f9ac35907
+Author: Adam Jackson <[email protected]>
+Date:   Wed Apr 18 10:50:28 2012 -0400
+
+    Use DamageRegion for shadow damage
+    
+    The 'damage' member is an ancient compatibility hack I want to destroy.
+    
+    Signed-off-by: Adam Jackson <[email protected]>
+
 commit 25c7bb8b063777f31db678db743191265f17e7be
 Author: Alan Coopersmith <[email protected]>
 Date:   Fri Mar 23 19:08:03 2012 -0700
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/config.h.in 
new/xf86-video-neomagic-1.2.7/config.h.in
--- old/xf86-video-neomagic-1.2.6/config.h.in   2012-03-24 03:08:39.000000000 
+0100
+++ new/xf86-video-neomagic-1.2.7/config.h.in   2012-07-17 08:24:00.000000000 
+0200
@@ -35,6 +35,9 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the <xaa.h> header file. */
+#undef HAVE_XAA_H
+
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
    */
 #undef LT_OBJDIR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/configure.ac 
new/xf86-video-neomagic-1.2.7/configure.ac
--- old/xf86-video-neomagic-1.2.6/configure.ac  2012-03-24 03:08:31.000000000 
+0100
+++ new/xf86-video-neomagic-1.2.7/configure.ac  2012-07-17 08:00:16.000000000 
+0200
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-neomagic],
-        [1.2.6],
+        [1.2.7],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-neomagic])
 AC_CONFIG_SRCDIR([Makefile.am])
@@ -80,6 +80,23 @@
              [#include "xorg-server.h"])
 CPPFLAGS="$SAVE_CPPFLAGS"
 
+AC_ARG_ENABLE(xaa,
+              AS_HELP_STRING([--enable-xaa],
+                             [Enable legacy X Acceleration Architecture (XAA) 
[default=auto]]),
+              [XAA="$enableval"],
+              [XAA=auto])
+if test "x$XAA" != xno; then
+        save_CFLAGS=$CFLAGS
+        save_CPPFLAGS=$CPPFLAGS
+        CFLAGS=$XORG_CFLAGS
+        CPPFLAGS="$XORG_CFLAGS"
+        AC_CHECK_HEADERS([xaa.h], XAA=yes, XAA=no)
+        CFLAGS=$save_CFLAGS
+        CPPFLAGS=$save_CPPFLAGS
+fi
+AC_MSG_CHECKING([whether to include XAA support])
+AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
+AC_MSG_RESULT([$XAA])
 
 if test "x$XSERVER_LIBPCIACCESS" = xyes; then
     PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/missing new/xf86-video-neomagic-1.2.7/missing
--- old/xf86-video-neomagic-1.2.6/missing       2012-03-24 03:08:40.000000000 
+0100
+++ new/xf86-video-neomagic-1.2.7/missing       2012-06-06 13:03:41.000000000 
+0200
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-01-06.13; # UTC
 
 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
+# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <[email protected]>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -84,7 +84,6 @@
   help2man     touch the output file
   lex          create \`lex.yy.c', if possible, from existing .c
   makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
 
 Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
@@ -122,15 +121,6 @@
     # Not GNU programs, they don't have --version.
     ;;
 
-  tar*)
-    if test -n "$run"; then
-       echo 1>&2 "ERROR: \`tar' requires --run"
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       exit 1
-    fi
-    ;;
-
   *)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
        # We have it, but it failed.
@@ -226,7 +216,7 @@
          \`Bison' from any GNU archive site."
     rm -f y.tab.c y.tab.h
     if test $# -ne 1; then
-        eval LASTARG="\${$#}"
+        eval LASTARG=\${$#}
        case $LASTARG in
        *.y)
            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
@@ -256,7 +246,7 @@
          \`Flex' from any GNU archive site."
     rm -f lex.yy.c
     if test $# -ne 1; then
-        eval LASTARG="\${$#}"
+        eval LASTARG=\${$#}
        case $LASTARG in
        *.l)
            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
@@ -318,41 +308,6 @@
     touch $file
     ;;
 
-  tar*)
-    shift
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-       case $firstarg in
-       *o*)
-           firstarg=`echo "$firstarg" | sed s/o//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-       case $firstarg in
-       *h*)
-           firstarg=`echo "$firstarg" | sed s/h//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
   *)
     echo 1>&2 "\
 WARNING: \`$1' is needed, and is $msg.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/Makefile.am 
new/xf86-video-neomagic-1.2.7/src/Makefile.am
--- old/xf86-video-neomagic-1.2.6/src/Makefile.am       2012-03-24 
03:08:31.000000000 +0100
+++ new/xf86-video-neomagic-1.2.7/src/Makefile.am       2012-06-06 
13:04:45.000000000 +0200
@@ -43,4 +43,5 @@
          neo_shadow.c \
          neo_video.c \
          neo_video.h \
-        neo_pcirename.h
+        neo_pcirename.h \
+         compat-api.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/compat-api.h 
new/xf86-video-neomagic-1.2.7/src/compat-api.h
--- old/xf86-video-neomagic-1.2.6/src/compat-api.h      1970-01-01 
01:00:00.000000000 +0100
+++ new/xf86-video-neomagic-1.2.7/src/compat-api.h      2012-06-06 
13:05:24.000000000 +0200
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2012 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Author: Dave Airlie <[email protected]>
+ */
+
+/* this file provides API compat between server post 1.13 and pre it,
+   it should be reused inside as many drivers as possible */
+#ifndef COMPAT_API_H
+#define COMPAT_API_H
+
+#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
+#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
+#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
+#endif
+
+#ifndef XF86_HAS_SCRN_CONV
+#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
+#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
+#endif
+
+#ifndef XF86_SCRN_INTERFACE
+
+#define SCRN_ARG_TYPE int
+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
+
+#define SCREEN_ARG_TYPE int
+#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
+
+#define SCREEN_INIT_ARGS_DECL int i, ScreenPtr pScreen, int argc, char **argv
+
+#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, 
pointer pReadmask
+#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
+
+#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
+#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
+
+#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
+#define ADJUST_FRAME_ARGS(arg, x, y) (arg)->scrnIndex, x, y, 0
+
+#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
+#define SWITCH_MODE_ARGS(arg, m) (arg)->scrnIndex, m, 0
+
+#define FREE_SCREEN_ARGS_DECL int arg, int flags
+
+#define VT_FUNC_ARGS_DECL int arg, int flags
+#define VT_FUNC_ARGS pScrn->scrnIndex, 0
+
+#define XF86_SCRN_ARG(x) ((x)->scrnIndex)
+#else
+#define SCRN_ARG_TYPE ScrnInfoPtr
+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
+
+#define SCREEN_ARG_TYPE ScreenPtr
+#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
+
+#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
+
+#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer 
pReadmask
+#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
+
+#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
+#define CLOSE_SCREEN_ARGS pScreen
+
+#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
+#define ADJUST_FRAME_ARGS(arg, x, y) arg, x, y
+
+#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
+#define SWITCH_MODE_ARGS(arg, m) arg, m
+
+#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
+
+#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
+#define VT_FUNC_ARGS pScrn
+
+#define XF86_SCRN_ARG(x) (x)
+
+#endif
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/neo.h new/xf86-video-neomagic-1.2.7/src/neo.h
--- old/xf86-video-neomagic-1.2.6/src/neo.h     2012-03-24 03:08:31.000000000 
+0100
+++ new/xf86-video-neomagic-1.2.7/src/neo.h     2012-07-16 04:29:25.000000000 
+0200
@@ -46,8 +46,11 @@
 /* Everything using inb/outb, etc needs "compiler.h" */
 #include "compiler.h"
 
+#ifdef HAVE_XAA_H
 #include "xaa.h"
 #include "xaalocal.h"          /* XAA internals as we replace some of XAA */
+#endif
+#include "xf86fbman.h"
 #include "xf86Cursor.h"
 
 #include "shadowfb.h"
@@ -71,6 +74,7 @@
 #include "neo_reg.h"
 #include "neo_macros.h"
 
+#include "compat-api.h"
 /* Supported chipsets */
 typedef enum {
     NM2070,
@@ -86,8 +90,8 @@
 
 /* function prototypes */
 
-extern Bool NEOSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
-extern void NEOAdjustFrame(int scrnIndex, int x, int y, int flags);
+extern Bool NEOSwitchMode(SWITCH_MODE_ARGS_DECL);
+extern void NEOAdjustFrame(ADJUST_FRAME_ARGS_DECL);
 
 /* in neo_2070.c */
 extern Bool Neo2070AccelInit(ScreenPtr pScreen);
@@ -111,7 +115,7 @@
 
 /* in neo_shadow.c */
 void neoShadowUpdate (ScreenPtr pScreen, shadowBufPtr pBuf);
-void neoPointerMoved(int index, int x, int y);
+void neoPointerMoved(SCRN_ARG_TYPE arg, int x, int y);
 void neoRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
 void neoRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
 void neoRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox);
@@ -201,7 +205,9 @@
     PCITAG      PciTag;
 #endif
     EntityInfoPtr pEnt;
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr      AccelInfoRec;
+#endif
     NEOACLRec Accel;
     unsigned long NeoMMIOAddr;
     unsigned long NeoLinearAddr;
@@ -256,7 +262,7 @@
     unsigned char * ShadowPtr;
     int ShadowPitch;
     RefreshAreaFuncPtr refreshArea;
-    void       (*PointerMoved)(int index, int x, int y);
+    void       (*PointerMoved)(SCRN_ARG_TYPE arg, int x, int y);
     int rotate;
     Bool showcache;
     Bool video;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/neo_2070.c 
new/xf86-video-neomagic-1.2.7/src/neo_2070.c
--- old/xf86-video-neomagic-1.2.6/src/neo_2070.c        2012-03-24 
03:08:31.000000000 +0100
+++ new/xf86-video-neomagic-1.2.7/src/neo_2070.c        2012-07-16 
04:22:58.000000000 +0200
@@ -52,6 +52,7 @@
 #include "neo_reg.h"
 #include "neo_macros.h"
 
+#ifdef HAVE_XAA_H
 /* Memory Mapped I/O for BitBlt */
 #define NEO2070_BLTSTAT                0x00
 #define NEO2070_BLTCNTL                0x04
@@ -99,11 +100,14 @@
 static void Neo2070SubsequentSolidFillRect(ScrnInfoPtr pScrn, int x, int y,
                                           int w, int h);
 
+#endif
+
 Bool 
 Neo2070AccelInit(ScreenPtr pScreen)
 {
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr infoPtr;
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     NEOPtr nPtr = NEOPTR(pScrn);
     NEOACLPtr nAcl = NEOACLPTR(pScrn);
 
@@ -160,9 +164,12 @@
     }
     
     return(XAAInit(pScreen, infoPtr));
-
+#else
+    return FALSE;
+#endif
 }
 
+#ifdef HAVE_XAA_H
 static void
 Neo2070Sync(ScrnInfoPtr pScrn)
 {
@@ -260,8 +267,5 @@
     OUTREG(NEO2070_XYEXT, ((h-1)<<16) | ((w-1) & 0xffff));
     OUTREG(NEO2070_DSTSTART, (y * nAcl->Pitch) + (x * nAcl->PixelWidth));
 }
-
-
-
-
+#endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/neo_2090.c 
new/xf86-video-neomagic-1.2.7/src/neo_2090.c
--- old/xf86-video-neomagic-1.2.6/src/neo_2090.c        2012-03-24 
03:08:31.000000000 +0100
+++ new/xf86-video-neomagic-1.2.7/src/neo_2090.c        2012-07-16 
04:24:09.000000000 +0200
@@ -53,6 +53,7 @@
 #include "neo_reg.h"
 #include "neo_macros.h"
 
+#ifdef HAVE_XAA_H
 static unsigned int neo2090Rop[16] = {
     0x000000,    /* 0x0000 - GXclear         */
     0x080000,    /* 0x1000 - GXand           */
@@ -95,12 +96,13 @@
                                                        int w, int h,
                                                        int skipleft);
 static void Neo2093SubsequentColorExpandScanline(ScrnInfoPtr pScrn, int bufno);
-
+#endif
 Bool 
 Neo2090AccelInit(ScreenPtr pScreen)
 {
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr infoPtr;
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     NEOPtr nPtr = NEOPTR(pScrn);
     NEOACLPtr nAcl = NEOACLPTR(pScrn);
 
@@ -198,8 +200,12 @@
     nAcl->BltCntlFlags |= NEO_BC3_FIFO_EN;
 
     return(XAAInit(pScreen, infoPtr));
+#else
+    return FALSE;
+#endif
 }
 
+#ifdef HAVE_XAA_H
 static void
 Neo2090Sync(ScrnInfoPtr pScrn)
 {
@@ -363,6 +369,4 @@
     OUTREG(NEOREG_XYEXT, (1<<16)
           | (nAcl->CPUToScreenColorExpandFill_w & 0xffff));
 }
-
-
-
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/neo_2097.c 
new/xf86-video-neomagic-1.2.7/src/neo_2097.c
--- old/xf86-video-neomagic-1.2.6/src/neo_2097.c        2012-03-24 
03:08:31.000000000 +0100
+++ new/xf86-video-neomagic-1.2.7/src/neo_2097.c        2012-07-16 
04:24:54.000000000 +0200
@@ -56,6 +56,7 @@
 #include "neo_reg.h"
 #include "neo_macros.h"
 
+#ifdef HAVE_XAA_H
 static void Neo2097Sync(ScrnInfoPtr pScrn);
 static void Neo2097SetupForScreenToScreenCopy(ScrnInfoPtr pScrn, int xdir,
                                              int ydir, int rop,
@@ -118,13 +119,14 @@
     0x070000,    /* 0x0111 - GXnand          */
     0x0f0000     /* 0x1111 - GXset           */
 };
-
+#endif
 
 Bool 
 Neo2097AccelInit(ScreenPtr pScreen)
 {
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr infoPtr;
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     NEOPtr nPtr = NEOPTR(pScrn);
     NEOACLPtr nAcl = NEOACLPTR(pScrn);
 
@@ -249,8 +251,12 @@
     }
     
     return(XAAInit(pScreen, infoPtr));
+#else
+    return FALSE;
+#endif
 }
 
+#ifdef HAVE_XAA_H
 static void
 Neo2097Sync(ScrnInfoPtr pScrn)
 {
@@ -544,3 +550,4 @@
 ){
     /* should I be checking for fifo slots here ? */
 }
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/neo_2200.c 
new/xf86-video-neomagic-1.2.7/src/neo_2200.c
--- old/xf86-video-neomagic-1.2.6/src/neo_2200.c        2012-03-24 
03:08:31.000000000 +0100
+++ new/xf86-video-neomagic-1.2.7/src/neo_2200.c        2012-07-16 
04:26:55.000000000 +0200
@@ -51,6 +51,7 @@
 #include "neo_reg.h"
 #include "neo_macros.h"
 
+#ifdef HAVE_XAA_H
 static void Neo2200Sync(ScrnInfoPtr pScrn);
 static void Neo2200SetupForScreenToScreenCopy(ScrnInfoPtr pScrn, int xdir,
                                              int ydir, int rop,
@@ -115,11 +116,13 @@
     0x0f0000     /* 0x1111 - GXset           */
 };
 
+#endif
 Bool 
 Neo2200AccelInit(ScreenPtr pScreen)
 {
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr infoPtr;
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     NEOPtr nPtr = NEOPTR(pScrn);
     NEOACLPtr nAcl = NEOACLPTR(pScrn);
 
@@ -254,8 +257,12 @@
     }
 
     return(XAAInit(pScreen, infoPtr));
+#else
+    return FALSE;
+#endif
 }
 
+#ifdef HAVE_XAA_H
 static void
 Neo2200Sync(ScrnInfoPtr pScrn)
 {
@@ -647,3 +654,4 @@
     OUTREG(NEOREG_XYEXT, (h<<16) | (w & 0xffff));
 }
 #endif
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/neo_cursor.c 
new/xf86-video-neomagic-1.2.7/src/neo_cursor.c
--- old/xf86-video-neomagic-1.2.6/src/neo_cursor.c      2012-03-24 
03:08:31.000000000 +0100
+++ new/xf86-video-neomagic-1.2.7/src/neo_cursor.c      2012-06-06 
13:05:24.000000000 +0200
@@ -243,7 +243,7 @@
 static Bool
 neoUseHWCursor(ScreenPtr pScr, CursorPtr pCurs)
 {
-    NEOACLPtr nAcl = NEOACLPTR(xf86Screens[pScr->myNum]);
+    NEOACLPtr nAcl = NEOACLPTR(xf86ScreenToScrn(pScr));
 
     return(nAcl->UseHWCursor && !nAcl->NoCursorMode);
 }
@@ -291,7 +291,7 @@
 Bool
 NeoCursorInit(ScreenPtr pScreen)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     NEOPtr nPtr = NEOPTR(pScrn);
     xf86CursorInfoPtr infoPtr;
     infoPtr = xf86CreateCursorInfoRec();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/neo_dga.c 
new/xf86-video-neomagic-1.2.7/src/neo_dga.c
--- old/xf86-video-neomagic-1.2.6/src/neo_dga.c 2012-03-24 03:08:31.000000000 
+0100
+++ new/xf86-video-neomagic-1.2.7/src/neo_dga.c 2012-07-16 04:28:46.000000000 
+0200
@@ -30,8 +30,6 @@
 #include "xf86_OSproc.h"
 #include "xf86Pci.h"
 #include "xf86PciInfo.h"
-#include "xaa.h"
-#include "xaalocal.h"
 #include "neo.h"
 #include "neo_reg.h"
 #include "dgaproc.h"
@@ -43,12 +41,14 @@
 static void NEO_Sync(ScrnInfoPtr);
 static int  NEO_GetViewport(ScrnInfoPtr);
 static void NEO_SetViewport(ScrnInfoPtr, int, int, int);
+#ifdef HAVE_XAA_H
 static void NEO_FillRect(ScrnInfoPtr, int, int, int, int, unsigned long);
 static void NEO_BlitRect(ScrnInfoPtr, int, int, int, int, int, int);
 #if 0
 static void NEO_BlitTransRect(ScrnInfoPtr, int, int, int, int, int, int, 
                                        unsigned long);
 #endif
+#endif
 
 static
 DGAFunctionRec NEODGAFuncs = {
@@ -58,6 +58,7 @@
    NEO_SetViewport,
    NEO_GetViewport,
    NEO_Sync,
+#ifdef HAVE_XAA_H
    NEO_FillRect,
    NEO_BlitRect,
 #if 0
@@ -65,12 +66,15 @@
 #else
    NULL
 #endif
+#else
+   NULL, NULL, NULL
+#endif
 };
 
 Bool
 NEODGAInit(ScreenPtr pScreen)
 {   
-   ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+   ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
    NEOPtr pNEO = NEOPTR(pScrn);
    DGAModePtr modes = NULL, newmodes = NULL, currentMode;
    DisplayModePtr pMode, firstMode;
@@ -99,8 +103,10 @@
 
        currentMode->mode = pMode;
        currentMode->flags = DGA_CONCURRENT_ACCESS | DGA_PIXMAP_AVAILABLE;
+#ifdef HAVE_XAA_H
        if (!pNEO->noAccel)
            currentMode->flags |= (DGA_FILL_RECT | DGA_BLIT_RECT);
+#endif
        if(pMode->Flags & V_DBLSCAN)
           currentMode->flags |= DGA_DOUBLESCAN;
        if(pMode->Flags & V_INTERLACE)
@@ -155,8 +161,8 @@
    if(!pMode) { /* restore the original mode */
        if(pNEO->DGAactive) {   
            pScrn->currentMode = NEOSavedDGAModes[index];
-            NEOSwitchMode(index, pScrn->currentMode, 0);
-           NEOAdjustFrame(index, 0, 0, 0);
+            NEOSwitchMode(SWITCH_MODE_ARGS(pScrn, pScrn->currentMode));
+           NEOAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0));
            pNEO->DGAactive = FALSE;
        }
    } else {
@@ -165,7 +171,7 @@
            pNEO->DGAactive = TRUE;
        }
 
-        NEOSwitchMode(index, pMode->mode, 0);
+        NEOSwitchMode(SWITCH_MODE_ARGS(pScrn, pMode->mode));
    }
    
    return TRUE;
@@ -189,7 +195,7 @@
    NEOPtr pNEO = NEOPTR(pScrn);
    vgaHWPtr hwp = VGAHWPTR(pScrn);
    
-   NEOAdjustFrame(pScrn->pScreen->myNum, x, y, flags);
+   NEOAdjustFrame(ADJUST_FRAME_ARGS(pScrn, x, y));
    /* wait for retrace */
    while((hwp->readST01(hwp) & 0x08));
    while(!(hwp->readST01(hwp) & 0x08));
@@ -197,6 +203,7 @@
    pNEO->DGAViewportStatus = 0;  
 }
 
+#ifdef HAVE_XAA_H
 static void 
 NEO_FillRect (
    ScrnInfoPtr pScrn, 
@@ -212,15 +219,17 @@
     }
 }
 
+
 static void 
 NEO_Sync(
    ScrnInfoPtr pScrn
 ){
     NEOPtr pNEO = NEOPTR(pScrn);
-
+#ifdef HAVE_XAA_H
     if(pNEO->AccelInfoRec) {
        (*pNEO->AccelInfoRec->Sync)(pScrn);
     }
+#endif
 }
 
 static void 
@@ -257,7 +266,7 @@
      prohibit usage of ~0 as the key */
 }
 #endif
-
+#endif
 static Bool 
 NEO_OpenFramebuffer(
    ScrnInfoPtr pScrn, 
@@ -277,3 +286,4 @@
 
     return TRUE;
 }
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/neo_driver.c 
new/xf86-video-neomagic-1.2.7/src/neo_driver.c
--- old/xf86-video-neomagic-1.2.6/src/neo_driver.c      2012-03-24 
03:08:31.000000000 +0100
+++ new/xf86-video-neomagic-1.2.7/src/neo_driver.c      2012-07-16 
04:29:43.000000000 +0200
@@ -115,13 +115,12 @@
 static void     NEOIdentify(int flags);
 static Bool     NEOProbe(DriverPtr drv, int flags);
 static Bool     NEOPreInit(ScrnInfoPtr pScrn, int flags);
-static Bool     NEOScreenInit(int Index, ScreenPtr pScreen, int argc,
-                                  char **argv);
-static Bool     NEOEnterVT(int scrnIndex, int flags);
-static void     NEOLeaveVT(int scrnIndex, int flags);
-static Bool     NEOCloseScreen(int scrnIndex, ScreenPtr pScreen);
-static void     NEOFreeScreen(int scrnIndex, int flags);
-static ModeStatus NEOValidMode(int scrnIndex, DisplayModePtr mode,
+static Bool     NEOScreenInit(SCREEN_INIT_ARGS_DECL);
+static Bool     NEOEnterVT(VT_FUNC_ARGS_DECL);
+static void     NEOLeaveVT(VT_FUNC_ARGS_DECL);
+static Bool     NEOCloseScreen(CLOSE_SCREEN_ARGS_DECL);
+static void     NEOFreeScreen(FREE_SCREEN_ARGS_DECL);
+static ModeStatus NEOValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode,
                                Bool verbose, int flags);
 
 /* Internally used functions */
@@ -137,7 +136,7 @@
 static void     neoProgramShadowRegs(ScrnInfoPtr pScrn, vgaRegPtr VgaReg,
                                     NeoRegPtr restore);
 static void     neoCalcVCLK(ScrnInfoPtr pScrn, long freq);
-static xf86MonPtr  neo_ddc1(int scrnIndex);
+static xf86MonPtr  neo_ddc1(ScrnInfoPtr pScrn);
 static Bool     neoDoDDC1(ScrnInfoPtr pScrn);
 static Bool     neoDoDDC2(ScrnInfoPtr pScrn);
 static Bool     neoDoDDCVBE(ScrnInfoPtr pScrn);
@@ -1337,9 +1336,9 @@
 
 /* Mandatory */
 static Bool
-NEOEnterVT(int scrnIndex, int flags)
+NEOEnterVT(VT_FUNC_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+    SCRN_INFO_PTR(arg);
     NEOPtr nPtr = NEOPTR(pScrn);
     
     /* Should we re-save the text mode on each VT enter? */
@@ -1351,16 +1350,16 @@
 
     if (nPtr->NeoHWCursorShown) 
        NeoShowCursor(pScrn);
-    NEOAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);    
+    NEOAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
 
     return TRUE;
 }
 
 /* Mandatory */
 static void
-NEOLeaveVT(int scrnIndex, int flags)
+NEOLeaveVT(VT_FUNC_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+    SCRN_INFO_PTR(arg);
     NEOPtr nPtr = NEOPTR(pScrn);
    
     /* Invalidate the cached acceleration registers */
@@ -1410,7 +1409,7 @@
 
 /* Mandatory */
 static Bool
-NEOScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+NEOScreenInit(SCREEN_INIT_ARGS_DECL)
 {
     ScrnInfoPtr pScrn;
     vgaHWPtr hwp;
@@ -1429,7 +1428,7 @@
      * we need to get the ScrnInfoRec for this screen, so let's allocate
      * one first thing
      */
-    pScrn = xf86Screens[pScreen->myNum];
+    pScrn = xf86ScreenToScrn(pScreen);
     nPtr = NEOPTR(pScrn);
     nAcl = NEOACLPTR(pScrn);
 
@@ -1451,7 +1450,7 @@
     if (!neoModeInit(pScrn,pScrn->currentMode))
        return FALSE;
     vgaHWSaveScreen(pScreen,SCREEN_SAVER_ON);
-    NEOAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+    NEOAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
 
     /*
      * Reset visual list.
@@ -1533,11 +1532,11 @@
     freespace = allocatebase - pScrn->displayWidth *
         pScrn->virtualY * (pScrn->bitsPerPixel >> 3);
     currentaddr = allocatebase;
-    xf86DrvMsg(scrnIndex, X_PROBED,
+    xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
                "%d bytes off-screen memory available\n", freespace);
 
     if (nPtr->swCursor || !nPtr->NeoMMIOBase) {
-        xf86DrvMsg(scrnIndex, X_CONFIG,
+        xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
                    "Using Software Cursor.\n");
     } else if (nPtr->NeoCursorMem <= freespace) {
         currentaddr -= nPtr->NeoCursorMem;
@@ -1546,10 +1545,10 @@
         freespace  -= currentaddr & 0x3FF;
         currentaddr &= 0xfffffc00;
         nAcl->CursorAddress = currentaddr;
-        xf86DrvMsg(scrnIndex, X_INFO,
+        xf86DrvMsg(pScrn->scrnIndex, X_INFO,
                    "Using H/W Cursor.\n"); 
     } else {
-        xf86DrvMsg(scrnIndex, X_ERROR,
+        xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
                    "Too little space for H/W cursor.\n");
     }
     
@@ -1596,7 +1595,7 @@
     if (!nPtr->noAccel && nPtr->NeoMMIOBase) {
         Bool ret = FALSE;
         if (nAcl->cacheStart >= nAcl->cacheEnd) {
-            xf86DrvMsg(scrnIndex, X_ERROR,
+            xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
                        "Too little space for pixmap cache.\n");
         }          
         switch(nPtr->NeoChipset) {
@@ -1632,7 +1631,7 @@
     if (nAcl->CursorAddress != -1) {
       /* HW cursor functions */
       if (!NeoCursorInit(pScreen)) {
-       xf86DrvMsg(scrnIndex, X_ERROR,
+       xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
                   "Hardware cursor initialization failed\n");
        return FALSE;
       }
@@ -1706,22 +1705,22 @@
 
 /* Mandatory */
 Bool
-NEOSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
+NEOSwitchMode(SWITCH_MODE_ARGS_DECL)
 {
-    return neoModeInit(xf86Screens[scrnIndex], mode);
+    SCRN_INFO_PTR(arg);
+    return neoModeInit(pScrn, mode);
 }
 
 /* Mandatory */
 void
-NEOAdjustFrame(int scrnIndex, int x, int y, int flags)
+NEOAdjustFrame(ADJUST_FRAME_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn;
+    SCRN_INFO_PTR(arg);
     NEOPtr nPtr;
     vgaHWPtr hwp;
     int oldExtCRTDispAddr;
     int Base; 
 
-    pScrn = xf86Screens[scrnIndex];
     hwp = VGAHWPTR(pScrn);
     nPtr = NEOPTR(pScrn);
 
@@ -1776,9 +1775,9 @@
 
 /* Mandatory */
 static Bool
-NEOCloseScreen(int scrnIndex, ScreenPtr pScreen)
+NEOCloseScreen(CLOSE_SCREEN_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     NEOPtr nPtr = NEOPTR(pScrn);
 
     if(pScrn->vtSema){
@@ -1789,8 +1788,10 @@
        neoLock(pScrn);
        neoUnmapMem(pScrn);
     }
+#ifdef HAVE_XAA_H
     if (nPtr->AccelInfoRec)
        XAADestroyInfoRec(nPtr->AccelInfoRec);
+#endif
     if (nPtr->CursorInfo)
        xf86DestroyCursorInfoRec(nPtr->CursorInfo);
     if (nPtr->ShadowPtr)
@@ -1798,23 +1799,24 @@
 
     pScrn->vtSema = FALSE;
     pScreen->CloseScreen = nPtr->CloseScreen;
-    return (*pScreen->CloseScreen)(scrnIndex, pScreen);
+    return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
 }
 
 /* Optional */
 static void
-NEOFreeScreen(int scrnIndex, int flags)
+NEOFreeScreen(FREE_SCREEN_ARGS_DECL)
 {
+    SCRN_INFO_PTR(arg);    
     if (xf86LoaderCheckSymbol("vgaHWFreeHWRec"))
-       vgaHWFreeHWRec(xf86Screens[scrnIndex]);
-    NEOFreeRec(xf86Screens[scrnIndex]);
+       vgaHWFreeHWRec(pScrn);
+    NEOFreeRec(pScrn);
 }
 
 /* Optional */
 static ModeStatus
-NEOValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags)
+NEOValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags)
 {
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+    SCRN_INFO_PTR(arg);
     NEOPtr nPtr = NEOPTR(pScrn);
     int vDisplay = mode->VDisplay * ((mode->Flags & V_DBLSCAN) ? 2 : 1);
     
@@ -1831,7 +1833,7 @@
      */
 
     if (nPtr->overrideValidate) {
-       xf86DrvMsg(scrnIndex, X_WARNING, "display mode validation disabled\n");
+       xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "display mode validation 
disabled\n");
     } else {
        /*
         * When the LCD is active, only allow modes that are (1) equal to
@@ -1842,7 +1844,7 @@
            /* Is the mode larger than the LCD panel? */
            if ((mode->HDisplay > nPtr->NeoPanelWidth) ||
                (vDisplay > nPtr->NeoPanelHeight)) {
-               xf86DrvMsg(scrnIndex,X_INFO, "Removing mode (%dx%d) "
+               xf86DrvMsg(pScrn->scrnIndex,X_INFO, "Removing mode (%dx%d) "
                           "larger than the LCD panel (%dx%d)\n",
                           mode->HDisplay,
                           mode->VDisplay,
@@ -1883,7 +1885,7 @@
                break;
            }
 
-           xf86DrvMsg(scrnIndex, X_INFO, "Removing mode (%dx%d) that won't "
+           xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Removing mode (%dx%d) that 
won't "
                       "display properly on LCD\n",
                       mode->HDisplay,
                       mode->VDisplay);
@@ -3017,9 +3019,9 @@
 }
 
 static xf86MonPtr
-neo_ddc1(int scrnIndex)
+neo_ddc1(ScrnInfoPtr pScrn)
 {
-    vgaHWPtr hwp = VGAHWPTR(xf86Screens[scrnIndex]);
+    vgaHWPtr hwp = VGAHWPTR(pScrn);
     unsigned int reg1, reg2, reg3;
     xf86MonPtr ret;
 
@@ -3030,7 +3032,7 @@
     VGAwCR(0x21,0x00);
     VGAwCR(0x1D,0x01);  /* some Voodoo */ 
     VGAwGR(0xA1,0x2F);
-    ret =  xf86DoEDID_DDC1(scrnIndex,vgaHWddc1SetSpeedWeak(),neo_ddc1Read);
+    ret =  
xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn),vgaHWddc1SetSpeedWeak(),neo_ddc1Read);
     /* undo initialization */
     VGAwCR(0x21,reg1);
     VGAwCR(0x1D,reg2);
@@ -3046,7 +3048,7 @@
 
     VGAwGR(0x09,0x26);
     ret = xf86SetDDCproperties(pScrn,
-                               xf86PrintEDID(neo_ddc1(pScrn->scrnIndex)));
+                               xf86PrintEDID(neo_ddc1(pScrn)));
     VGAwGR(0x09,0x00);
 
     return ret;
@@ -3063,7 +3065,7 @@
     if (xf86LoadSubModule(pScrn, "i2c")) {
        if (neo_I2CInit(pScrn)) {
            ret = xf86SetDDCproperties(pScrn,xf86PrintEDID(xf86DoEDID_DDC2(
-                                             pScrn->scrnIndex,nPtr->I2C)));
+                                          XF86_SCRN_ARG(pScrn),nPtr->I2C)));
        }
     }
     VGAwGR(0x09,0x00);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/neo_shadow.c 
new/xf86-video-neomagic-1.2.7/src/neo_shadow.c
--- old/xf86-video-neomagic-1.2.6/src/neo_shadow.c      2012-03-24 
03:08:31.000000000 +0100
+++ new/xf86-video-neomagic-1.2.7/src/neo_shadow.c      2012-06-06 
13:21:47.000000000 +0200
@@ -19,9 +19,9 @@
 void
 neoShadowUpdate (ScreenPtr pScreen, shadowBufPtr pBuf)
 {
-    RegionPtr damage = &pBuf->damage;
+    RegionPtr damage = DamageRegion(pBuf->pDamage);
     ScrnInfoPtr pScrn;
-    pScrn = xf86Screens[pScreen->myNum];
+    pScrn = xf86ScreenToScrn(pScreen);
     
     (NEOPTR(pScrn))->refreshArea (pScrn, REGION_NUM_RECTS(damage), 
                                      REGION_RECTS(damage));
@@ -55,9 +55,9 @@
 } 
 
 void
-neoPointerMoved(int index, int x, int y)
+neoPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
 {
-    ScrnInfoPtr pScrn = xf86Screens[index];
+    SCRN_INFO_PTR(arg);
     NEOPtr nPtr = NEOPTR(pScrn);
     int newX, newY;
 
@@ -69,7 +69,7 @@
        newY = pScrn->pScreen->width - x - 1;
     }
 
-    (*nPtr->PointerMoved)(index, newX, newY);
+    (*nPtr->PointerMoved)(arg, newX, newY);
 }
 
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xf86-video-neomagic-1.2.6/src/neo_video.c 
new/xf86-video-neomagic-1.2.7/src/neo_video.c
--- old/xf86-video-neomagic-1.2.6/src/neo_video.c       2012-03-24 
03:08:31.000000000 +0100
+++ new/xf86-video-neomagic-1.2.7/src/neo_video.c       2012-07-16 
04:29:51.000000000 +0200
@@ -38,8 +38,6 @@
 #define MAKE_ATOM(a)   MakeAtom(a, sizeof(a) - 1, TRUE)
 
 #include "dixstruct.h"
-#include "xaa.h"
-#include "xaalocal.h"
 
 static XF86VideoAdaptorPtr NEOSetupVideo(ScreenPtr);
 
@@ -78,7 +76,7 @@
 void
 NEOInitVideo(ScreenPtr pScreen)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     NEOPtr nPtr = NEOPTR(pScrn);
     XF86VideoAdaptorPtr *overlayAdaptors, *newAdaptors = NULL;
     XF86VideoAdaptorPtr newAdaptor = NULL;
@@ -202,7 +200,7 @@
 static XF86VideoAdaptorPtr
 NEOSetupVideo(ScreenPtr pScreen)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     NEOPtr nPtr = NEOPTR(pScrn);
     NEOPortPtr pPriv;
     XF86VideoAdaptorPtr overlayAdaptor;
@@ -916,7 +914,7 @@
     XF86OffscreenImagePtr offscreenImages;
 
 #ifdef DEBUG
-    
xf86DrvMsg(xf86Screens[pScreen->myNum]->scrnIndex,X_INFO,"NEOInitOffscreenImages\n");
+    
xf86DrvMsg(xf86ScreenToScrn(pScreen)->scrnIndex,X_INFO,"NEOInitOffscreenImages\n");
 #endif
     if ((offscreenImages = malloc(sizeof(XF86OffscreenImageRec))) == NULL){
        return;
@@ -968,7 +966,7 @@
     }
 
 
-    pScreen = screenInfo.screens[pScrn->scrnIndex];
+    pScreen = xf86ScrnToScreen(pScrn);
     if ((new_linear = xf86AllocateOffscreenLinear(pScreen, size, 16, NULL,
                                                  NULL, NULL)) == NULL){
        int max_size;

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to