xfree86: Remove driver entity hooks and private
No driver is using these, as far as I know. v2: Tripwire the entity hook arguments to xf86Config*Entity, fix documentation (Eric Anholt) Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
3360418767
commit
e4d0757fc2
|
@ -154,9 +154,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);
|
||||
|
||||
|
|
|
@ -312,19 +312,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)
|
||||
{
|
||||
|
@ -542,30 +529,6 @@ xf86GetDevFromEntity(int entityIndex, int instance)
|
|||
return xf86Entities[entityIndex]->devices[i];
|
||||
}
|
||||
|
||||
/*
|
||||
* 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().
|
||||
|
@ -573,8 +536,6 @@ xf86AccessLeave(void)
|
|||
void
|
||||
xf86PostProbe(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (fbSlotClaimed && (
|
||||
#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
|
||||
sbusSlotClaimed ||
|
||||
|
@ -590,10 +551,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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -445,8 +445,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;
|
||||
|
||||
|
@ -472,7 +470,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);
|
||||
|
@ -517,7 +514,6 @@ xf86VTEnter(void)
|
|||
|
||||
if (xorgHWAccess)
|
||||
xf86EnableIO();
|
||||
xf86AccessEnter();
|
||||
for (i = 0; i < xf86NumScreens; i++) {
|
||||
xf86Screens[i]->vtSema = TRUE;
|
||||
if (!xf86Screens[i]->EnterVT(xf86Screens[i]))
|
||||
|
|
|
@ -1672,7 +1672,6 @@ xf86ConfigFbEntityInactive(EntityInfoPtr pEnt, EntityProc init,
|
|||
|
||||
if ((pScrn = xf86FindScreenForEntity(pEnt->index)))
|
||||
xf86RemoveEntityFromScreen(pScrn, pEnt->index);
|
||||
xf86SetEntityFuncs(pEnt->index, init, enter, leave, private);
|
||||
}
|
||||
|
||||
ScrnInfoPtr
|
||||
|
@ -1682,6 +1681,9 @@ xf86ConfigFbEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex,
|
|||
{
|
||||
EntityInfoPtr pEnt = xf86GetEntityInfo(entityIndex);
|
||||
|
||||
if (init || enter || leave)
|
||||
FatalError("Legacy entity access functions are unsupported\n");
|
||||
|
||||
if (!pEnt)
|
||||
return pScrn;
|
||||
|
||||
|
@ -1700,8 +1702,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;
|
||||
}
|
||||
|
|
|
@ -726,7 +726,6 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
|
|||
#ifdef HAS_USL_VTS
|
||||
ioctl(xf86Info.consoleFd, VT_RELDISP, VT_ACKACQ);
|
||||
#endif
|
||||
xf86AccessEnter();
|
||||
input_lock();
|
||||
sigio_blocked = TRUE;
|
||||
}
|
||||
|
@ -1001,8 +1000,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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -109,8 +109,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);
|
||||
|
|
|
@ -1023,9 +1023,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
|
||||
|
@ -1035,6 +1032,9 @@ xf86ConfigPciEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex,
|
|||
{
|
||||
EntityInfoPtr pEnt = xf86GetEntityInfo(entityIndex);
|
||||
|
||||
if (dummy || init || enter || leave)
|
||||
FatalError("Legacy entity access functions are unsupported\n");
|
||||
|
||||
if (!pEnt)
|
||||
return pScrn;
|
||||
|
||||
|
@ -1060,8 +1060,6 @@ xf86ConfigPciEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex,
|
|||
}
|
||||
free(pEnt);
|
||||
|
||||
xf86SetEntityFuncs(entityIndex, init, enter, leave, private);
|
||||
|
||||
return pScrn;
|
||||
}
|
||||
|
||||
|
|
|
@ -834,14 +834,8 @@ Here is what <function>InitOutput()</function> does:
|
|||
stage. If a resource conflict is found between exclusive resources
|
||||
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>
|
||||
for PCI.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If a chipset is specified in an active device section which the
|
||||
|
@ -860,8 +854,7 @@ Here is what <function>InitOutput()</function> does:
|
|||
Allocate a <structname>ScrnInfoRec</structname> for each active instance of the
|
||||
hardware found, and fill in the basic information, including the
|
||||
other driver entry points. This is best done with the
|
||||
<function>xf86ConfigIsaEntity()</function> helper function for ISA
|
||||
instances or <function>xf86ConfigPciEntity()</function> for PCI instances.
|
||||
<function>xf86ConfigPciEntity()</function> for PCI instances.
|
||||
These functions allocate a <structname>ScrnInfoRec</structname> for active
|
||||
entities. Optionally <function>xf86AllocateScreen()</function>
|
||||
function may also be used to allocate the <structname>ScrnInfoRec</structname>.
|
||||
|
@ -2681,41 +2674,17 @@ Two helper functions are provided to aid configuring entities:
|
|||
ScrnInfoPtr xf86ConfigPciEntity(ScrnInfoPtr pScrn,
|
||||
int scrnFlag, int entityIndex,
|
||||
PciChipsets *p_chip,
|
||||
resList res, EntityProc init,
|
||||
void *res, EntityProc init,
|
||||
EntityProc enter, EntityProc leave,
|
||||
pointer private);
|
||||
|
||||
ScrnInfoPtr xf86ConfigIsaEntity(ScrnInfoPtr pScrn,
|
||||
int scrnFlag, int entityIndex,
|
||||
IsaChipsets *i_chip,
|
||||
resList res, EntityProc init,
|
||||
EntityProc enter, EntityProc leave,
|
||||
pointer private);
|
||||
</programlisting>
|
||||
<blockquote><para>
|
||||
These functions are used to register the non-relocatable resources
|
||||
for an entity, and the optional entity-specific <parameter>Init</parameter>, <parameter>Enter</parameter> and
|
||||
<parameter>Leave</parameter> functions. Usually the list of fixed resources is obtained
|
||||
from the Isa/PciChipsets lists. However an additional list of
|
||||
resources may be passed. Generally this is not required.
|
||||
This functions is used to register the entity. The <parameter>res</parameter>, <parameter>init</parameter>, <parameter>enter</parameter>, and <parameter>leave</parameter> arguments are unused, and should be <constant>NULL</constant>.
|
||||
For active entities a <structname>ScrnInfoRec</structname> is allocated
|
||||
if the <parameter>pScrn</parameter> argument is <constant>NULL</constant>.
|
||||
The
|
||||
return value is <constant>TRUE</constant> when successful. The init, enter, leave
|
||||
functions are defined as follows:
|
||||
|
||||
<blockquote><para>
|
||||
<programlisting>
|
||||
typedef void (*EntityProc)(int entityIndex,
|
||||
pointer private);
|
||||
</programlisting>
|
||||
</para></blockquote>
|
||||
|
||||
They are passed the entity index and a pointer to a private scratch
|
||||
area. This can be set up during <function>Probe()</function> and
|
||||
its address can be passed to
|
||||
<function>xf86ConfigIsaEntity()</function> and
|
||||
<function>xf86ConfigPciEntity()</function> as the last argument.
|
||||
return value is <constant>TRUE</constant> when successful.
|
||||
</para>
|
||||
|
||||
</blockquote></para></blockquote>
|
||||
|
@ -2738,19 +2707,6 @@ available at the driver level:
|
|||
|
||||
</blockquote></para></blockquote>
|
||||
|
||||
<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);
|
||||
|
@ -8291,37 +8247,6 @@ ZZZProbe(DriverPtr drv, int flags)
|
|||
xfree(usedChips);
|
||||
}
|
||||
|
||||
#ifdef HAS_ISA_DEVS
|
||||
/*
|
||||
* If the driver supports ISA hardware, the following block
|
||||
* can be included too.
|
||||
*/
|
||||
numUsed = xf86MatchIsaInstances(ZZZ_NAME, ZZZChipsets,
|
||||
ZZZIsaChipsets, drv, ZZZFindIsaDevice,
|
||||
devSections, numDevSections, &usedChips);
|
||||
for (i = 0; i < numUsed; i++) {
|
||||
ScrnInfoPtr pScrn = NULL;
|
||||
if ((pScrn = xf86ConfigIsaEntity(pScrn, flags, usedChips[i],
|
||||
ZZZIsaChipsets, NULL, NULL, NULL,
|
||||
NULL, NULL))) {
|
||||
pScrn->driverVersion = VERSION;
|
||||
pScrn->driverName = ZZZ_DRIVER_NAME;
|
||||
pScrn->name = ZZZ_NAME;
|
||||
pScrn->Probe = ZZZProbe;
|
||||
pScrn->PreInit = ZZZPreInit;
|
||||
pScrn->ScreenInit = ZZZScreenInit;
|
||||
pScrn->SwitchMode = ZZZSwitchMode;
|
||||
pScrn->AdjustFrame = ZZZAdjustFrame;
|
||||
pScrn->EnterVT = ZZZEnterVT;
|
||||
pScrn->LeaveVT = ZZZLeaveVT;
|
||||
pScrn->FreeScreen = ZZZFreeScreen;
|
||||
pScrn->ValidMode = ZZZValidMode;
|
||||
foundScreen = TRUE;
|
||||
}
|
||||
}
|
||||
xfree(usedChips);
|
||||
#endif /* HAS_ISA_DEVS */
|
||||
|
||||
xfree(devSections);
|
||||
return foundScreen;
|
||||
</programlisting>
|
||||
|
|
Loading…
Reference in New Issue