summaryrefslogtreecommitdiff
path: root/extra/xf86-video-neomagic
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-03-22 00:01:28 +0000
committerroot <root@rshg054.dnsready.net>2012-03-22 00:01:28 +0000
commit39e662ccfbe62ae77d458159d192816171a22f43 (patch)
tree2484a55934cd77dd33597ab2f214de5b7326cf69 /extra/xf86-video-neomagic
parenta3108a9a809c496e1f6a0e9caf0acebac3889bfb (diff)
Thu Mar 22 00:01:28 UTC 2012
Diffstat (limited to 'extra/xf86-video-neomagic')
-rw-r--r--extra/xf86-video-neomagic/PKGBUILD11
-rw-r--r--extra/xf86-video-neomagic/git-fixes.diff616
2 files changed, 623 insertions, 4 deletions
diff --git a/extra/xf86-video-neomagic/PKGBUILD b/extra/xf86-video-neomagic/PKGBUILD
index 1fcad1c30..8eb28448c 100644
--- a/extra/xf86-video-neomagic/PKGBUILD
+++ b/extra/xf86-video-neomagic/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 153348 2012-03-12 20:53:43Z andyrtr $
+# $Id: PKGBUILD 153936 2012-03-20 20:20:11Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-neomagic
pkgver=1.2.5
-pkgrel=6
+pkgrel=7
pkgdesc="X.org neomagic video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
@@ -13,11 +13,14 @@ makedepends=('xorg-server-devel>=1.11.99.903' 'xf86dgaproto')
conflicts=('xorg-server<1.11.99.903')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('02c994e2eae191b50a8cd556e5b52d82725073b3')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ git-fixes.diff)
+sha1sums=('02c994e2eae191b50a8cd556e5b52d82725073b3'
+ '09a8b2d1b1bd1a2d8bfe7b03ba19947f4461e4b4')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i ${srcdir}/git-fixes.diff
./configure --prefix=/usr
make
}
diff --git a/extra/xf86-video-neomagic/git-fixes.diff b/extra/xf86-video-neomagic/git-fixes.diff
new file mode 100644
index 000000000..dafba0b2f
--- /dev/null
+++ b/extra/xf86-video-neomagic/git-fixes.diff
@@ -0,0 +1,616 @@
+From eba90ed039416fa5db1800ce695d2a970f43b0e0 Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Tue, 20 Jul 2010 20:15:29 +0000
+Subject: config: upgrade to util-macros 1.8 for additional man page support
+
+Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS
+The value of MAN_SUBST is the same for all X.Org packages.
+---
+diff --git a/configure.ac b/configure.ac
+index 38cba3a..a80955b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -34,10 +34,10 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
+
+ AM_MAINTAINER_MODE
+
+-# Require xorg-macros: XORG_DEFAULT_OPTIONS
++# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
+ m4_ifndef([XORG_MACROS_VERSION],
+- [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+-XORG_MACROS_VERSION(1.3)
++ [m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
++XORG_MACROS_VERSION(1.8)
+ XORG_DEFAULT_OPTIONS
+
+ # Checks for programs.
+diff --git a/man/Makefile.am b/man/Makefile.am
+index 8f2454b..b3688ce 100644
+--- a/man/Makefile.am
++++ b/man/Makefile.am
+@@ -31,25 +31,11 @@ EXTRA_DIST = @DRIVER_NAME@.man
+
+ CLEANFILES = $(driverman_DATA)
+
+-SED = sed
+-
+-# Strings to replace in man pages
+-XORGRELSTRING = @PACKAGE_STRING@
+- XORGMANNAME = X Version 11
+-
+-MAN_SUBSTS = \
+- -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+- -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+- -e 's|__xservername__|Xorg|g' \
+- -e 's|__xconfigfile__|xorg.conf|g' \
+- -e 's|__projectroot__|$(prefix)|g' \
+- -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
+- -e 's|__drivermansuffix__|$(DRIVER_MAN_SUFFIX)|g' \
+- -e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
+- -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
+- -e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g'
++
++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
++
+
+ SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
+
+ .man.$(DRIVER_MAN_SUFFIX):
+- sed $(MAN_SUBSTS) < $< > $@
++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+--
+cgit v0.9.0.2-2-gbebe
+From 9ad3e98825d45208ed2754f592527a05949f676d Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Tue, 20 Jul 2010 22:45:19 +0000
+Subject: config: update AC_PREREQ statement to 2.60
+
+Unrelated to the previous patches, the new value simply reflects
+the reality that the minimum level for autoconf to configure
+all x.org modules is 2.60 dated June 2006.
+
+ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz
+
+Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+---
+diff --git a/configure.ac b/configure.ac
+index a80955b..1c7ff1a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,7 +20,7 @@
+ #
+ # Process this file with autoconf to produce a configure script
+
+-AC_PREREQ(2.57)
++AC_PREREQ([2.60])
+ AC_INIT([xf86-video-neomagic],
+ 1.2.5,
+ [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+--
+cgit v0.9.0.2-2-gbebe
+From 788fa461f40c320c3b9a67ab9bc914e987eefd42 Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Tue, 20 Jul 2010 23:41:31 +0000
+Subject: config: remove AC_PROG_CC as it overrides AC_PROG_C_C99
+
+XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
+AC_PROG_C_C99. This sets gcc with -std=gnu99.
+If AC_PROG_CC macro is called afterwards, it resets CC to gcc.
+
+Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+---
+diff --git a/configure.ac b/configure.ac
+index 1c7ff1a..aa17100 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -43,7 +43,6 @@ XORG_DEFAULT_OPTIONS
+ # Checks for programs.
+ AC_DISABLE_STATIC
+ AC_PROG_LIBTOOL
+-AC_PROG_CC
+
+ AH_TOP([#include "xorg-server.h"])
+
+--
+cgit v0.9.0.2-2-gbebe
+From adb592292e40a5e5f032ca95f3371c6b77227c40 Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Wed, 21 Jul 2010 00:24:42 +0000
+Subject: config: remove unrequired AC_HEADER_STDC
+
+Autoconf says:
+"This macro is obsolescent, as current systems have conforming
+header files. New programs need not use this macro".
+
+Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+---
+diff --git a/configure.ac b/configure.ac
+index aa17100..30c0e86 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -79,8 +79,6 @@ AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
+ [#include "xorg-server.h"])
+ CPPFLAGS="$SAVE_CPPFLAGS"
+
+-# Checks for header files.
+-AC_HEADER_STDC
+
+ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
+ PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0])
+--
+cgit v0.9.0.2-2-gbebe
+From 5759eca769091518fd54e0d70193edc3c099e9bb Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Wed, 21 Jul 2010 01:44:57 +0000
+Subject: config: remove unrequired AC_SUBST([XORG_CFLAGS])
+
+This macro is called by PKG_CHECK_MODULES
+
+Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+---
+diff --git a/configure.ac b/configure.ac
+index 30c0e86..86f016f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -86,7 +86,6 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
+ fi
+ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+
+-AC_SUBST([XORG_CFLAGS])
+ AC_SUBST([moduledir])
+
+ DRIVER_NAME=neomagic
+--
+cgit v0.9.0.2-2-gbebe
+From bcfba240265ecd633fcba051591b6c50b9373a53 Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Wed, 21 Jul 2010 13:27:42 +0000
+Subject: config: complete AC_INIT m4 quoting
+
+Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+---
+diff --git a/configure.ac b/configure.ac
+index 86f016f..46cb0cc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,9 +22,9 @@
+
+ AC_PREREQ([2.60])
+ AC_INIT([xf86-video-neomagic],
+- 1.2.5,
++ [1.2.5],
+ [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+- xf86-video-neomagic)
++ [xf86-video-neomagic])
+
+ AC_CONFIG_SRCDIR([Makefile.am])
+ AM_CONFIG_HEADER([config.h])
+--
+cgit v0.9.0.2-2-gbebe
+From 2f60a6e4c3be390d4cf0648bdffbdbff67def7ee Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Wed, 21 Jul 2010 18:05:22 +0000
+Subject: config: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
+
+Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+---
+diff --git a/configure.ac b/configure.ac
+index 46cb0cc..7261ed5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,7 +27,7 @@ AC_INIT([xf86-video-neomagic],
+ [xf86-video-neomagic])
+
+ AC_CONFIG_SRCDIR([Makefile.am])
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_AUX_DIR(.)
+
+ AM_INIT_AUTOMAKE([foreign dist-bzip2])
+--
+cgit v0.9.0.2-2-gbebe
+From 8486ae164b462d50817b84340af13dccc26384ab Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Wed, 21 Jul 2010 18:37:41 +0000
+Subject: config: replace deprecated AC_HELP_STRING with AS_HELP_STRING
+
+Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+---
+diff --git a/configure.ac b/configure.ac
+index 7261ed5..1d0a3d3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -47,7 +47,7 @@ AC_PROG_LIBTOOL
+ AH_TOP([#include "xorg-server.h"])
+
+ AC_ARG_WITH(xorg-module-dir,
+- AC_HELP_STRING([--with-xorg-module-dir=DIR],
++ AS_HELP_STRING([--with-xorg-module-dir=DIR],
+ [Default xorg module directory [[default=$libdir/xorg/modules]]]),
+ [moduledir="$withval"],
+ [moduledir="$libdir/xorg/modules"])
+--
+cgit v0.9.0.2-2-gbebe
+From 5e0d301758b15fc1916dd0318f2a5549e3482ccf Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Wed, 21 Jul 2010 20:07:00 +0000
+Subject: config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES
+
+Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+---
+diff --git a/configure.ac b/configure.ac
+index 1d0a3d3..73dde93 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -91,8 +91,9 @@ AC_SUBST([moduledir])
+ DRIVER_NAME=neomagic
+ AC_SUBST([DRIVER_NAME])
+
+-AC_OUTPUT([
+- Makefile
+- src/Makefile
+- man/Makefile
++AC_CONFIG_FILES([
++ Makefile
++ src/Makefile
++ man/Makefile
+ ])
++AC_OUTPUT
+--
+cgit v0.9.0.2-2-gbebe
+From dd32df772bdf4462b816bfc2f98ccd18dbb4b930 Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Wed, 21 Jul 2010 20:49:04 +0000
+Subject: config: add comments for main statements
+
+---
+diff --git a/configure.ac b/configure.ac
+index 73dde93..befac41 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,18 +20,18 @@
+ #
+ # Process this file with autoconf to produce a configure script
+
++# Initialize Autoconf
+ AC_PREREQ([2.60])
+ AC_INIT([xf86-video-neomagic],
+ [1.2.5],
+ [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+ [xf86-video-neomagic])
+-
+ AC_CONFIG_SRCDIR([Makefile.am])
+ AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_AUX_DIR(.)
+
++# Initialize Automake
+ AM_INIT_AUTOMAKE([foreign dist-bzip2])
+-
+ AM_MAINTAINER_MODE
+
+ # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
+@@ -40,12 +40,13 @@ m4_ifndef([XORG_MACROS_VERSION],
+ XORG_MACROS_VERSION(1.8)
+ XORG_DEFAULT_OPTIONS
+
+-# Checks for programs.
++# Initialize libtool
+ AC_DISABLE_STATIC
+ AC_PROG_LIBTOOL
+
+ AH_TOP([#include "xorg-server.h"])
+
++# Define a configure option for an alternate module directory
+ AC_ARG_WITH(xorg-module-dir,
+ AS_HELP_STRING([--with-xorg-module-dir=DIR],
+ [Default xorg module directory [[default=$libdir/xorg/modules]]]),
+@@ -53,14 +54,14 @@ AC_ARG_WITH(xorg-module-dir,
+ [moduledir="$libdir/xorg/modules"])
+
+
+-# Checks for extensions
++# Store the list of server defined optional extensions in REQUIRED_MODULES
+ XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+ XORG_DRIVER_CHECK_EXT(RENDER, renderproto)
+ XORG_DRIVER_CHECK_EXT(XV, videoproto)
+ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
+ XORG_DRIVER_CHECK_EXT(XFreeXDGA, xf86dgaproto)
+
+-# Checks for pkg-config packages
++# Obtain compiler/linker options for the driver dependencies
+ PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES])
+
+ save_CFLAGS="$CFLAGS"
+--
+cgit v0.9.0.2-2-gbebe
+From a9d69f6d0ab4f66b954949cca016ee7b5b6f7adf Mon Sep 17 00:00:00 2001
+From: Jesse Adkins <jesserayadkins@gmail.com>
+Date: Tue, 28 Sep 2010 20:29:51 +0000
+Subject: Purge cvs tags.
+
+Signed-off-by: Jesse Adkins <jesserayadkins@gmail.com>
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+---
+diff --git a/man/neomagic.man b/man/neomagic.man
+index 9daffe5..af8181c 100644
+--- a/man/neomagic.man
++++ b/man/neomagic.man
+@@ -1,4 +1,3 @@
+-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/neomagic/neomagic.man,v 1.5 2003/05/29 21:48:09 herrb Exp $
+ .\" shorthand for double quote that works everywhere.
+ .ds q \N'34'
+ .TH NEOMAGIC __drivermansuffix__ __vendorversion__
+--
+cgit v0.9.0.2-2-gbebe
+From c3cf7e328d7e9c276a3e237dbf9d1772b57a370e Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Tue, 11 Oct 2011 17:43:51 +0000
+Subject: Use malloc/calloc/realloc/free directly
+
+Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+---
+diff --git a/src/neo_dga.c b/src/neo_dga.c
+index 4227da6..3e2a02e 100644
+--- a/src/neo_dga.c
++++ b/src/neo_dga.c
+@@ -86,10 +86,10 @@ NEODGAInit(ScreenPtr pScreen)
+
+ while(pMode) {
+
+- newmodes = xrealloc(modes, (num + 1) * sizeof(DGAModeRec));
++ newmodes = realloc(modes, (num + 1) * sizeof(DGAModeRec));
+
+ if(!newmodes) {
+- xfree(modes);
++ free(modes);
+ return FALSE;
+ }
+ modes = newmodes;
+diff --git a/src/neo_driver.c b/src/neo_driver.c
+index b12c125..c51dad4 100644
+--- a/src/neo_driver.c
++++ b/src/neo_driver.c
+@@ -475,7 +475,7 @@ NEOFreeRec(ScrnInfoPtr pScrn)
+ {
+ if (pScrn->driverPrivate == NULL)
+ return;
+- xfree(pScrn->driverPrivate);
++ free(pScrn->driverPrivate);
+ pScrn->driverPrivate = NULL;
+ }
+
+@@ -551,7 +551,7 @@ NEOProbe(DriverPtr drv, int flags)
+ foundScreen = TRUE;
+ }
+ }
+- xfree(usedChips);
++ free(usedChips);
+ }
+ }
+
+@@ -584,11 +584,11 @@ NEOProbe(DriverPtr drv, int flags)
+ foundScreen = TRUE;
+ }
+ }
+- xfree(usedChips);
++ free(usedChips);
+ }
+ #endif
+
+- xfree(devSections);
++ free(devSections);
+ return foundScreen;
+ }
+
+@@ -940,11 +940,11 @@ NEOPreInit(ScrnInfoPtr pScrn, int flags)
+ xf86CollectOptions(pScrn, NULL);
+ /* Process the options */
+ if (nPtr->NeoChipset == NM2070) {
+- if (!(nPtr->Options = xalloc(sizeof(NEO_2070_Options))))
++ if (!(nPtr->Options = malloc(sizeof(NEO_2070_Options))))
+ return FALSE;
+ memcpy(nPtr->Options, NEO_2070_Options, sizeof(NEO_2070_Options));
+ } else {
+- if (!(nPtr->Options = xalloc(sizeof(NEOOptions))))
++ if (!(nPtr->Options = malloc(sizeof(NEOOptions))))
+ return FALSE;
+ memcpy(nPtr->Options, NEOOptions, sizeof(NEOOptions));
+ }
+@@ -1476,7 +1476,7 @@ NEOScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+
+ if(nPtr->shadowFB) {
+ nPtr->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width);
+- nPtr->ShadowPtr = xalloc(nPtr->ShadowPitch * height);
++ nPtr->ShadowPtr = malloc(nPtr->ShadowPitch * height);
+ displayWidth = nPtr->ShadowPitch / (pScrn->bitsPerPixel >> 3);
+ FBStart = nPtr->ShadowPtr;
+ } else {
+@@ -1789,7 +1789,7 @@ NEOCloseScreen(int scrnIndex, ScreenPtr pScreen)
+ if (nPtr->CursorInfo)
+ xf86DestroyCursorInfoRec(nPtr->CursorInfo);
+ if (nPtr->ShadowPtr)
+- xfree(nPtr->ShadowPtr);
++ free(nPtr->ShadowPtr);
+
+ pScrn->vtSema = FALSE;
+ pScreen->CloseScreen = nPtr->CloseScreen;
+@@ -2860,7 +2860,7 @@ neoModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
+ if (NeoNew->reg) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Non-NULL reg in NeoInit: reg=%p\n", (void *)NeoNew->reg);
+- xfree(NeoNew->reg);
++ free(NeoNew->reg);
+ NeoNew->reg = NULL;
+ }
+
+diff --git a/src/neo_video.c b/src/neo_video.c
+index a9e1e25..0edae30 100644
+--- a/src/neo_video.c
++++ b/src/neo_video.c
+@@ -99,7 +99,7 @@ NEOInitVideo(ScreenPtr pScreen)
+ numAdaptors = 1;
+ overlayAdaptors = &newAdaptor;
+ } else {
+- newAdaptors = xalloc((numAdaptors + 1)
++ newAdaptors = malloc((numAdaptors + 1)
+ * sizeof(XF86VideoAdaptorPtr*));
+ if (newAdaptors){
+ memcpy(newAdaptors, overlayAdaptors,
+@@ -114,7 +114,7 @@ NEOInitVideo(ScreenPtr pScreen)
+ xf86XVScreenInit(pScreen, overlayAdaptors, numAdaptors);
+
+ if (newAdaptors)
+- xfree(newAdaptors);
++ free(newAdaptors);
+ }
+
+ static XF86VideoEncodingRec NEOVideoEncodings[] =
+@@ -211,7 +211,7 @@ NEOSetupVideo(ScreenPtr pScreen)
+ #ifdef DEBUG
+ xf86DrvMsg(pScrn->scrnIndex,X_INFO,"NEOSetupVideo\n");
+ #endif
+- if ((overlayAdaptor = xcalloc(1, sizeof(XF86VideoAdaptorRec) +
++ if ((overlayAdaptor = calloc(1, sizeof(XF86VideoAdaptorRec) +
+ sizeof(DevUnion) +
+ sizeof(NEOPortRec))) == NULL){
+ return (NULL);
+@@ -918,7 +918,7 @@ NEOInitOffscreenImages(ScreenPtr pScreen)
+ #ifdef DEBUG
+ xf86DrvMsg(xf86Screens[pScreen->myNum]->scrnIndex,X_INFO,"NEOInitOffscreenImages\n");
+ #endif
+- if ((offscreenImages = xalloc(sizeof(XF86OffscreenImageRec))) == NULL){
++ if ((offscreenImages = malloc(sizeof(XF86OffscreenImageRec))) == NULL){
+ return;
+ }
+
+@@ -1017,19 +1017,19 @@ NEOAllocSurface(ScrnInfoPtr pScrn, int id,
+
+ surface->width = width;
+ surface->height = height;
+- if ((surface->pitches = xalloc(sizeof(int))) == NULL){
++ if ((surface->pitches = malloc(sizeof(int))) == NULL){
+ xf86FreeOffscreenLinear(linear);
+ return (BadAlloc);
+ }
+- if ((surface->offsets = xalloc(sizeof(int))) == NULL){
+- xfree(surface->pitches);
++ if ((surface->offsets = malloc(sizeof(int))) == NULL){
++ free(surface->pitches);
+ xf86FreeOffscreenLinear(linear);
+ return (BadAlloc);
+ }
+
+- if ((pPriv = xalloc(sizeof(NEOOffscreenRec))) == NULL){
+- xfree(surface->pitches);
+- xfree(surface->offsets);
++ if ((pPriv = malloc(sizeof(NEOOffscreenRec))) == NULL){
++ free(surface->pitches);
++ free(surface->offsets);
+ xf86FreeOffscreenLinear(linear);
+ return (BadAlloc);
+ }
+@@ -1057,9 +1057,9 @@ NEOFreeSurface(XF86SurfacePtr surface)
+ NEOStopSurface(surface);
+
+ xf86FreeOffscreenLinear(pPriv->linear);
+- xfree(surface->pitches);
+- xfree(surface->offsets);
+- xfree(surface->devPrivate.ptr);
++ free(surface->pitches);
++ free(surface->offsets);
++ free(surface->devPrivate.ptr);
+ return (Success);
+ }
+
+--
+cgit v0.9.0.2-2-gbebe
+From f2a771c6d2a2308245a0d46301e579b50fb2b6bd Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Tue, 11 Oct 2011 17:45:11 +0000
+Subject: Include <stdlib.h> for abs()
+
+Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+---
+diff --git a/src/neo_driver.c b/src/neo_driver.c
+index c51dad4..f8bca2c 100644
+--- a/src/neo_driver.c
++++ b/src/neo_driver.c
+@@ -107,6 +107,7 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ #include "scrnintstr.h"
+ #include "servermd.h"
+
++#include <stdlib.h>
+ #include <unistd.h>
+
+ /* Mandatory functions */
+--
+cgit v0.9.0.2-2-gbebe
+From 07845a120a674380b6b499961e6c81accfdd6a2e Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Mon, 19 Dec 2011 21:50:28 +0000
+Subject: Fall back to shadowfb when XAA is unavailable
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/neo_driver.c b/src/neo_driver.c
+index f8bca2c..a034f86 100644
+--- a/src/neo_driver.c
++++ b/src/neo_driver.c
+@@ -1089,6 +1089,18 @@ NEOPreInit(ScrnInfoPtr pScrn, int flags)
+ if (nPtr->showcache)
+ xf86DrvMsg(pScrn->scrnIndex,X_CONFIG,
+ "Show chache for debugging\n");
++
++ if (!xf86LoadSubModule(pScrn, "xaa")) {
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadow\n");
++ nPtr->shadowFB = 1;
++ }
++
++ if (nPtr->shadowFB) {
++ if (!xf86LoadSubModule(pScrn, "shadow")) {
++ RETURN;
++ }
++ }
++
+ if (nPtr->shadowFB) {
+ nPtr->noAccel = TRUE;
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+@@ -1314,15 +1326,6 @@ NEOPreInit(ScrnInfoPtr pScrn, int flags)
+ RETURN;
+ }
+
+- if (!xf86LoadSubModule(pScrn, "xaa"))
+- RETURN;
+-
+- if (nPtr->shadowFB) {
+- if (!xf86LoadSubModule(pScrn, "shadow")) {
+- RETURN;
+- }
+- }
+-
+ if (!nPtr->swCursor) {
+ if (!xf86LoadSubModule(pScrn, "ramdac"))
+ RETURN;
+--
+cgit v0.9.0.2-2-gbebe
+From 819c8f2119b8db10a6a9e4553cf88d66cff6eb8e Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Mon, 19 Dec 2011 21:51:31 +0000
+Subject: Fix for new vgahw ABI
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/neo_driver.c b/src/neo_driver.c
+index a034f86..509a77f 100644
+--- a/src/neo_driver.c
++++ b/src/neo_driver.c
+@@ -660,6 +660,7 @@ NEOPreInit(ScrnInfoPtr pScrn, int flags)
+ if (!vgaHWGetHWRec(pScrn))
+ return FALSE;
+ hwp = VGAHWPTR(pScrn);
++ vgaHWSetStdFuncs(hwp);
+
+ /* Allocate the NeoRec driverPrivate */
+ if (!NEOGetRec(pScrn)) {
+--
+cgit v0.9.0.2-2-gbebe