summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Romanick <idr@us.ibm.com>2008-04-11 14:22:07 -0700
committerIan Romanick <idr@us.ibm.com>2008-04-11 14:22:07 -0700
commitf4dfb7ba1ae01ce1b401536328fee348322b8423 (patch)
tree7c3a63b039fe05d5b90e26ac3d8386e13fbb2c55
parent044583037a109894f43ccb9a0b9c9e95266d004a (diff)
Load required modules and symbols from XGISetup
-rw-r--r--src/xgi_driver.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/xgi_driver.c b/src/xgi_driver.c
index bf0d253..ce45c69 100644
--- a/src/xgi_driver.c
+++ b/src/xgi_driver.c
@@ -398,7 +398,22 @@ static pointer XGISetup(pointer module,
*/
isInited = TRUE;
xf86AddDriver(&XGI, module, 1);
- LoaderRefSymLists(vgahwSymbols, fbSymbols, i2cSymbols, ramdacSymbols,
+
+ if (!LoadSubModule(module, "fb", NULL, NULL, NULL, NULL,
+ NULL, NULL)) {
+ return NULL;
+ }
+
+ if (!LoadSubModule(module, "vgahw", NULL, NULL, NULL, NULL,
+ NULL, NULL)) {
+ return NULL;
+ }
+
+ LoaderReqSymLists(vgahwSymbols, fbSymbols, driSymbols, drmSymbols,
+ NULL);
+
+
+ LoaderRefSymLists(i2cSymbols, ramdacSymbols,
xaaSymbols, shadowSymbols, fbdevHWSymbols, NULL);
/*
@@ -1322,11 +1337,6 @@ static Bool XGIPreInitModes(ScrnInfoPtr pScrn)
/* Set the DPI */
xf86SetDpi(pScrn, 0, 0);
- /* Get ScreenInit function */
- mod = "fb";
- if (mod && !xf86LoadSubModule(pScrn, mod)) return FALSE;
- xf86LoaderReqSymLists(fbSymbols, NULL);
-
#if DBG_FLOW
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "-- Leave %s() %s:%d\n", __FUNCTION__, __FILE__, __LINE__);
#endif
@@ -1680,9 +1690,6 @@ Bool XGIPreInit(ScrnInfoPtr pScrn, int flags)
return TRUE;
}
- if (!xf86LoadSubModule(pScrn, "vgahw")) return FALSE;
- xf86LoaderReqSymLists(vgahwSymbols, NULL);
-
if (!vgaHWGetHWRec(pScrn))
{
XGIFreeRec(pScrn);
@@ -2001,8 +2008,6 @@ Bool XGIScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
XGITRACE(("XGIScreenInit %x %d\n", pScrn->memPhysBase, pScrn->fbOffset));
- xf86LoaderReqSymLists(driSymbols, drmSymbols, NULL);
-
pXGI->directRenderingEnabled = XGIDRIScreenInit(pScreen);
if (!pXGI->directRenderingEnabled) {
goto fail;