> From: Adam Jackson <[email protected]> > Date: Thu, 25 Sep 2014 13:37:34 -0400 > > No driver is using these, as far as I know.
The xf86-video-mga driver uses these, but only if DISABLE_VGA_IO is defined, and by default it isn't, and there is no configure option to turn it on. I'm a bit worried about silently ignoring the arguments passed to xf86ConfigFbEntity* and xf86ConfigPciEntity*. Perhaps throw a fatal error if any of the function pointers is non-NULL? > Signed-off-by: Adam Jackson <[email protected]> > --- > hw/xfree86/common/xf86.h | 3 --- > hw/xfree86/common/xf86Bus.c | 41 ----------------------------------------- > hw/xfree86/common/xf86Bus.h | 4 ---- > hw/xfree86/common/xf86Events.c | 4 ---- > hw/xfree86/common/xf86Helper.c | 3 --- > hw/xfree86/common/xf86Init.c | 3 --- > hw/xfree86/common/xf86PM.c | 3 --- > hw/xfree86/common/xf86Priv.h | 2 -- > hw/xfree86/common/xf86pciBus.c | 5 ----- > hw/xfree86/doc/ddxDesign.xml | 22 ++-------------------- > 10 files changed, 2 insertions(+), 88 deletions(-) > > diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h > index 49ff35b..25e2190 100644 > --- a/hw/xfree86/common/xf86.h > +++ b/hw/xfree86/common/xf86.h > @@ -156,9 +156,6 @@ extern _X_EXPORT GDevPtr xf86GetDevFromEntity(int > entityIndex, int instance); > extern _X_EXPORT void xf86RemoveEntityFromScreen(ScrnInfoPtr pScrn, > int entityIndex); > extern _X_EXPORT EntityInfoPtr xf86GetEntityInfo(int entityIndex); > -extern _X_EXPORT Bool xf86SetEntityFuncs(int entityIndex, EntityProc init, > - EntityProc enter, EntityProc leave, > - void *); > extern _X_EXPORT Bool xf86IsEntityPrimary(int entityIndex); > extern _X_EXPORT ScrnInfoPtr xf86FindScreenForEntity(int entityIndex); > > diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c > index bd3e4e3..a520e12 100644 > --- a/hw/xfree86/common/xf86Bus.c > +++ b/hw/xfree86/common/xf86Bus.c > @@ -290,19 +290,6 @@ xf86IsEntityPrimary(int entityIndex) > } > > Bool > -xf86SetEntityFuncs(int entityIndex, EntityProc init, EntityProc enter, > - EntityProc leave, void *private) > -{ > - if (entityIndex >= xf86NumEntities) > - return FALSE; > - xf86Entities[entityIndex]->entityInit = init; > - xf86Entities[entityIndex]->entityEnter = enter; > - xf86Entities[entityIndex]->entityLeave = leave; > - xf86Entities[entityIndex]->private = private; > - return TRUE; > -} > - > -Bool > xf86DriverHasEntities(DriverPtr drvp) > { > int i; > @@ -519,30 +506,6 @@ xf86GetDevFromEntity(int entityIndex, int instance) > } > > /* > - * xf86AccessEnter() -- gets called to save the text mode VGA IO > - * resources when reentering the server after a VT switch. > - */ > -void > -xf86AccessEnter(void) > -{ > - int i; > - > - for (i = 0; i < xf86NumEntities; i++) > - if (xf86Entities[i]->entityEnter) > - xf86Entities[i]->entityEnter(i, xf86Entities[i]->private); > -} > - > -void > -xf86AccessLeave(void) > -{ > - int i; > - > - for (i = 0; i < xf86NumEntities; i++) > - if (xf86Entities[i]->entityLeave) > - xf86Entities[i]->entityLeave(i, xf86Entities[i]->private); > -} > - > -/* > * xf86PostProbe() -- Allocate all non conflicting resources > * This function gets called by xf86Init(). > */ > @@ -566,10 +529,6 @@ xf86PostProbe(void) > )) > FatalError("Cannot run in framebuffer mode. Please specify busIDs " > " for all framebuffer devices\n"); > - > - for (i = 0; i < xf86NumEntities; i++) > - if (xf86Entities[i]->entityInit) > - xf86Entities[i]->entityInit(i, xf86Entities[i]->private); > } > > int > diff --git a/hw/xfree86/common/xf86Bus.h b/hw/xfree86/common/xf86Bus.h > index c59625d..52b497a 100644 > --- a/hw/xfree86/common/xf86Bus.h > +++ b/hw/xfree86/common/xf86Bus.h > @@ -48,10 +48,6 @@ typedef struct { > DriverPtr driver; > int chipset; > int entityProp; > - EntityProc entityInit; > - EntityProc entityEnter; > - EntityProc entityLeave; > - void *private; > Bool active; > Bool inUse; > BusRec bus; > diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c > index 16b3e28..27206d9 100644 > --- a/hw/xfree86/common/xf86Events.c > +++ b/hw/xfree86/common/xf86Events.c > @@ -492,8 +492,6 @@ xf86VTLeave(void) > for (i = 0; i < xf86NumGPUScreens; i++) > xf86GPUScreens[i]->LeaveVT(xf86GPUScreens[i]); > > - xf86AccessLeave(); /* We need this here, otherwise */ > - > if (!xf86VTSwitchAway()) > goto switch_failed; > > @@ -519,7 +517,6 @@ xf86VTLeave(void) > > switch_failed: > DebugF("xf86VTSwitch: Leave failed\n"); > - xf86AccessEnter(); > for (i = 0; i < xf86NumScreens; i++) { > if (!xf86Screens[i]->EnterVT(xf86Screens[i])) > FatalError("EnterVT failed for screen %d\n", i); > @@ -564,7 +561,6 @@ xf86VTEnter(void) > > if (xorgHWAccess) > xf86EnableIO(); > - xf86AccessEnter(); > for (i = 0; i < xf86NumScreens; i++) { > xf86Screens[i]->vtSema = TRUE; > if (!xf86Screens[i]->EnterVT(xf86Screens[i])) > diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c > index e2b32a0..eebf182 100644 > --- a/hw/xfree86/common/xf86Helper.c > +++ b/hw/xfree86/common/xf86Helper.c > @@ -1764,7 +1764,6 @@ xf86ConfigFbEntityInactive(EntityInfoPtr pEnt, > EntityProc init, > > if ((pScrn = xf86FindScreenForEntity(pEnt->index))) > xf86RemoveEntityFromScreen(pScrn, pEnt->index); > - xf86SetEntityFuncs(pEnt->index, init, enter, leave, private); > } > > ScrnInfoPtr > @@ -1792,8 +1791,6 @@ xf86ConfigFbEntity(ScrnInfoPtr pScrn, int scrnFlag, int > entityIndex, > pScrn = xf86AllocateScreen(pEnt->driver, scrnFlag); > xf86AddEntityToScreen(pScrn, entityIndex); > > - xf86SetEntityFuncs(entityIndex, init, enter, leave, private); > - > free(pEnt); > return pScrn; > } > diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c > index 017dcb6..f1d03a6 100644 > --- a/hw/xfree86/common/xf86Init.c > +++ b/hw/xfree86/common/xf86Init.c > @@ -822,7 +822,6 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char > **argv) > #ifdef HAS_USL_VTS > ioctl(xf86Info.consoleFd, VT_RELDISP, VT_ACKACQ); > #endif > - xf86AccessEnter(); > OsBlockSIGIO(); > sigio_blocked = TRUE; > } > @@ -1100,8 +1099,6 @@ AbortDDX(enum ExitCode error) > } > } > > - xf86AccessLeave(); > - > /* > * This is needed for an abnormal server exit, since the normal exit > stuff > * MUST also be performed (i.e. the vt must be left in a defined state) > diff --git a/hw/xfree86/common/xf86PM.c b/hw/xfree86/common/xf86PM.c > index 9e49e8e..3cb227d 100644 > --- a/hw/xfree86/common/xf86PM.c > +++ b/hw/xfree86/common/xf86PM.c > @@ -116,8 +116,6 @@ suspend(pmEvent event, Bool undo) > xf86Screens[i]->vtSema = FALSE; > } > } > - xf86AccessLeave(); > - > } > > static void > @@ -126,7 +124,6 @@ resume(pmEvent event, Bool undo) > int i; > InputInfoPtr pInfo; > > - xf86AccessEnter(); > for (i = 0; i < xf86NumScreens; i++) { > if (xf86Screens[i]->PMEvent) > xf86Screens[i]->PMEvent(xf86Screens[i], event, undo); > diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h > index 6e374eb..f50f471 100644 > --- a/hw/xfree86/common/xf86Priv.h > +++ b/hw/xfree86/common/xf86Priv.h > @@ -112,8 +112,6 @@ extern int xf86NumGPUScreens; > /* xf86Bus.c */ > extern _X_EXPORT Bool xf86BusConfig(void); > extern _X_EXPORT void xf86BusProbe(void); > -extern _X_EXPORT void xf86AccessEnter(void); > -extern _X_EXPORT void xf86AccessLeave(void); > extern _X_EXPORT void xf86PostProbe(void); > extern _X_EXPORT void xf86ClearEntityListForScreen(ScrnInfoPtr pScrn); > extern _X_EXPORT void xf86AddDevToEntity(int entityIndex, GDevPtr dev); > diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c > index e86ecb9..7c0b4f9 100644 > --- a/hw/xfree86/common/xf86pciBus.c > +++ b/hw/xfree86/common/xf86pciBus.c > @@ -1019,9 +1019,6 @@ xf86ConfigPciEntityInactive(EntityInfoPtr pEnt, > PciChipsets * p_chip, > > if ((pScrn = xf86FindScreenForEntity(pEnt->index))) > xf86RemoveEntityFromScreen(pScrn, pEnt->index); > - > - /* shared resources are only needed when entity is active: remove */ > - xf86SetEntityFuncs(pEnt->index, init, enter, leave, private); > } > > ScrnInfoPtr > @@ -1056,8 +1053,6 @@ xf86ConfigPciEntity(ScrnInfoPtr pScrn, int scrnFlag, > int entityIndex, > } > free(pEnt); > > - xf86SetEntityFuncs(entityIndex, init, enter, leave, private); > - > return pScrn; > } > > diff --git a/hw/xfree86/doc/ddxDesign.xml b/hw/xfree86/doc/ddxDesign.xml > index 6a9de9e..bf11f79 100644 > --- a/hw/xfree86/doc/ddxDesign.xml > +++ b/hw/xfree86/doc/ddxDesign.xml > @@ -835,13 +835,8 @@ Here is what <function>InitOutput()</function> does: > the driver will fail immediately. This is usually best done with > the <function>xf86ConfigPciEntity()</function> helper function > for PCI and <function>xf86ConfigIsaEntity()</function> for ISA > - (see the <link linkend="rac">RAC</link> section). It is possible to > - register some entity specific functions with those helpers. When > - not using the helpers, the <function>xf86AddEntityToScreen()</function> > - <function>xf86ClaimFixedResources()</function> and > - <function>xf86SetEntityFuncs()</function> should be used instead (see > - the <link linkend="rac">RAC</link> section). > - </para> > + (see the <link linkend="rac">RAC</link> section). > + </para> > > <para> > If a chipset is specified in an active device section which the > @@ -2756,19 +2751,6 @@ available at the driver level: > > <blockquote><para> > <programlisting> > - Bool xf86SetEntityFuncs(int entityIndex, EntityProc init, > - EntityProc enter, EntityProc leave, pointer); > - </programlisting> > - <blockquote><para> > - This function registers with an entity the <parameter>init</parameter>, > - <parameter>enter</parameter>, <parameter>leave</parameter> functions > along > - with the pointer to their private area. > - </para> > - > - </blockquote></para></blockquote> > - > - <blockquote><para> > - <programlisting> > void xf86AddEntityToScreen(ScrnInfoPtr pScrn, int entityIndex); > </programlisting> > <blockquote><para> > -- > 1.9.3 > > _______________________________________________ > [email protected]: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
