[PATCH xserver v2] xfree86: Remove driver entity hooks and private
Adam Jackson
ajax at redhat.com
Wed Mar 29 15:35:32 UTC 2017
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 at redhat.com>
---
hw/xfree86/common/xf86.h | 3 --
hw/xfree86/common/xf86Bus.c | 43 ---------------------
hw/xfree86/common/xf86Bus.h | 4 --
hw/xfree86/common/xf86Events.c | 4 --
hw/xfree86/common/xf86Helper.c | 6 +--
hw/xfree86/common/xf86Init.c | 3 --
hw/xfree86/common/xf86PM.c | 3 --
hw/xfree86/common/xf86Priv.h | 2 -
hw/xfree86/common/xf86pciBus.c | 8 ++--
hw/xfree86/doc/ddxDesign.xml | 87 +++---------------------------------------
10 files changed, 12 insertions(+), 151 deletions(-)
diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
index ee24835..f1a5bd6 100644
--- a/hw/xfree86/common/xf86.h
+++ b/hw/xfree86/common/xf86.h
@@ -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);
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 9836803..6bbf489 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -313,19 +313,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;
@@ -543,38 +530,12 @@ 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().
*/
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
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 9a8f432..7b5d1df 100644
--- a/hw/xfree86/common/xf86Events.c
+++ b/hw/xfree86/common/xf86Events.c
@@ -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]))
diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index b745793..447ed3f 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -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;
}
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index 45f8ae6..88f99ac 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -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)
diff --git a/hw/xfree86/common/xf86PM.c b/hw/xfree86/common/xf86PM.c
index 3f08c81..ed7bdbd 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 2663c6b..22bf5ff 100644
--- a/hw/xfree86/common/xf86Priv.h
+++ b/hw/xfree86/common/xf86Priv.h
@@ -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);
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index 9adfee5..41460a0 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -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;
}
diff --git a/hw/xfree86/doc/ddxDesign.xml b/hw/xfree86/doc/ddxDesign.xml
index ac56e08..86d8d50 100644
--- a/hw/xfree86/doc/ddxDesign.xml
+++ b/hw/xfree86/doc/ddxDesign.xml
@@ -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>
@@ -2740,19 +2709,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>
@@ -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>
--
2.9.3
More information about the xorg-devel
mailing list