Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 88026 Details for
Bug 110506
modular X needs -nonow in xorg-server, and all driver ebuilds
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Remove circular references between cirrus driver and its sub-modules.
xf86-video-cirrus-mainnorefsub.patch (text/plain), 2.51 KB, created by
Kevin F. Quinn (RETIRED)
on 2006-05-31 12:34:29 UTC
(
hide
)
Description:
Remove circular references between cirrus driver and its sub-modules.
Filename:
MIME Type:
Creator:
Kevin F. Quinn (RETIRED)
Created:
2006-05-31 12:34:29 UTC
Size:
2.51 KB
patch
obsolete
>--- src/cir_driver.c.orig 2006-05-28 12:24:07.000000000 +0200 >+++ src/cir_driver.c 2006-05-28 12:46:58.000000000 +0200 >@@ -119,16 +119,29 @@ > * unresolved symbols that are not required. > */ > >+typedef enum {AvailableOptions, Probe} SubSymbolIdx; >+typedef ScrnInfoPtr (*subFunctionPtr)(int); >+ > static const char *alpSymbols[] = { > "AlpAvailableOptions", > "AlpProbe", > NULL > }; >+subFunctionPtr alpRefs[] = { >+ NULL, >+ NULL, >+ NULL >+}; > static const char *lgSymbols[] = { > "LgAvailableOptions", > "LgProbe", > NULL > }; >+subFunctionPtr lgRefs[] = { >+ NULL, >+ NULL, >+ NULL >+}; > > static const char *vbeSymbols[] = { > "VBEInit", >@@ -200,13 +213,13 @@ > case PCI_CHIP_GD5464BD: > case PCI_CHIP_GD5465: > if (lg_loaded) >- return LgAvailableOptions(chipid); >+ return (*lgRefs[AvailableOptions])(chipid); > else > return NULL; > > default: > if (alp_loaded) >- return AlpAvailableOptions(chipid); >+ return (*alpRefs[AvailableOptions])(chipid); > else > return NULL; > } >@@ -215,7 +228,7 @@ > static Bool > CIRProbe(DriverPtr drv, int flags) > { >- int i; >+ int i, symidx; > GDevPtr *devSections; > pciVideoPtr pPci; > int *usedChips; >@@ -238,12 +251,18 @@ > if (!lg_loaded) { > if (xf86LoadDrvSubModule(drv, "cirrus_laguna")) { > xf86LoaderReqSymLists(lgSymbols, NULL); >+ for (symidx=0; lgSymbols[symidx]!=NULL; symidx++) { >+ lgRefs[symidx]=(subFunctionPtr)LoaderSymbol(lgSymbols[symidx]); >+ } > lg_loaded = TRUE; > } > } > if (!alp_loaded) { > if (xf86LoadDrvSubModule(drv, "cirrus_alpine")) { > xf86LoaderReqSymLists(alpSymbols, NULL); >+ for (symidx=0; alpSymbols[symidx]!=NULL; symidx++) { >+ alpRefs[symidx]=(subFunctionPtr)LoaderSymbol(alpSymbols[symidx]); >+ } > alp_loaded = TRUE; > } > } >@@ -288,17 +307,23 @@ > if (!xf86LoadDrvSubModule(drv, "cirrus_laguna")) > continue; > xf86LoaderReqSymLists(lgSymbols, NULL); >+ for (symidx=0; lgSymbols[symidx]!=NULL; symidx++) { >+ lgRefs[symidx]=(subFunctionPtr)LoaderSymbol(lgSymbols[symidx]); >+ } > lg_loaded = TRUE; > } >- pScrn = LgProbe(usedChips[i]); >+ pScrn = (*lgRefs[Probe])(usedChips[i]); > } else { > if (!alp_loaded) { > if (!xf86LoadDrvSubModule(drv, "cirrus_alpine")) > continue; > xf86LoaderReqSymLists(alpSymbols, NULL); >+ for (symidx=0; alpSymbols[symidx]!=NULL; symidx++) { >+ alpRefs[symidx]=(subFunctionPtr)LoaderSymbol(alpSymbols[symidx]); >+ } > alp_loaded = TRUE; > } >- pScrn = AlpProbe(usedChips[i]); >+ pScrn = (*alpRefs[Probe])(usedChips[i]); > } > > if (pScrn) {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 110506
: 88026 |
88027
|
88073