Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=xfcetesting.git;a=commitdiff;h=29dc669b44009929b9528a4c5b27bf1e4ee0da75

commit 29dc669b44009929b9528a4c5b27bf1e4ee0da75
Author: James Buren <[email protected]>
Date:   Thu Jun 21 01:32:32 2012 -0500

xf86-video-tseng-1.2.4-5-x86_64
* fix build

diff --git a/source/x11/xf86-video-tseng/FrugalBuild 
b/source/x11/xf86-video-tseng/FrugalBuild
index bf5dfac..592ec76 100644
--- a/source/x11/xf86-video-tseng/FrugalBuild
+++ b/source/x11/xf86-video-tseng/FrugalBuild
@@ -11,6 +11,8 @@ archs=('i686' 'x86_64')
depends=('xorg-server>=1.12.2')
makedepends=('randrproto>1.3.0' 'renderproto' 'xf86dgaproto' 
'videoproto>=2.2.2')
Finclude xorg
-sha1sums=('1b45f55657b2c92f30abb0769cae57fca98d93b7')
+source=(${source[@]} git.patch)
+sha1sums=('1b45f55657b2c92f30abb0769cae57fca98d93b7' \
+          '42cd0a7af1839c452f8807641bb85c357b67bff1')

# optimization OK
diff --git a/source/x11/xf86-video-tseng/git.patch 
b/source/x11/xf86-video-tseng/git.patch
new file mode 100644
index 0000000..2bb40d0
--- /dev/null
+++ b/source/x11/xf86-video-tseng/git.patch
@@ -0,0 +1,712 @@
+diff --git a/configure.ac b/configure.ac
+index 62cc318..8458c06 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,46 +20,46 @@
+ #
+ # Process this file with autoconf to produce a configure script
+
+-AC_PREREQ(2.57)
++# Initialize Autoconf
++AC_PREREQ([2.60])
+ AC_INIT([xf86-video-tseng],
+-        1.2.4,
++        [1.2.4],
+         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+-        xf86-video-tseng)
+-
++        [xf86-video-tseng])
+ AC_CONFIG_SRCDIR([Makefile.am])
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_AUX_DIR(.)
+
++# Initialize Automake
+ 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.
++# Initialize libtool
+ AC_DISABLE_STATIC
+ AC_PROG_LIBTOOL
+-AC_PROG_CC
+
+ AH_TOP([#include "xorg-server.h"])
+
++# Define a configure option for an alternate module directory
+ 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"])
+
+-# 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)
+
+-# 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])
+
+ # Checks for libraries.
+@@ -78,17 +78,14 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
+ fi
+ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+
+-# Checks for header files.
+-AC_HEADER_STDC
+-
+-AC_SUBST([XORG_CFLAGS])
+ AC_SUBST([moduledir])
+
+ DRIVER_NAME=tseng
+ AC_SUBST([DRIVER_NAME])
+
+-AC_OUTPUT([
+-      Makefile
+-      src/Makefile
+-      man/Makefile
++AC_CONFIG_FILES([
++                Makefile
++                src/Makefile
++                man/Makefile
+ ])
++AC_OUTPUT
+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 = @[email protected]
+
+ 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) < $< > $@
+diff --git a/man/tseng.man b/man/tseng.man
+index 403782f..984c8e7 100644
+--- a/man/tseng.man
++++ b/man/tseng.man
+@@ -1,4 +1,3 @@
+-.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/tseng/tseng.man,v 1.2 
2001/01/27 18:20:55 dawes Exp $
+ .\" shorthand for double quote that works everywhere.
+ .ds q \N'34'
+ .TH TSENG __drivermansuffix__ __vendorversion__
+diff --git a/src/Makefile.am b/src/Makefile.am
+index bf3a03a..50ca7a3 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -36,4 +36,5 @@ tseng_drv_la_SOURCES = \
+          tseng_driver.c \
+          tseng.h \
+          tseng_mode.c \
+-       tseng_pcirename.h
++         tseng_pcirename.h \
++         compat-api.h
+diff --git a/src/compat-api.h b/src/compat-api.h
+new file mode 100644
+index 0000000..98ba435
+--- /dev/null
++++ b/src/compat-api.h
+@@ -0,0 +1,105 @@
++/*
++ * 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 WAKEUPHANDLER_ARGS_DECL int arg, pointer wakeupData, unsigned long 
result, pointer read_mask
++#define WAKEUPHANDLER_ARGS arg, wakeupData, result, read_mask
++
++#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 WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result, pointer 
read_mask
++#define WAKEUPHANDLER_ARGS arg, result, read_mask
++
++#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 --git a/src/tseng.h b/src/tseng.h
+index ce2f174..c6a51b7 100644
+--- a/src/tseng.h
++++ b/src/tseng.h
+@@ -15,9 +15,6 @@
+ /* Everything using inb/outb, etc needs "compiler.h" */
+ #include "compiler.h"
+
+-/* Drivers for PCI hardware need this */
+-#include "xf86PciInfo.h"
+-
+ /* Drivers that need to access the PCI config space directly need this */
+ #include "xf86Pci.h"
+
+@@ -43,6 +40,7 @@
+ #include "xf86Cursor.h"
+ #include "xf86fbman.h"
+
++#include "compat-api.h"
+ /*
+  * Contrary to the old driver, we use the "Chip Revision" here intead of
+  * multiple chipsets like "TYPE_ET4000W32Pa", "TYPE_ET4000W32Pb", etc.
+@@ -208,8 +206,8 @@ void ET6000IOWrite(TsengPtr pTseng, CARD8 Offset, CARD8 
Value);
+ Bool TsengRAMDACProbe(ScrnInfoPtr pScrn);
+ void TsengSetupClockRange(ScrnInfoPtr pScrn);
+ Bool TsengModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
+-void TsengAdjustFrame(int scrnIndex, int x, int y, int flags);
+-ModeStatus TsengValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, 
int flags);
++void TsengAdjustFrame(ADJUST_FRAME_ARGS_DECL);
++ModeStatus TsengValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool 
verbose, int flags);
+ void TsengSave(ScrnInfoPtr pScrn);
+ void TsengRestore(ScrnInfoPtr pScrn, vgaRegPtr vgaReg, TsengRegPtr tsengReg, 
int flags);
+ void TsengHVSyncDPMSSet(ScrnInfoPtr pScrn, int PowerManagementMode, int 
flags);
+diff --git a/src/tseng_accel.c b/src/tseng_accel.c
+index 800b5dd..adeaf24 100644
+--- a/src/tseng_accel.c
++++ b/src/tseng_accel.c
+@@ -1266,7 +1266,7 @@ TsengSubsequentFillTrapezoidSolid(ytop, height, left, 
dxL, dyL, eL, right, dxR,
+ Bool
+ TsengXAAInit(ScreenPtr pScreen)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+     TsengPtr pTseng = TsengPTR(pScrn);
+     XAAInfoRecPtr pXAAinfo;
+     BoxRec AvailFBArea;
+diff --git a/src/tseng_cursor.c b/src/tseng_cursor.c
+index d4fb847..3c8a70f 100644
+--- a/src/tseng_cursor.c
++++ b/src/tseng_cursor.c
+@@ -159,7 +159,7 @@ TsengSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg)
+     }
+ }
+
+-void
++static void
+ TsengLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *bits)
+ {
+     vgaHWPtr hwp = VGAHWPTR(pScrn);
+@@ -223,7 +223,7 @@ TsengLoadCursorImage(ScrnInfoPtr pScrn, unsigned char 
*bits)
+ Bool
+ TsengHWCursorInit(ScreenPtr pScreen)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+     TsengPtr pTseng = TsengPTR(pScrn);
+     xf86CursorInfoPtr infoPtr;
+
+diff --git a/src/tseng_dga.c b/src/tseng_dga.c
+index 70ebe23..c0a85a5 100644
+--- a/src/tseng_dga.c
++++ b/src/tseng_dga.c
+@@ -62,7 +62,7 @@ DGAFunctionRec TsengDGAFuncs = {
+ Bool
+ TsengDGAInit(ScreenPtr pScreen)
+ {
+-  ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++  ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+   TsengPtr pTseng = TsengPTR(pScrn);
+   DGAModePtr modes = NULL, newmodes = NULL, currentMode;
+   DisplayModePtr pMode, firstMode;
+@@ -74,9 +74,9 @@ TsengDGAInit(ScreenPtr pScreen)
+   if (!pTseng->DGAnumModes) {
+     pMode = firstMode = pScrn->modes;
+     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;
+@@ -135,7 +135,7 @@ Tseng_OpenFramebuffer(
+     TsengPtr pTseng = TsengPTR(pScrn);
+
+     *name = NULL;             /* no special device */
+-    *mem = (unsigned char*)pTseng->FbAddress;
++    *mem = (unsigned char*)(uintptr_t)pTseng->FbAddress;
+     *size = pTseng->FbMapSize;
+     *offset = 0;                /* Always */
+     *flags = 0;                 /* Root permissions OS-dependent */
+@@ -182,7 +182,7 @@ Tseng_SetViewport(
+    TsengPtr pTseng = TsengPTR(pScrn);
+    vgaHWPtr hwp = VGAHWPTR(pScrn);
+
+-   TsengAdjustFrame(pScrn->pScreen->myNum, x, y, flags);
++   TsengAdjustFrame(ADJUST_FRAME_ARGS(pScrn, x, y));
+    while((hwp->readST01(hwp) & 0x08));
+    while(!(hwp->readST01(hwp) & 0x08));
+
+diff --git a/src/tseng_driver.c b/src/tseng_driver.c
+index 445c17e..0c04e54 100644
+--- a/src/tseng_driver.c
++++ b/src/tseng_driver.c
+@@ -34,6 +34,8 @@
+
+ #include "tseng.h"                   /* this includes most of the generic 
ones as well */
+
++#include "xf86PciInfo.h"
++
+ /* All drivers initialising the SW cursor need this */
+ #include "mipointer.h"
+
+@@ -60,18 +62,17 @@ static const OptionInfoRec * TsengAvailableOptions(int 
chipid, int busid);
+ static void TsengIdentify(int flags);
+ static Bool TsengProbe(DriverPtr drv, int flags);
+ static Bool TsengPreInit(ScrnInfoPtr pScrn, int flags);
+-static Bool TsengScreenInit(int Index, ScreenPtr pScreen, int argc,
+-    char **argv);
+-static Bool TsengEnterVT(int scrnIndex, int flags);
+-static void TsengLeaveVT(int scrnIndex, int flags);
+-static Bool TsengCloseScreen(int scrnIndex, ScreenPtr pScreen);
++static Bool TsengScreenInit(SCREEN_INIT_ARGS_DECL);
++static Bool TsengEnterVT(VT_FUNC_ARGS_DECL);
++static void TsengLeaveVT(VT_FUNC_ARGS_DECL);
++static Bool TsengCloseScreen(CLOSE_SCREEN_ARGS_DECL);
+ static Bool TsengSaveScreen(ScreenPtr pScreen, int mode);
+
+ /* Required if the driver supports mode switching */
+-static Bool TsengSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
++static Bool TsengSwitchMode(SWITCH_MODE_ARGS_DECL);
+
+ /* Optional functions */
+-static void TsengFreeScreen(int scrnIndex, int flags);
++static void TsengFreeScreen(FREE_SCREEN_ARGS_DECL);
+
+ /* If driver-specific config file entries are needed, this must be defined */
+ /*static Bool   TsengParseConfig(ParseInfoPtr raw); */
+@@ -269,9 +270,9 @@ TsengFreeRec(ScrnInfoPtr pScrn)
+     pTseng = TsengPTR(pScrn);
+
+     if (pTseng->SavedReg.RAMDAC)
+-        xfree(pTseng->SavedReg.RAMDAC);
++        free(pTseng->SavedReg.RAMDAC);
+
+-    xfree(pScrn->driverPrivate);
++    free(pScrn->driverPrivate);
+     pScrn->driverPrivate = NULL;
+ }
+
+@@ -395,10 +396,10 @@ TsengProbe(DriverPtr drv, int flags)
+                 foundScreen = TRUE;
+             }
+         }
+-        xfree(usedChips);
++        free(usedChips);
+     }
+
+-    xfree(devSections);
++    free(devSections);
+     return foundScreen;
+ }
+
+@@ -806,7 +807,7 @@ TsengProcessOptions(ScrnInfoPtr pScrn)
+     xf86CollectOptions(pScrn, NULL);
+
+     /* Process the options */
+-    if (!(pTseng->Options = xalloc(sizeof(TsengOptions))))
++    if (!(pTseng->Options = malloc(sizeof(TsengOptions))))
+       return FALSE;
+     memcpy(pTseng->Options, TsengOptions, sizeof(TsengOptions));
+     xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, pTseng->Options);
+@@ -883,7 +884,7 @@ TsengGetFbAddress(ScrnInfoPtr pScrn)
+     PDEBUG("  TsengGetFbAddress\n");
+
+     /* base0 is the framebuffer and base1 is the PCI IO space. */
+-    if (PCI_REGION_BASE(pTseng->PciInfo, 0, REGION_MEM)) {
++    if (!PCI_REGION_BASE(pTseng->PciInfo, 0, REGION_MEM)) {
+         xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+                    "No valid Framebuffer address in PCI config space;\n");
+         return FALSE;
+@@ -1215,9 +1216,9 @@ TsengPreInit(ScrnInfoPtr pScrn, int flags)
+ }
+
+ static void
+-TsengSetupAccelMemory(int scrnIndex, ScreenPtr pScreen)
++TsengSetupAccelMemory(ScreenPtr pScreen)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+     TsengPtr pTseng = TsengPTR(pScrn);
+     int offscreen_videoram, videoram_end, req_videoram;
+     int i;
+@@ -1236,7 +1237,7 @@ TsengSetupAccelMemory(int scrnIndex, ScreenPtr pScreen)
+     videoram_end = pScrn->videoRam * 1024;
+     offscreen_videoram = videoram_end -
+       pScrn->displayWidth * pScrn->virtualY * pTseng->Bytesperpixel;
+-    xf86DrvMsgVerb(scrnIndex, X_INFO, v, "Available off-screen memory: %d 
bytes.\n",
++    xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, v, "Available off-screen memory: 
%d bytes.\n",
+       offscreen_videoram);
+
+     /*
+@@ -1324,7 +1325,7 @@ TsengSetupAccelMemory(int scrnIndex, ScreenPtr pScreen)
+       }
+     }
+
+-    xf86DrvMsgVerb(scrnIndex, X_INFO, v,
++    xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, v,
+       "Remaining off-screen memory available for pixmap cache: %d bytes.\n",
+       offscreen_videoram);
+
+@@ -1333,7 +1334,7 @@ end_memsetup:
+ }
+
+ static Bool
+-TsengScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
++TsengScreenInit(SCREEN_INIT_ARGS_DECL)
+ {
+     ScrnInfoPtr pScrn;
+     TsengPtr pTseng;
+@@ -1345,7 +1346,7 @@ TsengScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+     /*
+      * First get the ScrnInfoRec
+      */
+-    pScrn = xf86Screens[pScreen->myNum];
++    pScrn = xf86ScreenToScrn(pScreen);
+
+     pTseng = TsengPTR(pScrn);
+     /* Map the Tseng memory areas */
+@@ -1361,7 +1362,7 @@ TsengScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+     /* Darken the screen for aesthetic reasons and set the viewport */
+     TsengSaveScreen(pScreen, SCREEN_SAVER_ON);
+
+-    TsengAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
++    TsengAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, 
pScrn->frameY0));
+     /* XXX Fill the screen with black */
+
+     /*
+@@ -1444,7 +1445,7 @@ TsengScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+     /*
+      * Initialize the acceleration interface.
+      */
+-    TsengSetupAccelMemory(scrnIndex, pScreen);
++    TsengSetupAccelMemory(pScreen);
+     if (pTseng->UseAccel) {
+       tseng_init_acl(pScrn);  /* set up accelerator */
+       if (!TsengXAAInit(pScreen)) {   /* set up XAA interface */
+@@ -1499,9 +1500,9 @@ TsengScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
+ }
+
+ static Bool
+-TsengEnterVT(int scrnIndex, int flags)
++TsengEnterVT(VT_FUNC_ARGS_DECL)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++    SCRN_INFO_PTR(arg);
+     TsengPtr pTseng = TsengPTR(pScrn);
+
+     PDEBUG("  TsengEnterVT\n");
+@@ -1518,9 +1519,9 @@ TsengEnterVT(int scrnIndex, int flags)
+ }
+
+ static void
+-TsengLeaveVT(int scrnIndex, int flags)
++TsengLeaveVT(VT_FUNC_ARGS_DECL)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++    SCRN_INFO_PTR(arg);
+     TsengPtr pTseng = TsengPTR(pScrn);
+
+     PDEBUG("  TsengLeaveVT\n");
+@@ -1532,9 +1533,9 @@ TsengLeaveVT(int scrnIndex, int flags)
+ }
+
+ static Bool
+-TsengCloseScreen(int scrnIndex, ScreenPtr pScreen)
++TsengCloseScreen(CLOSE_SCREEN_ARGS_DECL)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+     TsengPtr pTseng = TsengPTR(pScrn);
+
+     PDEBUG("  TsengCloseScreen\n");
+@@ -1552,7 +1553,7 @@ TsengCloseScreen(int scrnIndex, ScreenPtr pScreen)
+     pScrn->vtSema = FALSE;
+
+     pScreen->CloseScreen = pTseng->CloseScreen;
+-    return (*pScreen->CloseScreen) (scrnIndex, pScreen);
++    return (*pScreen->CloseScreen) (CLOSE_SCREEN_ARGS);
+ }
+
+ /*
+@@ -1577,7 +1578,7 @@ TsengCloseScreen(int scrnIndex, ScreenPtr pScreen)
+ static Bool
+ TsengSaveScreen(ScreenPtr pScreen, int mode)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+     vgaHWPtr hwp = VGAHWPTR(pScrn);
+     TsengPtr pTseng = TsengPTR(pScrn);
+     Bool unblank;
+@@ -1694,17 +1695,19 @@ TsengUnmapMem(ScrnInfoPtr pScrn)
+ }
+
+ static void
+-TsengFreeScreen(int scrnIndex, int flags)
++TsengFreeScreen(FREE_SCREEN_ARGS_DECL)
+ {
++    SCRN_INFO_PTR(arg);
+     PDEBUG("  TsengFreeScreen\n");
+     if (xf86LoaderCheckSymbol("vgaHWFreeHWRec"))
+-      vgaHWFreeHWRec(xf86Screens[scrnIndex]);
+-    TsengFreeRec(xf86Screens[scrnIndex]);
++        vgaHWFreeHWRec(pScrn);
++    TsengFreeRec(pScrn);
+ }
+
+ static Bool
+-TsengSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
++TsengSwitchMode(SWITCH_MODE_ARGS_DECL)
+ {
++    SCRN_INFO_PTR(arg);
+     PDEBUG("  TsengSwitchMode\n");
+-    return TsengModeInit(xf86Screens[scrnIndex], mode);
++    return TsengModeInit(pScrn, mode);
+ }
+diff --git a/src/tseng_mode.c b/src/tseng_mode.c
+index f075226..c96403e 100644
+--- a/src/tseng_mode.c
++++ b/src/tseng_mode.c
+@@ -41,7 +41,11 @@ vgaHWWriteBank(vgaHWPtr hwp, CARD8 value)
+     if (hwp->MMIOBase)
+       MMIO_OUT8(hwp->MMIOBase, hwp->MMIOOffset + VGA_BANK, value);
+     else
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
+       outb(hwp->PIOOffset + VGA_BANK, value);
++#else
++      pci_io_write8(hwp->io, VGA_BANK, value);
++#endif
+ }
+
+ CARD8
+@@ -50,7 +54,11 @@ vgaHWReadBank(vgaHWPtr hwp)
+     if (hwp->MMIOBase)
+       return MMIO_IN8(hwp->MMIOBase, hwp->MMIOOffset + VGA_BANK);
+     else
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
+       return inb(hwp->PIOOffset + VGA_BANK);
++#else
++      return pci_io_read8(hwp->io, VGA_BANK);
++#endif
+ }
+
+ #define VGA_SEGMENT 0x3CD
+@@ -61,7 +69,11 @@ vgaHWWriteSegment(vgaHWPtr hwp, CARD8 value)
+     if (hwp->MMIOBase)
+       MMIO_OUT8(hwp->MMIOBase, hwp->MMIOOffset + VGA_SEGMENT, value);
+     else
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
+       outb(hwp->PIOOffset + VGA_SEGMENT, value);
++#else
++      pci_io_write8(hwp->io, VGA_SEGMENT, value);
++#endif
+ }
+
+ CARD8
+@@ -70,7 +82,11 @@ vgaHWReadSegment(vgaHWPtr hwp)
+     if (hwp->MMIOBase)
+       return MMIO_IN8(hwp->MMIOBase, hwp->MMIOOffset + VGA_SEGMENT);
+     else
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
+       return inb(hwp->PIOOffset + VGA_SEGMENT);
++#else
++      return pci_io_read8(hwp->io, VGA_SEGMENT);
++#endif
+ }
+
+ /*
+@@ -84,8 +100,12 @@ vgaHWWriteModeControl(vgaHWPtr hwp, CARD8 value)
+     if (hwp->MMIOBase)
+         MMIO_OUT8(hwp->MMIOBase,
+                   hwp->MMIOOffset + hwp->IOBase + VGA_MODE_CONTROL, value);
+-    else
+-        outb(hwp->IOBase + hwp->PIOOffset + VGA_MODE_CONTROL, value);
++    else
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
++      outb(hwp->PIOOffset + VGA_MODE_CONTROL, value);
++#else
++      pci_io_write8(hwp->io, VGA_MODE_CONTROL, value);
++#endif
+ }
+
+ /*
+@@ -110,14 +130,22 @@ vgaHWHerculesSecondPage(vgaHWPtr hwp, Bool Enable)
+
+         MMIO_OUT8(hwp->MMIOBase, hwp->MMIOOffset + VGA_HERCULES, tmp);
+     } else {
+-        tmp = inb(hwp->PIOOffset + VGA_HERCULES);
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
++      tmp = inb(hwp->PIOOffset + VGA_HERCULES);
++#else
++      tmp = pci_io_read8(hwp->io, VGA_HERCULES);
++#endif
+
+         if (Enable)
+             tmp |= 0x02;
+         else
+             tmp &= ~0x02;
+
+-        outb(hwp->PIOOffset + VGA_HERCULES, tmp);
++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
++      outb(hwp->PIOOffset + VGA_HERCULES, tmp);
++#else
++      pci_io_write8(hwp->io, VGA_HERCULES, tmp);
++#endif
+     }
+ }
+
+@@ -954,9 +982,9 @@ ET6000CalcClock(long freq, int min_m, int min_n1, int 
max_n1, int min_n2,
+  * adjust the current video frame (viewport) to display the mousecursor.
+  */
+ void
+-TsengAdjustFrame(int scrnIndex, int x, int y, int flags)
++TsengAdjustFrame(ADJUST_FRAME_ARGS_DECL)
+ {
+-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++    SCRN_INFO_PTR(arg);
+     TsengPtr pTseng = TsengPTR(pScrn);
+     vgaHWPtr hwp = VGAHWPTR(pScrn);
+     int Base;
+@@ -983,7 +1011,7 @@ TsengAdjustFrame(int scrnIndex, int x, int y, int flags)
+  *
+  */
+ ModeStatus
+-TsengValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags)
++TsengValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int 
flags)
+ {
+
+     PDEBUG("  TsengValidMode\n");
+@@ -1502,7 +1530,7 @@ TsengModeInit(ScrnInfoPtr pScrn, DisplayModePtr OrigMode)
+
+     /* clean up */
+     if (new->RAMDAC)
+-        xfree(new->RAMDAC);
++        free(new->RAMDAC);
+
+     return TRUE;
+ }
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to