Index: atiprobe.c =================================================================== RCS file: /cvs/xorg/driver/xf86-video-ati/src/atiprobe.c,v retrieving revision 1.7 diff -u -r1.7 atiprobe.c --- atiprobe.c 22 Mar 2006 22:30:14 -0000 1.7 +++ atiprobe.c 31 May 2006 18:51:47 -0000 @@ -65,6 +65,11 @@ * largely ignored. */ +#ifdef XFree86LOADER +typedef void (*ATIFillInScreenInfoFn)(ScrnInfoPtr); +ATIFillInScreenInfoFn ATIFillInScreenInfoPtr = NULL; +#endif + /* Used as a temporary buffer */ #define Identifier ((char *)(pATI->MMIOCache)) @@ -2282,6 +2287,8 @@ xf86LoaderReqSymLists(ATISymbols, NULL); + ATIFillInScreenInfoPtr = (ATIFillInScreenInfoFn)LoaderSymbol("ATIFilInScreenInfo"); + #endif /* Attach device to screen */ @@ -2290,7 +2297,11 @@ ATIPtrs[j - 1] = NULL; /* Fill in probe data */ +#ifdef XFree86LOADER + (*ATIFillInScreenInfoPtr)(pScreenInfo); +#else ATIFillInScreenInfo(pScreenInfo); +#endif pScreenInfo->driverPrivate = pATI; Index: r128_probe.c =================================================================== RCS file: /cvs/xorg/driver/xf86-video-ati/src/r128_probe.c,v retrieving revision 1.8 diff -u -r1.8 r128_probe.c --- r128_probe.c 22 Mar 2006 22:30:14 -0000 1.8 +++ r128_probe.c 31 May 2006 18:51:47 -0000 @@ -54,6 +54,13 @@ #include "r128_chipset.h" +#ifdef XFree86LOADER +typedef void (*R128FillInScreenInfoFn)(ScrnInfoPtr); +typedef const OptionInfoRec *(*R128OptionsWeakFn)(void); +static R128FillInScreenInfoFn R128FillInScreenInfoPtr = NULL; +static R128OptionsWeakFn R128OptionsWeakPtr = NULL; +#endif + PciChipsets R128PciChipsets[] = { { PCI_CHIP_RAGE128LE, PCI_CHIP_RAGE128LE, RES_SHARED_VGA }, { PCI_CHIP_RAGE128LF, PCI_CHIP_RAGE128LF, RES_SHARED_VGA }, @@ -121,7 +128,11 @@ chipid -= PCI_VENDOR_ATI << 16; for (i = 0; R128PciChipsets[i].PCIid > 0; i++) { if (chipid == R128PciChipsets[i].PCIid) +#ifdef XFree86LOADER + return (*R128OptionsWeakPtr)(); +#else return R128OptionsWeak(); +#endif } return NULL; } @@ -207,10 +218,16 @@ xf86LoaderReqSymLists(R128Symbols, NULL); + R128FillInScreenInfoPtr = (R128FillInScreenInfoFn)LoaderSymbol("R128FillInScreenInfo"); + R128OptionsWeakPtr = (R128OptionsWeakFn)LoaderSymbol("R128OptionsWeak"); #endif pScrn->Probe = R128Probe; +#ifdef XFree86LOADER + (*R128FillInScreenInfoPtr)(pScrn); +#else R128FillInScreenInfo(pScrn); +#endif foundScreen = TRUE; Index: radeon_probe.c =================================================================== RCS file: /cvs/xorg/driver/xf86-video-ati/src/radeon_probe.c,v retrieving revision 1.15 diff -u -r1.15 radeon_probe.c --- radeon_probe.c 22 Mar 2006 22:30:14 -0000 1.15 +++ radeon_probe.c 31 May 2006 18:51:47 -0000 @@ -55,6 +55,13 @@ #include "radeon_chipset.h" +#ifdef XFree86LOADER +typedef void (*RADEONFillInScreenInfoFn)(ScrnInfoPtr); +typedef const OptionInfoRec *(*RADEONOptionsWeakFn)(void); +static RADEONFillInScreenInfoFn RADEONFillInScreenInfoPtr = NULL; +static RADEONOptionsWeakFn RADEONOptionsWeakPtr = NULL; +#endif + PciChipsets RADEONPciChipsets[] = { { PCI_CHIP_RADEON_QD, PCI_CHIP_RADEON_QD, RES_SHARED_VGA }, { PCI_CHIP_RADEON_QE, PCI_CHIP_RADEON_QE, RES_SHARED_VGA }, @@ -214,7 +221,11 @@ chipid -= PCI_VENDOR_ATI << 16; for (i = 0; RADEONPciChipsets[i].PCIid > 0; i++) { if (chipid == RADEONPciChipsets[i].PCIid) +#ifdef XFree86LOADER + return (*RADEONOptionsWeakPtr)(); +#else return RADEONOptionsWeak(); +#endif } return NULL; } @@ -295,10 +306,17 @@ } xf86LoaderReqSymLists(RADEONSymbols, NULL); + + RADEONFillInScreenInfoPtr = (RADEONFillInScreenInfoFn)LoaderSymbol("RADEONFillInScreenInfo"); + RADEONOptionsWeakPtr = (RADEONOptionsWeakFn)LoaderSymbol("RADEONOptionsWeak"); #endif pScrn->Probe = RADEONProbe; +#ifdef XFree86LOADER + (*RADEONFillInScreenInfoPtr)(pScrn); +#else RADEONFillInScreenInfo(pScrn); +#endif foundScreen = TRUE; }