135 lines
3.2 KiB
C
135 lines
3.2 KiB
C
/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/atimodule.c,v 1.16 2003/05/28 14:08:03 tsi Exp $ */
|
|
/*
|
|
* Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
|
*
|
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
|
* documentation for any purpose is hereby granted without fee, provided that
|
|
* the above copyright notice appear in all copies and that both that copyright
|
|
* notice and this permission notice appear in supporting documentation, and
|
|
* that the name of Marc Aurele La France not be used in advertising or
|
|
* publicity pertaining to distribution of the software without specific,
|
|
* written prior permission. Marc Aurele La France makes no representations
|
|
* about the suitability of this software for any purpose. It is provided
|
|
* "as-is" without express or implied warranty.
|
|
*
|
|
* MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
|
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
|
|
* EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
|
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
* PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
|
|
#ifdef XFree86LOADER
|
|
|
|
#include "ati.h"
|
|
#include "atimodule.h"
|
|
#include "ativersion.h"
|
|
|
|
/* Module loader interface */
|
|
|
|
const char *ATISymbols[] =
|
|
{
|
|
"ATIPreInit",
|
|
"ATIScreenInit",
|
|
"ATISwitchMode",
|
|
"ATIAdjustFrame",
|
|
"ATIEnterVT",
|
|
"ATILeaveVT",
|
|
"ATIFreeScreen",
|
|
"ATIValidMode",
|
|
"ATIFillInScreenInfo",
|
|
NULL
|
|
};
|
|
|
|
const char *R128Symbols[] =
|
|
{
|
|
"R128PreInit",
|
|
"R128ScreenInit",
|
|
"R128SwitchMode",
|
|
"R128AdjustFrame",
|
|
"R128EnterVT",
|
|
"R128LeaveVT",
|
|
"R128FreeScreen",
|
|
"R128ValidMode",
|
|
"R128OptionsWeak",
|
|
"R128FillInScreenInfo",
|
|
NULL
|
|
};
|
|
|
|
const char *RADEONSymbols[] =
|
|
{
|
|
"RADEONPreInit",
|
|
"RADEONScreenInit",
|
|
"RADEONSwitchMode",
|
|
"RADEONAdjustFrame",
|
|
"RADEONEnterVT",
|
|
"RADEONLeaveVT",
|
|
"RADEONFreeScreen",
|
|
"RADEONValidMode",
|
|
"RADEONOptionsWeak",
|
|
"RADEONHandleMessage",
|
|
"RADEONFillInScreenInfo",
|
|
NULL
|
|
};
|
|
|
|
static XF86ModuleVersionInfo ATIVersionRec =
|
|
{
|
|
ATI_DRIVER_NAME,
|
|
MODULEVENDORSTRING,
|
|
MODINFOSTRING1,
|
|
MODINFOSTRING2,
|
|
XORG_VERSION_CURRENT,
|
|
ATI_VERSION_MAJOR, ATI_VERSION_MINOR, ATI_VERSION_PATCH,
|
|
ABI_CLASS_VIDEODRV,
|
|
ABI_VIDEODRV_VERSION,
|
|
MOD_CLASS_VIDEODRV,
|
|
{0, 0, 0, 0}
|
|
};
|
|
|
|
/*
|
|
* ATISetup --
|
|
*
|
|
* This function is called every time the module is loaded.
|
|
*/
|
|
static pointer
|
|
ATISetup
|
|
(
|
|
pointer Module,
|
|
pointer Options,
|
|
int *ErrorMajor,
|
|
int *ErrorMinor
|
|
)
|
|
{
|
|
static Bool Inited = FALSE;
|
|
|
|
if (!Inited)
|
|
{
|
|
Inited = TRUE;
|
|
xf86AddDriver(&ATI, Module, 0);
|
|
|
|
xf86LoaderRefSymLists(
|
|
ATISymbols,
|
|
R128Symbols,
|
|
RADEONSymbols,
|
|
NULL);
|
|
}
|
|
|
|
return (pointer)1;
|
|
}
|
|
|
|
/* The following record must be called atiModuleData */
|
|
_X_EXPORT XF86ModuleData atiModuleData =
|
|
{
|
|
&ATIVersionRec,
|
|
ATISetup,
|
|
NULL
|
|
};
|
|
|
|
#endif /* XFree86LOADER */
|