Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=xfcetesting.git;a=commitdiff;h=7f4e1a11840aa7de3ec48ed75204cfe564ae14b9
commit 7f4e1a11840aa7de3ec48ed75204cfe564ae14b9 Author: James Buren <[email protected]> Date: Thu Jun 21 01:36:26 2012 -0500 xf86-video-sisusb-0.9.4-5-x86_64 * fix build diff --git a/source/x11/xf86-video-sisusb/FrugalBuild b/source/x11/xf86-video-sisusb/FrugalBuild index fe4fe34..2d57d7e 100644 --- a/source/x11/xf86-video-sisusb/FrugalBuild +++ b/source/x11/xf86-video-sisusb/FrugalBuild @@ -11,6 +11,8 @@ archs=('i686' 'x86_64') depends=('xorg-server>=1.12.2') makedepends=('randrproto>1.3.0' 'renderproto' 'videoproto>=2.2.2' 'xf86driproto>=2.0.4' 'xf86miscproto' 'xineramaproto') Finclude xorg -sha1sums=('600fd49dffe00121f9042555fea55948653d1a7e') +source=(${source[@]} git.patch) +sha1sums=('600fd49dffe00121f9042555fea55948653d1a7e' \ + 'b074c2a3583fa8480ef39940381c5f447ba55777') # optimization OK diff --git a/source/x11/xf86-video-sisusb/git.patch b/source/x11/xf86-video-sisusb/git.patch new file mode 100644 index 0000000..7e61bbb --- /dev/null +++ b/source/x11/xf86-video-sisusb/git.patch @@ -0,0 +1,1195 @@ +diff --git a/configure.ac b/configure.ac +index 86c6ac5..725d6cb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,49 +20,48 @@ + # + # Process this file with autoconf to produce a configure script + +-AC_PREREQ(2.57) ++# Initialize Autoconf ++AC_PREREQ([2.60]) + AC_INIT([xf86-video-sisusb], +- 0.9.4, ++ [0.9.4], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], +- xf86-video-sisusb) +- ++ [xf86-video-sisusb]) + 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 +-XORG_PROG_RAWCPP + + 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(XINERAMA, xineramaproto) + 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 +-PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES]) ++# Obtain compiler/linker options for the driver dependencies ++PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto pciaccess $REQUIRED_MODULES]) + PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], + HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]), + HAVE_XEXTPROTO_71="no") +@@ -70,17 +69,14 @@ AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ]) + + # Checks for libraries. + +-# Checks for header files. +-AC_HEADER_STDC +- +-AC_SUBST([XORG_CFLAGS]) + AC_SUBST([moduledir]) + + DRIVER_NAME=sisusb + 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 1b26ac2..9ceb36f 100644 +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -31,39 +31,9 @@ EXTRA_DIST = @[email protected] + + CLEANFILES = $(driverman_DATA) + +-SED = sed +- +-# Strings to replace in man pages +-XORGRELSTRING = @PACKAGE_STRING@ +- XORGMANNAME = X Version 11 +- +-MANDEFS = \ +- -D__vendorversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\"" \ +- -D__appmansuffix__=$(APP_MAN_SUFFIX) \ +- -D__filemansuffix__=$(FILE_MAN_SUFFIX) \ +- -D__libmansuffix__=$(LIB_MAN_SUFFIX) \ +- -D__miscmansuffix__=$(MISC_MAN_SUFFIX) \ +- -D__drivermansuffix__=$(DRIVER_MAN_SUFFIX) \ +- -D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \ +- -D__xconfigfile__=xorg.conf \ +- -D__xservername__=Xorg +- +-# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM +-# to cpp, because that trick does not work on all ANSI C preprocessors. +-# Delete line numbers from the cpp output (-P is not portable, I guess). +-# Allow XCOMM to be preceded by whitespace and provide a means of generating +-# output lines with trailing backslashes. +-# Allow XHASH to always be substituted, even in cases where XCOMM isn't. +- +-CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ +- -e '/^\#line *[0-9][0-9]* *.*$$/d' \ +- -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ +- -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ +- -e '/^[ ]*XHASH/s/XHASH/\#/' \ +- -e '/\@\@$$/s/\@\@$$/\\/' +- + SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man + ++# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure + .man.$(DRIVER_MAN_SUFFIX): +- $(RAWCPP) $(RAWCPPFLAGS) $(MANDEFS) $(EXTRAMANDEFS) < $< | $(CPP_SED_MAGIC) > $@ ++ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@ + +diff --git a/man/sisusb.man b/man/sisusb.man +index 7817cb5..6eafb8e 100644 +--- a/man/sisusb.man ++++ b/man/sisusb.man +@@ -1,17 +1,5 @@ +-.\" $XFree86$ +-.\" $XdotOrg$ + .\" shorthand for double quote that works everywhere. + .ds q \N'34' +-#ifdef __xservername__ +-#define __myservername__ __xservername__ +-#else +-#define __myservername__ XFree86 +-#endif +-#ifdef __xconfigfile__ +-#define __myxconfigfile__ __xconfigfile__ +-#else +-#define __myxconfigfile__ XF86Config +-#endif + .TH SISUSB __drivermansuffix__ __vendorversion__ + .SH NAME + sisusb \- SiS USB video driver +@@ -25,7 +13,7 @@ sisusb \- SiS USB video driver + .fi + .SH DESCRIPTION + .B sisusb +-is an __myservername__ driver for SiS (Silicon Integrated Systems) video chips that ++is an __xservername__ driver for SiS (Silicon Integrated Systems) video chips that + are connected via a Net2280-based USB dongle. The driver is not accelerated, but + provides support for colordepths of 8, 16 and 24 bpp as well as Render and other + extensions. +@@ -39,7 +27,7 @@ driver supports USB video cards based on the following chipsets: + The SiS315E/PRO features two CRT controllers. However, in its USB version, only + the first output, referred to as "CRT1", is being used. + .SH CONFIGURATION DETAILS +-Please refer to __myxconfigfile__(__filemansuffix__) for general configuration ++Please refer to __xconfigfile__(__filemansuffix__) for general configuration + details and to sis(__drivermansuffix__) for more information. This manpage only + covers a subset of the supported options. + .PP +@@ -81,11 +69,7 @@ for device reconnection). + .SH "KNOWN BUGS" + none. + .SH "SEE ALSO" +-#ifdef __xservername__ + __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__), sis(__drivermansuffix__) +-#else +-XFree86(1), XF86Config(__filemansuffix__), xf86config(1), Xserver(1), X(__miscmansuffix__), sis(__drivermansuffix__) +-#endif + .PP + .B "http://www.winischhofer.at/linuxsisvga.shtml" + for more information and updates +diff --git a/src/Makefile.am b/src/Makefile.am +index 5e1735f..1f7e4a1 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -51,4 +51,5 @@ sisusb_drv_la_SOURCES = \ + sisusb_vga.c \ + sisusb_video.c \ + sisusb_video.h \ +- sisusb_videostr.h ++ sisusb_videostr.h \ ++ compat-api.h +diff --git a/src/compat-api.h b/src/compat-api.h +new file mode 100644 +index 0000000..6bc946f +--- /dev/null ++++ b/src/compat-api.h +@@ -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 --git a/src/sisusb.h b/src/sisusb.h +index b9992ac..f66b701 100644 +--- a/src/sisusb.h ++++ b/src/sisusb.h +@@ -113,6 +113,16 @@ + #include <X11/extensions/Xv.h> + #endif + ++#include "compat-api.h" ++ ++#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 ++#define _swapl(x, n) swapl(x,n) ++#define _swaps(x, n) swaps(x,n) ++#else ++#define _swapl(x, n) swapl(x) ++#define _swaps(x, n) swaps(x) ++#endif ++ + /* Platform/architecture related definitions: */ + + #undef SIS_PC_PLATFORM +@@ -141,7 +151,6 @@ + #define UNLOCK_ALWAYS /* Always unlock the registers (should be set!) */ + + /* Need that for SiSCtrl */ +-#define NEED_REPLIES /* ? */ + #define EXTENSION_PROC_ARGS void * + #include "extnsionst.h" /* required */ + #include <X11/extensions/panoramiXproto.h> /* required */ +@@ -732,7 +741,7 @@ typedef struct { + Bool skipswitchcheck; + ULong VBFlagsInit; + DisplayModePtr currentModeLast; +- IOADDRESS MyPIOOffset; ++ unsigned long MyPIOOffset; + + char messagebuffer[64]; + unsigned int VGAMapSize; /* SiSVGA stuff */ +diff --git a/src/sisusb_accel.c b/src/sisusb_accel.c +index d9c0665..c973a4c 100644 +--- a/src/sisusb_accel.c ++++ b/src/sisusb_accel.c +@@ -60,7 +60,7 @@ SiSUSBInitializeAccelerator(ScrnInfoPtr pScrn) + Bool + SiSUSBAccelInit(ScreenPtr pScreen) + { +- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + int topFB, reservedFbSize, usableFbSize; + BoxRec Avail; +diff --git a/src/sisusb_cursor.c b/src/sisusb_cursor.c +index b5b3629..9782f9e 100644 +--- a/src/sisusb_cursor.c ++++ b/src/sisusb_cursor.c +@@ -156,7 +156,7 @@ SiSUSBLoadCursorImage(ScrnInfoPtr pScrn, UChar *src) + static Bool + SiSUSBUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs) + { +- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + DisplayModePtr mode = pSiSUSB->CurrentLayout.mode; + +@@ -172,7 +172,7 @@ SiSUSBUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs) + static Bool + SiSUSBUseHWCursorARGB(ScreenPtr pScreen, CursorPtr pCurs) + { +- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + DisplayModePtr mode = pSiSUSB->CurrentLayout.mode; + +@@ -261,7 +261,7 @@ static void SiSUSBLoadCursorImageARGB(ScrnInfoPtr pScrn, CursorPtr pCurs) + Bool + SiSUSBHWCursorInit(ScreenPtr pScreen) + { +- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + xf86CursorInfoPtr infoPtr; + +diff --git a/src/sisusb_dac.c b/src/sisusb_dac.c +index 5e3eb7f..b5c4dce 100644 +--- a/src/sisusb_dac.c ++++ b/src/sisusb_dac.c +@@ -672,7 +672,7 @@ SiSUSBMemCopyToVideoRam(SISUSBPtr pSiSUSB, UChar *to, UChar *from, int size) + int num, retry = 3; + if(pSiSUSB->sisusbfatalerror) return; + do { +- lseek(pSiSUSB->sisusbdev, (int)to, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)to, SEEK_SET); + num = write(pSiSUSB->sisusbdev, from, size); + } while((num != size) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -958,7 +958,7 @@ void sisclearvram(SISUSBPtr pSiSUSB, UChar *where, unsigned int howmuch) + if(pSiSUSB->sisusbfatalerror) return; + do { + x.operation = SUCMD_CLRSCR; +- x.data3 = (CARD32)where; ++ x.data3 = (CARD32)(uintptr_t)where; + x.data0 = (howmuch >> 16) & 0xff; + x.data1 = (howmuch >> 8) & 0xff; + x.data2 = howmuch & 0xff; +@@ -990,7 +990,7 @@ void SIS_MMIO_OUT8(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset, CARD8 va + int num, retry = 3; + if(pSiSUSB->sisusbfatalerror) return; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = write(pSiSUSB->sisusbdev, &val, 1); + } while((num != 1) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -1002,7 +1002,7 @@ void SIS_MMIO_OUT16(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset, CARD16 + CARD16 buf = sisusb_cpu_to_le16(val); + if(pSiSUSB->sisusbfatalerror) return; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = write(pSiSUSB->sisusbdev, &buf, 2); + } while((num != 2) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -1014,7 +1014,7 @@ void SIS_MMIO_OUT32(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset, CARD32 + CARD32 buf = sisusb_cpu_to_le32(val); + if(pSiSUSB->sisusbfatalerror) return; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = write(pSiSUSB->sisusbdev, &buf, 4); + } while((num != 4) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -1026,7 +1026,7 @@ CARD8 SIS_MMIO_IN8(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset) + CARD8 tmp; + if(pSiSUSB->sisusbfatalerror) return 0; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = read(pSiSUSB->sisusbdev, &tmp, 1); + } while((num != 1) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -1039,7 +1039,7 @@ CARD16 SIS_MMIO_IN16(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset) + CARD16 tmp; + if(pSiSUSB->sisusbfatalerror) return 0; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = read(pSiSUSB->sisusbdev, &tmp, 2); + } while((num != 2) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +@@ -1052,7 +1052,7 @@ CARD32 SIS_MMIO_IN32(SISUSBPtr pSiSUSB, UChar *base, unsigned int offset) + CARD32 tmp; + if(pSiSUSB->sisusbfatalerror) return 0; + do { +- lseek(pSiSUSB->sisusbdev, (int)base + offset, SEEK_SET); ++ lseek(pSiSUSB->sisusbdev, (uintptr_t)base + offset, SEEK_SET); + num = read(pSiSUSB->sisusbdev, &tmp, 4); + } while((num != 4) && --retry); + if(!retry) SiSLostConnection(pSiSUSB); +diff --git a/src/sisusb_driver.c b/src/sisusb_driver.c +index 8ba2c33..208cdbe 100644 +--- a/src/sisusb_driver.c ++++ b/src/sisusb_driver.c +@@ -186,12 +186,12 @@ SISUSBFreeRec(ScrnInfoPtr pScrn) + /* Just to make sure... */ + if(!pSiSUSB) return; + +- if(pSiSUSB->pstate) xfree(pSiSUSB->pstate); ++ if(pSiSUSB->pstate) free(pSiSUSB->pstate); + pSiSUSB->pstate = NULL; +- if(pSiSUSB->fonts) xfree(pSiSUSB->fonts); ++ if(pSiSUSB->fonts) free(pSiSUSB->fonts); + pSiSUSB->fonts = NULL; + +- if(pSiSUSB->SiS_Pr) xfree(pSiSUSB->SiS_Pr); ++ if(pSiSUSB->SiS_Pr) free(pSiSUSB->SiS_Pr); + pSiSUSB->SiS_Pr = NULL; + + if(pSiSUSB->sisusbdevopen) { +@@ -200,12 +200,12 @@ SISUSBFreeRec(ScrnInfoPtr pScrn) + } + + if(pScrn->chipset) { +- xfree(pScrn->chipset); ++ free(pScrn->chipset); + pScrn->chipset = NULL; + } + + if(pScrn->driverPrivate) { +- xfree(pScrn->driverPrivate); ++ free(pScrn->driverPrivate); + pScrn->driverPrivate = NULL; + } + } +@@ -217,14 +217,14 @@ SISUSBErrorLog(ScrnInfoPtr pScrn, const char *format, ...) + static const char *str = "**************************************************\n"; + + va_start(ap, format); +- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str); + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + " ERROR:\n"); + xf86VDrvMsgVerb(pScrn->scrnIndex, X_ERROR, 1, format, ap); + va_end(ap); + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + " END OF MESSAGE\n"); +- xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str); ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str); + } + + static int +@@ -248,7 +248,7 @@ SiSUSBCheckForUSBDongle(char *filename, SISUSBPtr pSiSUSB, int *filehandle) + + if((myfile = open(filename, O_RDWR, 0)) != -1) { + if(!ioctl(myfile, SISUSB_GET_CONFIG_SIZE, &sisusbinfosize)) { +- if((mysisusbinfo = xalloc(sisusbinfosize))) { ++ if((mysisusbinfo = malloc(sisusbinfosize))) { + if(!ioctl(myfile, (SISUSB_GET_CONFIG | (sisusbinfosize << 16)), mysisusbinfo)) { + if(mysisusbinfo->sisusb_id == SISUSB_ID) { + sisusbversion = (mysisusbinfo->sisusb_version << 16) | +@@ -280,7 +280,7 @@ SiSUSBCheckForUSBDongle(char *filename, SISUSBPtr pSiSUSB, int *filehandle) + retval = mysisusbinfo->sisusb_minor; + } + } +- xfree(mysisusbinfo); ++ free(mysisusbinfo); + mysisusbinfo = NULL; + } + } +@@ -307,13 +307,13 @@ SiSUSBFindUSBDongle(GDevPtr dev, int *minorArray, int numDevSections, char **nam + } + if((p) && (*p) && (*p == '/')) { + gotdev = 1; +- *nameptr = xalloc(strlen(p) + 1); ++ *nameptr = malloc(strlen(p) + 1); + strcpy(*nameptr, p); + retval = SiSUSBCheckForUSBDongle(*nameptr, NULL, NULL); + } else if((p) && (*p) && (sscanf(p, "%d", &i) == 1)) { + if(i >= 0 && i <= 31) { + gotdev = 1; +- *nameptr = xalloc(32); ++ *nameptr = malloc(32); + sprintf(*nameptr, "/dev/sisusbvga%d", i); + retval = SiSUSBCheckForUSBDongle(*nameptr, NULL, NULL); + if(retval < 0) { +@@ -324,7 +324,7 @@ SiSUSBFindUSBDongle(GDevPtr dev, int *minorArray, int numDevSections, char **nam + } + } + if(!gotdev) { +- *nameptr = xalloc(32); ++ *nameptr = malloc(32); + for(i = 0; i < 64; i++) { + if(i < 32) sprintf(*nameptr, "/dev/sisusbvga%d", i); + else sprintf(*nameptr, "/dev/usb/sisusbvga%d", i); +@@ -338,7 +338,7 @@ SiSUSBFindUSBDongle(GDevPtr dev, int *minorArray, int numDevSections, char **nam + if(retval >= 0) { + xf86Msg(X_INFO, "Found SiSUSB dongle (node %s, minor %d)\n", *nameptr, retval); + } else if((*nameptr)) { +- xfree(*nameptr); ++ free(*nameptr); + *nameptr = NULL; + } + +@@ -401,14 +401,14 @@ SISUSBProbe(DriverPtr drv, int flags) + */ + + /* Allocate and initialize an array of ints for storing the minors */ +- if(!(minorArray = (int *)xalloc(numDevSections * sizeof(int)))) { ++ if(!(minorArray = (int *)malloc(numDevSections * sizeof(int)))) { + return FALSE; + } + for(i = 0; i < numDevSections; i++) minorArray[i] = -1; + + /* Allocate an array of char ptrs for storing the device node names */ +- if(!(devnameArray = (char **)xalloc(numDevSections * sizeof(char *)))) { +- xfree(minorArray); ++ if(!(devnameArray = (char **)malloc(numDevSections * sizeof(char *)))) { ++ free(minorArray); + return FALSE; + } + +@@ -420,20 +420,20 @@ SISUSBProbe(DriverPtr drv, int flags) + if((myminor = SiSUSBFindUSBDongle(devSections[i], minorArray, numDevSections, &nameptr)) >= 0) { + if(!SiSUSBFindDuplicate(myminor, minorArray, numDevSections)) { + minorArray[numUsed] = myminor; +- devnameArray[numUsed] = xalloc(strlen(nameptr) + 1); ++ devnameArray[numUsed] = malloc(strlen(nameptr) + 1); + strcpy(devnameArray[numUsed], nameptr); + numUsed++; + } +- xfree(nameptr); ++ free(nameptr); + } + } + + /* Free the minor array, we don't need it anymore */ +- xfree(minorArray); ++ free(minorArray); + + if(numUsed <= 0) { +- xfree(devSections); +- xfree(devnameArray); ++ free(devSections); ++ free(devnameArray); + return FALSE; + } + +@@ -470,8 +470,8 @@ SISUSBProbe(DriverPtr drv, int flags) + + } + +- xfree(devSections); +- xfree(devnameArray); ++ free(devSections); ++ free(devnameArray); + return foundScreen; + } + +@@ -622,10 +622,10 @@ SISUSBCalculateGammaRamp(ScreenPtr pScreen, ScrnInfoPtr pScrn) + if(!(nramp = xf86GetGammaRampSize(pScreen))) return; + + for(i=0; i<3; i++) { +- ramp[i] = (UShort *)xalloc(nramp * sizeof(UShort)); ++ ramp[i] = (UShort *)malloc(nramp * sizeof(UShort)); + if(!ramp[i]) { +- if(ramp[0]) { xfree(ramp[0]); ramp[0] = NULL; } +- if(ramp[1]) { xfree(ramp[1]); ramp[1] = NULL; } ++ if(ramp[0]) { free(ramp[0]); ramp[0] = NULL; } ++ if(ramp[1]) { free(ramp[1]); ramp[1] = NULL; } + return; + } + } +@@ -685,9 +685,9 @@ SISUSBCalculateGammaRamp(ScreenPtr pScreen, ScrnInfoPtr pScrn) + + xf86ChangeGammaRamp(pScreen, nramp, ramp[0], ramp[1], ramp[2]); + +- xfree(ramp[0]); +- xfree(ramp[1]); +- xfree(ramp[2]); ++ free(ramp[0]); ++ free(ramp[1]); ++ free(ramp[2]); + ramp[0] = ramp[1] = ramp[2] = NULL; + } + #endif +@@ -906,11 +906,11 @@ SISUSBPreInit(ScrnInfoPtr pScrn, int flags) + Bool gotit = FALSE; + + if(!ioctl(fd, SISUSBFB_GET_INFO_SIZE, &sisfbinfosize)) { +- if((mysisfbinfo = xalloc(sisfbinfosize))) { ++ if((mysisfbinfo = malloc(sisfbinfosize))) { + if(!ioctl(fd, (SISUSBFB_GET_INFO | (sisfbinfosize << 16)), mysisfbinfo)) { + gotit = TRUE; + } else { +- xfree(mysisfbinfo); ++ free(mysisfbinfo); + mysisfbinfo = NULL; + } + } +@@ -944,7 +944,7 @@ SISUSBPreInit(ScrnInfoPtr pScrn, int flags) + + } + } +- xfree(mysisfbinfo); ++ free(mysisfbinfo); + mysisfbinfo = NULL; + } + close (fd); +@@ -1147,7 +1147,7 @@ SISUSBPreInit(ScrnInfoPtr pScrn, int flags) + #endif + + if(pSiSUSB->HWCursor) { +- if(!(pSiSUSB->USBCursorBuf = xcalloc(pSiSUSB->CursorSize * 4, 1))) pSiSUSB->HWCursor = FALSE; ++ if(!(pSiSUSB->USBCursorBuf = calloc(pSiSUSB->CursorSize * 4, 1))) pSiSUSB->HWCursor = FALSE; + + pSiSUSB->availMem -= (pSiSUSB->CursorSize * 2); + if(pSiSUSB->OptUseColorCursor) pSiSUSB->availMem -= (pSiSUSB->CursorSize * 2); +@@ -1456,8 +1456,8 @@ SISUSBMapMem(ScrnInfoPtr pScrn) + { + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + +- pSiSUSB->FbBase = (UChar *)pSiSUSB->FbAddress; +- pSiSUSB->IOBase = (UChar *)pSiSUSB->IOAddress; ++ pSiSUSB->FbBase = (UChar *)(uintptr_t)pSiSUSB->FbAddress; ++ pSiSUSB->IOBase = (UChar *)(uintptr_t)pSiSUSB->IOAddress; + + return TRUE; + } +@@ -1638,10 +1638,10 @@ SISUSBBridgeRestore(ScrnInfoPtr pScrn) + + /* Our generic BlockHandler for Xv */ + static void +-SISUSBBlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask) ++SISUSBBlockHandler(BLOCKHANDLER_ARGS_DECL) + { +- ScreenPtr pScreen = screenInfo.screens[i]; +- ScrnInfoPtr pScrn = xf86Screens[i]; ++ SCREEN_PTR(arg); ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + + if((pSiSUSB->sisusbfatalerror) && (pSiSUSB->timeout != -1)) { +@@ -1651,7 +1651,7 @@ SISUSBBlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask + pSiSUSB->sisusberrorsleepcount = 0; + pSiSUSB->sisusbfatalerror = 0; + pSiSUSB->sisusbdevopen = TRUE; +- (*pScrn->SwitchMode)(pScrn->scrnIndex, pScrn->currentMode, 0); ++ (*pScrn->SwitchMode)(SWITCH_MODE_ARGS(pScrn, pScrn->currentMode)); + pSiSUSB->ShBoxcount = 1; + pSiSUSB->ShXmin = pSiSUSB->ShYmin = 0; + pSiSUSB->ShXmax = pScrn->virtualX; +@@ -1669,7 +1669,7 @@ SISUSBBlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask + SISUSBDoRefreshArea(pScrn); + + pScreen->BlockHandler = pSiSUSB->BlockHandler; +- (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask); ++ (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS); + pScreen->BlockHandler = SISUSBBlockHandler; + + if(pSiSUSB->VideoTimerCallback) { +@@ -1686,9 +1686,9 @@ SISUSBBlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask + * depth, bitsPerPixel) + */ + static Bool +-SISUSBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) ++SISUSBScreenInit(SCREEN_INIT_ARGS_DECL) + { +- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + int ret; + VisualPtr visual; +@@ -1784,7 +1784,7 @@ SISUSBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + SISUSBSaveScreen(pScreen, SCREEN_SAVER_ON); + + /* Set the viewport */ +- SISUSBAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); ++ SISUSBAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0)); + + /* Reset visual list. */ + miClearVisualTypes(); +@@ -1811,7 +1811,7 @@ SISUSBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + if(pSiSUSB->ShadowFB) { + pSiSUSB->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * displayWidth); +- pSiSUSB->ShadowPtr = xalloc(pSiSUSB->ShadowPitch * height); ++ pSiSUSB->ShadowPtr = malloc(pSiSUSB->ShadowPitch * height); + if(!(FBStart = pSiSUSB->ShadowPtr)) { + SISUSBSaveScreen(pScreen, SCREEN_SAVER_OFF); + SISUSBErrorLog(pScrn, "Failed to allocate shadow framebuffer\n"); +@@ -1820,7 +1820,7 @@ SISUSBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + #if X_BYTE_ORDER == X_BIG_ENDIAN + if(pScrn->bitsPerPixel == 16) { + /* For 16bpp, we need to swap the bytes in the framebuffer */ +- if(!(pSiSUSB->ShadowPtrSwap = xalloc(pSiSUSB->ShadowPitch * height))) { ++ if(!(pSiSUSB->ShadowPtrSwap = malloc(pSiSUSB->ShadowPitch * height))) { + SISUSBSaveScreen(pScreen, SCREEN_SAVER_OFF); + SISUSBErrorLog(pScrn, "Failed to allocate swap buffer for shadow framebuffer\n"); + return FALSE; +@@ -2044,13 +2044,13 @@ SISUSBScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) + + /* Usually mandatory */ + Bool +-SISUSBSwitchMode(int scrnIndex, DisplayModePtr mode, int flags) ++SISUSBSwitchMode(SWITCH_MODE_ARGS_DECL) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ++ SCRN_INFO_PTR(arg); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + + if(!pSiSUSB->skipswitchcheck) { +- if(SISUSBValidMode(scrnIndex, mode, TRUE, flags) != MODE_OK) { ++ if(SISUSBValidMode(arg, mode, TRUE, 0) != MODE_OK) { + return FALSE; + } + } +@@ -2061,7 +2061,7 @@ SISUSBSwitchMode(int scrnIndex, DisplayModePtr mode, int flags) + } + #endif + +- if(!(SISUSBModeInit(xf86Screens[scrnIndex], mode))) return FALSE; ++ if(!(SISUSBModeInit(pScrn, mode))) return FALSE; + + return TRUE; + } +@@ -2089,9 +2089,9 @@ SISUSBSetStartAddressCRT1(SISUSBPtr pSiSUSB, ULong base) + * Usually mandatory + */ + void +-SISUSBAdjustFrame(int scrnIndex, int x, int y, int flags) ++SISUSBAdjustFrame(ADJUST_FRAME_ARGS_DECL) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ++ SCRN_INFO_PTR(arg); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + ULong base; + +@@ -2130,9 +2130,9 @@ SISUSBAdjustFrame(int scrnIndex, int x, int y, int flags) + * Mandatory! + */ + static Bool +-SISUSBEnterVT(int scrnIndex, int flags) ++SISUSBEnterVT(VT_FUNC_ARGS_DECL) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ++ SCRN_INFO_PTR(arg); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + + SiSUSB_SiSFB_Lock(pScrn, TRUE); +@@ -2148,7 +2148,7 @@ SISUSBEnterVT(int scrnIndex, int flags) + return FALSE; + } + +- SISUSBAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); ++ SISUSBAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0)); + + if(pSiSUSB->ResetXv) { + (pSiSUSB->ResetXv)(pScrn); +@@ -2163,9 +2163,9 @@ SISUSBEnterVT(int scrnIndex, int flags) + * Mandatory! + */ + static void +-SISUSBLeaveVT(int scrnIndex, int flags) ++SISUSBLeaveVT(VT_FUNC_ARGS_DECL) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ++ SCRN_INFO_PTR(arg); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + + if(pSiSUSB->CursorInfoPtr) { +@@ -2197,9 +2197,9 @@ SISUSBLeaveVT(int scrnIndex, int flags) + * Mandatory! + */ + static Bool +-SISUSBCloseScreen(int scrnIndex, ScreenPtr pScreen) ++SISUSBCloseScreen(CLOSE_SCREEN_ARGS_DECL) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + + if(pSiSUSB->SiSCtrlExtEntry) { +@@ -2238,24 +2238,24 @@ SISUSBCloseScreen(int scrnIndex, ScreenPtr pScreen) + } + + if(pSiSUSB->USBCursorBuf) { +- xfree(pSiSUSB->USBCursorBuf); ++ free(pSiSUSB->USBCursorBuf); + pSiSUSB->USBCursorBuf = NULL; + } + + if(pSiSUSB->ShadowPtr) { +- xfree(pSiSUSB->ShadowPtr); ++ free(pSiSUSB->ShadowPtr); + pSiSUSB->ShadowPtr = NULL; + } + + #if 0 + if(pSiSUSB->PreAllocMem) { +- xfree(pSiSUSB->PreAllocMem); ++ free(pSiSUSB->PreAllocMem); + pSiSUSB->PreAllocMem = NULL; + } + #endif + + if(pSiSUSB->adaptor) { +- xfree(pSiSUSB->adaptor); ++ free(pSiSUSB->adaptor); + pSiSUSB->adaptor = NULL; + pSiSUSB->ResetXv = pSiSUSB->ResetXvGamma = NULL; + } +@@ -2273,7 +2273,7 @@ SISUSBCloseScreen(int scrnIndex, ScreenPtr pScreen) + + pScreen->CloseScreen = pSiSUSB->CloseScreen; + +- return(*pScreen->CloseScreen)(scrnIndex, pScreen); ++ return(*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS); + } + + +@@ -2281,18 +2281,19 @@ SISUSBCloseScreen(int scrnIndex, ScreenPtr pScreen) + + /* Optional */ + static void +-SISUSBFreeScreen(int scrnIndex, int flags) ++SISUSBFreeScreen(FREE_SCREEN_ARGS_DECL) + { +- SISUSBFreeRec(xf86Screens[scrnIndex]); ++ SCRN_INFO_PTR(arg); ++ SISUSBFreeRec(pScrn); + } + + + /* Checks if a mode is suitable for the selected chipset. */ + + static ModeStatus +-SISUSBValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) ++SISUSBValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ++ SCRN_INFO_PTR(arg); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + + if(SiSUSB_CheckModeCRT1(pScrn, mode, pSiSUSB->VBFlags, pSiSUSB->HaveCustomModes) < 0x14) +diff --git a/src/sisusb_driver.h b/src/sisusb_driver.h +index c4bc1dd..d0002d1 100644 +--- a/src/sisusb_driver.h ++++ b/src/sisusb_driver.h +@@ -71,20 +71,20 @@ static const struct _sis_vrate { + static void SISUSBIdentify(int flags); + static Bool SISUSBProbe(DriverPtr drv, int flags); + static Bool SISUSBPreInit(ScrnInfoPtr pScrn, int flags); +-static Bool SISUSBScreenInit(int Index, ScreenPtr pScreen, int argc, char **argv); +-static Bool SISUSBEnterVT(int scrnIndex, int flags); +-static void SISUSBLeaveVT(int scrnIndex, int flags); +-static Bool SISUSBCloseScreen(int scrnIndex, ScreenPtr pScreen); ++static Bool SISUSBScreenInit(SCREEN_INIT_ARGS_DECL); ++static Bool SISUSBEnterVT(VT_FUNC_ARGS_DECL); ++static void SISUSBLeaveVT(VT_FUNC_ARGS_DECL); ++static Bool SISUSBCloseScreen(CLOSE_SCREEN_ARGS_DECL); + static Bool SISUSBSaveScreen(ScreenPtr pScreen, int mode); +-static Bool SISUSBSwitchMode(int scrnIndex, DisplayModePtr mode, int flags); +-static void SISUSBAdjustFrame(int scrnIndex, int x, int y, int flags); ++static Bool SISUSBSwitchMode(SWITCH_MODE_ARGS_DECL); ++static void SISUSBAdjustFrame(ADJUST_FRAME_ARGS_DECL); + #ifdef SISUSB_HAVE_DRIVER_FUNC + static Bool SISUSBDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op, pointer p); + #endif + + /* Optional functions */ +-static void SISUSBFreeScreen(int scrnIndex, int flags); +-static ModeStatus SISUSBValidMode(int scrnIndex, DisplayModePtr mode, ++static void SISUSBFreeScreen(FREE_SCREEN_ARGS_DECL); ++static ModeStatus SISUSBValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, + Bool verbose, int flags); + + /* Internally used functions */ +diff --git a/src/sisusb_init.c b/src/sisusb_init.c +index ba44431..99ec519 100644 +--- a/src/sisusb_init.c ++++ b/src/sisusb_init.c +@@ -1301,10 +1301,10 @@ SiSUSBBuildBuiltInModeList(ScrnInfoPtr pScrn, BOOLEAN includelcdmodes, BOOLEAN i + } + } + +- if(!(new = xalloc(sizeof(DisplayModeRec)))) return first; ++ if(!(new = malloc(sizeof(DisplayModeRec)))) return first; + memset(new, 0, sizeof(DisplayModeRec)); +- if(!(new->name = xalloc(10))) { +- xfree(new); ++ if(!(new->name = malloc(10))) { ++ free(new); + return first; + } + if(!first) first = new; +diff --git a/src/sisusb_opt.c b/src/sisusb_opt.c +index d4612b0..4d5cfa3 100644 +--- a/src/sisusb_opt.c ++++ b/src/sisusb_opt.c +@@ -228,7 +228,7 @@ SiSUSBOptions(ScrnInfoPtr pScrn) + xf86CollectOptions(pScrn, NULL); + + /* Process the options */ +- if(!(pSiSUSB->Options = xalloc(sizeof(SISUSBOptions)))) return; ++ if(!(pSiSUSB->Options = malloc(sizeof(SISUSBOptions)))) return; + + memcpy(pSiSUSB->Options, SISUSBOptions, sizeof(SISUSBOptions)); + +diff --git a/src/sisusb_osdef.h b/src/sisusb_osdef.h +index 2d938ad..500bffb 100644 +--- a/src/sisusb_osdef.h ++++ b/src/sisusb_osdef.h +@@ -77,11 +77,11 @@ + + #define SIS315H + +-#define OutPortByte(p,v) outSISREG((IOADDRESS)(p),(CARD8)(v)) +-#define OutPortWord(p,v) outSISREGW((IOADDRESS)(p),(CARD16)(v)) +-#define OutPortLong(p,v) outSISREGL((IOADDRESS)(p),(CARD32)(v)) +-#define InPortByte(p) inSISREG((IOADDRESS)(p)) +-#define InPortWord(p) inSISREGW((IOADDRESS)(p)) +-#define InPortLong(p) inSISREGL((IOADDRESS)(p)) ++#define OutPortByte(p,v) outSISREG((unsigned long)(p),(CARD8)(v)) ++#define OutPortWord(p,v) outSISREGW((unsigned long)(p),(CARD16)(v)) ++#define OutPortLong(p,v) outSISREGL((unsigned long)(p),(CARD32)(v)) ++#define InPortByte(p) inSISREG((unsigned long)(p)) ++#define InPortWord(p) inSISREGW((unsigned long)(p)) ++#define InPortLong(p) inSISREGL((unsigned long)(p)) + + #endif /* _SISUSB_OSDEF_H_ */ +diff --git a/src/sisusb_types.h b/src/sisusb_types.h +index 04c7a7a..9fc6b41 100644 +--- a/src/sisusb_types.h ++++ b/src/sisusb_types.h +@@ -51,6 +51,8 @@ + #ifndef _VGATYPES_ + #define _VGATYPES_ + ++#include <xf86Pci.h> ++ + #ifndef FALSE + #define FALSE 0 + #endif +@@ -93,7 +95,7 @@ typedef unsigned char BOOLEAN; + + #define SISIOMEMTYPE + +-typedef IOADDRESS SISIOADDRESS; ++typedef unsigned long SISIOADDRESS; + + typedef enum _SIS_CHIP_TYPE { + SIS_VGALegacy = 0, +diff --git a/src/sisusb_utility.c b/src/sisusb_utility.c +index 8c03d63..a9c1ee1 100644 +--- a/src/sisusb_utility.c ++++ b/src/sisusb_utility.c +@@ -34,8 +34,6 @@ + #endif + + #include "sisusb.h" +-#define NEED_REPLIES +-#define NEED_EVENTS + #include <X11/X.h> + #include "dixstruct.h" + +@@ -789,10 +787,10 @@ SiSUSBProcSiSCtrlQueryVersion(ClientPtr client) + rep.majorVersion = SISCTRL_MAJOR_VERSION; + rep.minorVersion = SISCTRL_MINOR_VERSION; + if(client->swapped) { +- swaps(&rep.sequenceNumber, n); +- swapl(&rep.length, n); +- swaps(&rep.majorVersion, n); +- swaps(&rep.minorVersion, n); ++ _swaps(&rep.sequenceNumber, n); ++ _swapl(&rep.length, n); ++ _swaps(&rep.majorVersion, n); ++ _swaps(&rep.minorVersion, n); + } + WriteToClient(client, sizeof(xSiSCtrlQueryVersionReply), (char *)&rep); + return (client->noClientException); +@@ -834,15 +832,15 @@ SiSUSBProcSiSCtrlCommand(ClientPtr client) + rep.sequenceNumber = client->sequence; + + if(client->swapped) { +- swaps(&rep.sequenceNumber, n); +- swapl(&rep.length, n); +- swapl(&rep.screen, n); +- swapl(&rep.sdc_id, n); +- swapl(&rep.sdc_command, n); +- swapl(&rep.sdc_result_header, n); ++ _swaps(&rep.sequenceNumber, n); ++ _swapl(&rep.length, n); ++ _swapl(&rep.screen, n); ++ _swapl(&rep.sdc_id, n); ++ _swapl(&rep.sdc_command, n); ++ _swapl(&rep.sdc_result_header, n); + for(i = 0; i < SDC_NUM_PARM_RESULT; i++) { +- swapl(&rep.sdc_parm[i], n); +- swapl(&rep.sdc_result[i], n); ++ _swapl(&rep.sdc_parm[i], n); ++ _swapl(&rep.sdc_result[i], n); + } + } + WriteToClient(client, sizeof(xSiSCtrlCommandReply), (char *)&rep); +@@ -869,7 +867,7 @@ SiSUSBSProcSiSCtrlQueryVersion(ClientPtr client) + { + REQUEST(xSiSCtrlQueryVersionReq); + register int n; +- swaps(&stuff->length, n); ++ _swaps(&stuff->length, n); + REQUEST_SIZE_MATCH(xSiSCtrlQueryVersionReq); + return SiSUSBProcSiSCtrlQueryVersion(client); + } +@@ -880,14 +878,14 @@ SiSUSBSProcSiSCtrlCommand(ClientPtr client) + REQUEST(xSiSCtrlCommandReq); + register int n; + int i; +- swaps(&stuff->length, n); +- swapl(&stuff->screen, n); +- swapl(&stuff->sdc_id, n); +- swapl(&stuff->sdc_command, n); +- swapl(&stuff->sdc_result_header, n); ++ _swaps(&stuff->length, n); ++ _swapl(&stuff->screen, n); ++ _swapl(&stuff->sdc_id, n); ++ _swapl(&stuff->sdc_command, n); ++ _swapl(&stuff->sdc_result_header, n); + for(i = 0; i < SDC_NUM_PARM_RESULT; i++) { +- swapl(&stuff->sdc_parm[i], n); +- swapl(&stuff->sdc_result[i], n); ++ _swapl(&stuff->sdc_parm[i], n); ++ _swapl(&stuff->sdc_result[i], n); + } + REQUEST_SIZE_MATCH(xSiSCtrlCommandReq); + return SiSUSBProcSiSCtrlCommand(client); +@@ -911,7 +909,7 @@ SiSUSBCtrlResetProc(ExtensionEntry* extEntry) + { + /* Called by CloseDownExtensions() */ + if(extEntry->extPrivate) { +- xfree(extEntry->extPrivate); ++ free(extEntry->extPrivate); + extEntry->extPrivate = NULL; + } + } +@@ -928,7 +926,7 @@ SiSUSBCtrlExtInit(ScrnInfoPtr pScrn) + + if(!(myext = CheckExtension(SISCTRL_PROTOCOL_NAME))) { + +- if(!(myctrl = xcalloc(sizeof(xSiSCtrlScreenTable), 1))) ++ if(!(myctrl = calloc(sizeof(xSiSCtrlScreenTable), 1))) + return; + + if(!(myext = AddExtension(SISCTRL_PROTOCOL_NAME, 0, 0, +@@ -938,7 +936,7 @@ SiSUSBCtrlExtInit(ScrnInfoPtr pScrn) + StandardMinorOpcode))) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Failed to add SISCTRL extension\n"); +- xfree(myctrl); ++ free(myctrl); + return; + } + +diff --git a/src/sisusb_vga.c b/src/sisusb_vga.c +index 404a2b1..1c9761d 100644 +--- a/src/sisusb_vga.c ++++ b/src/sisusb_vga.c +@@ -327,7 +327,7 @@ SiSUSBVGASaveScreen(ScreenPtr pScreen, int mode) + + if(pScreen == NULL) return FALSE; + +- pScrn = xf86Screens[pScreen->myNum]; ++ pScrn = xf86ScreenToScrn(pScreen); + + if(pScrn->vtSema) { + SISUSBVGABlankScreen(pScrn, on); +diff --git a/src/sisusb_video.c b/src/sisusb_video.c +index bc469b0..9340696 100644 +--- a/src/sisusb_video.c ++++ b/src/sisusb_video.c +@@ -196,7 +196,7 @@ SISUSBResetXvGamma(ScrnInfoPtr pScrn) + + void SISUSBInitVideo(ScreenPtr pScreen) + { +- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + XF86VideoAdaptorPtr *adaptors, *newAdaptors = NULL; + XF86VideoAdaptorPtr newAdaptor = NULL; + int num_adaptors; +@@ -216,7 +216,7 @@ void SISUSBInitVideo(ScreenPtr pScreen) + + if(newAdaptor) size++; + +- newAdaptors = xalloc(size * sizeof(XF86VideoAdaptorPtr*)); ++ newAdaptors = malloc(size * sizeof(XF86VideoAdaptorPtr*)); + if(newAdaptors) { + if(num_adaptors) { + memcpy(newAdaptors, adaptors, num_adaptors * sizeof(XF86VideoAdaptorPtr)); +@@ -234,7 +234,7 @@ void SISUSBInitVideo(ScreenPtr pScreen) + } + + if(newAdaptors) { +- xfree(newAdaptors); ++ free(newAdaptors); + } + } + +@@ -372,12 +372,12 @@ set_maxencoding(SISUSBPtr pSiSUSB, SISUSBPortPrivPtr pPriv) + static XF86VideoAdaptorPtr + SISUSBSetupImageVideo(ScreenPtr pScreen) + { +- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + SISUSBPtr pSiSUSB = SISUSBPTR(pScrn); + XF86VideoAdaptorPtr adapt; + SISUSBPortPrivPtr pPriv; + +- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + ++ if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + + sizeof(SISUSBPortPrivRec) + + sizeof(DevUnion)))) + return NULL; +@@ -1477,7 +1477,7 @@ SISUSBAllocateOverlayMemory( + xf86FreeOffscreenLinear(linear); + } + +- pScreen = screenInfo.screens[pScrn->scrnIndex]; ++ pScreen = xf86ScrnToScreen(pScrn); + + new_linear = xf86AllocateOffscreenLinear(pScreen, size, 8, + NULL, NULL, NULL); _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
