summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2014-06-16 11:30:18 -0400
committerAdam Jackson <ajax@redhat.com>2017-01-25 14:22:05 -0500
commita6fcb15472bb7663ae917f5913bf07b6d3c7f186 (patch)
treecc22d59aa7626aae1c990c43068c8883788df76a
parent778cfc59762cdf528cf8672bfb5696844e91ebc3 (diff)
loader: Port from xfree86 to dix API
Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Adam Jackson <ajax@redhat.com>
-rw-r--r--hw/xfree86/loader/loader.c43
-rw-r--r--hw/xfree86/loader/loadmod.c141
2 files changed, 81 insertions, 103 deletions
diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c
index c8d7540b5..fded87b7e 100644
--- a/hw/xfree86/loader/loader.c
+++ b/hw/xfree86/loader/loader.c
@@ -50,21 +50,10 @@
#include <xorg-config.h>
#endif
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <sys/stat.h>
-#include <fcntl.h>
#include <string.h>
-#include <stdarg.h>
-
#include "os.h"
#include "loader.h"
#include "loaderProcs.h"
-#include "xf86.h"
-#include "xf86Priv.h"
#ifdef HAVE_DLFCN_H
@@ -80,20 +69,20 @@ extern void *xorg_symbols[];
void
LoaderInit(void)
{
- xf86MsgVerb(X_INFO, 2, "Loader magic: %p\n", (void *) xorg_symbols);
- xf86MsgVerb(X_INFO, 2, "Module ABI versions:\n");
- xf86ErrorFVerb(2, "\t%s: %d.%d\n", ABI_CLASS_ANSIC,
- GET_ABI_MAJOR(LoaderVersionInfo.ansicVersion),
- GET_ABI_MINOR(LoaderVersionInfo.ansicVersion));
- xf86ErrorFVerb(2, "\t%s: %d.%d\n", ABI_CLASS_VIDEODRV,
- GET_ABI_MAJOR(LoaderVersionInfo.videodrvVersion),
- GET_ABI_MINOR(LoaderVersionInfo.videodrvVersion));
- xf86ErrorFVerb(2, "\t%s : %d.%d\n", ABI_CLASS_XINPUT,
- GET_ABI_MAJOR(LoaderVersionInfo.xinputVersion),
- GET_ABI_MINOR(LoaderVersionInfo.xinputVersion));
- xf86ErrorFVerb(2, "\t%s : %d.%d\n", ABI_CLASS_EXTENSION,
- GET_ABI_MAJOR(LoaderVersionInfo.extensionVersion),
- GET_ABI_MINOR(LoaderVersionInfo.extensionVersion));
+ LogMessageVerb(X_INFO, 2, "Loader magic: %p\n", (void *) xorg_symbols);
+ LogMessageVerb(X_INFO, 2, "Module ABI versions:\n");
+ LogWrite(2, "\t%s: %d.%d\n", ABI_CLASS_ANSIC,
+ GET_ABI_MAJOR(LoaderVersionInfo.ansicVersion),
+ GET_ABI_MINOR(LoaderVersionInfo.ansicVersion));
+ LogWrite(2, "\t%s: %d.%d\n", ABI_CLASS_VIDEODRV,
+ GET_ABI_MAJOR(LoaderVersionInfo.videodrvVersion),
+ GET_ABI_MINOR(LoaderVersionInfo.videodrvVersion));
+ LogWrite(2, "\t%s : %d.%d\n", ABI_CLASS_XINPUT,
+ GET_ABI_MAJOR(LoaderVersionInfo.xinputVersion),
+ GET_ABI_MINOR(LoaderVersionInfo.xinputVersion));
+ LogWrite(2, "\t%s : %d.%d\n", ABI_CLASS_EXTENSION,
+ GET_ABI_MAJOR(LoaderVersionInfo.extensionVersion),
+ GET_ABI_MINOR(LoaderVersionInfo.extensionVersion));
}
@@ -108,10 +97,10 @@ LoaderOpen(const char *module, int *errmaj, int *errmin)
ErrorF("LoaderOpen(%s)\n", module);
#endif
- xf86Msg(X_INFO, "Loading %s\n", module);
+ LogMessage(X_INFO, "Loading %s\n", module);
if (!(ret = dlopen(module, RTLD_LAZY | RTLD_GLOBAL))) {
- xf86Msg(X_ERROR, "Failed to load %s: %s\n", module, dlerror());
+ LogMessage(X_ERROR, "Failed to load %s: %s\n", module, dlerror());
if (errmaj)
*errmaj = LDR_NOLOAD;
if (errmin)
diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c
index fd61a826a..03c99663a 100644
--- a/hw/xfree86/loader/loadmod.c
+++ b/hw/xfree86/loader/loadmod.c
@@ -51,18 +51,11 @@
#endif
#include "os.h"
-/* For stat() and related stuff */
-#define NO_OSLIB_PROTOTYPES
-#include "xf86_OSlib.h"
-#define LOADERDECLARATIONS
#include "loaderProcs.h"
-#include "misc.h"
-#include "xf86.h"
-#include "xf86Priv.h"
-#include "xf86Xinput.h"
+#include "xf86Module.h"
#include "loader.h"
-#include "xf86Optrec.h"
+#include <sys/stat.h>
#include <sys/types.h>
#include <regex.h>
#include <dirent.h>
@@ -307,7 +300,7 @@ InitSubdirs(const char **subdirlist)
*/
if (**s == '/' || **s == '\\' || strchr(*s, ':') ||
strstr(*s, "..")) {
- xf86Msg(X_ERROR, "InitSubdirs: Bad subdir: \"%s\"\n", *s);
+ LogMessage(X_ERROR, "InitSubdirs: Bad subdir \"%s\"\n", *s);
free(tmp_subdirlist);
return NULL;
}
@@ -572,22 +565,22 @@ CheckVersion(const char *module, XF86ModuleVersionInfo * data,
long ver = data->xf86version;
MessageType errtype;
- xf86Msg(X_INFO, "Module %s: vendor=\"%s\"\n",
- data->modname ? data->modname : "UNKNOWN!",
- data->vendor ? data->vendor : "UNKNOWN!");
+ LogMessage(X_INFO, "Module %s: vendor=\"%s\"\n",
+ data->modname ? data->modname : "UNKNOWN!",
+ data->vendor ? data->vendor : "UNKNOWN!");
vercode[0] = ver / 10000000;
vercode[1] = (ver / 100000) % 100;
vercode[2] = (ver / 1000) % 100;
vercode[3] = ver % 1000;
- xf86ErrorF("\tcompiled for %d.%d.%d", vercode[0], vercode[1], vercode[2]);
+ LogWrite(1, "\tcompiled for %d.%d.%d", vercode[0], vercode[1], vercode[2]);
if (vercode[3] != 0)
- xf86ErrorF(".%d", vercode[3]);
- xf86ErrorF(", module version = %d.%d.%d\n", data->majorversion,
- data->minorversion, data->patchlevel);
+ LogWrite(1, ".%d", vercode[3]);
+ LogWrite(1, ", module version = %d.%d.%d\n", data->majorversion,
+ data->minorversion, data->patchlevel);
if (data->moduleclass)
- xf86ErrorFVerb(2, "\tModule class: %s\n", data->moduleclass);
+ LogWrite(2, "\tModule class: %s\n", data->moduleclass);
ver = -1;
if (data->abiclass) {
@@ -605,8 +598,8 @@ CheckVersion(const char *module, XF86ModuleVersionInfo * data,
abimaj = GET_ABI_MAJOR(data->abiversion);
abimin = GET_ABI_MINOR(data->abiversion);
- xf86ErrorFVerb(2, "\tABI class: %s, version %d.%d\n",
- data->abiclass, abimaj, abimin);
+ LogWrite(2, "\tABI class: %s, version %d.%d\n",
+ data->abiclass, abimaj, abimin);
if (ver != -1) {
vermaj = GET_ABI_MAJOR(ver);
vermin = GET_ABI_MINOR(ver);
@@ -615,10 +608,9 @@ CheckVersion(const char *module, XF86ModuleVersionInfo * data,
errtype = X_WARNING;
else
errtype = X_ERROR;
- xf86MsgVerb(errtype, 0,
- "%s: module ABI major version (%d) doesn't"
- " match the server's version (%d)\n",
- module, abimaj, vermaj);
+ LogMessageVerb(errtype, 0, "%s: module ABI major version (%d) "
+ "doesn't match the server's version (%d)\n",
+ module, abimaj, vermaj);
if (!(LoaderOptions & LDR_OPT_ABI_MISMATCH_NONFATAL))
return FALSE;
}
@@ -627,10 +619,9 @@ CheckVersion(const char *module, XF86ModuleVersionInfo * data,
errtype = X_WARNING;
else
errtype = X_ERROR;
- xf86MsgVerb(errtype, 0,
- "%s: module ABI minor version (%d) is "
- "newer than the server's version "
- "(%d)\n", module, abimin, vermin);
+ LogMessageVerb(errtype, 0, "%s: module ABI minor version (%d) "
+ "is newer than the server's version (%d)\n",
+ module, abimin, vermin);
if (!(LoaderOptions & LDR_OPT_ABI_MISMATCH_NONFATAL))
return FALSE;
}
@@ -641,24 +632,26 @@ CheckVersion(const char *module, XF86ModuleVersionInfo * data,
if (req) {
if (req->majorversion != MAJOR_UNSPEC) {
if (data->majorversion != req->majorversion) {
- xf86MsgVerb(X_WARNING, 2, "%s: module major version (%d) "
- "doesn't match required major version (%d)\n",
- module, data->majorversion, req->majorversion);
+ LogMessageVerb(X_WARNING, 2, "%s: module major version (%d) "
+ "doesn't match required major version (%d)\n",
+ module, data->majorversion, req->majorversion);
return FALSE;
}
else if (req->minorversion != MINOR_UNSPEC) {
if (data->minorversion < req->minorversion) {
- xf86MsgVerb(X_WARNING, 2, "%s: module minor version (%d) "
- "is less than the required minor version (%d)\n",
- module, data->minorversion, req->minorversion);
+ LogMessageVerb(X_WARNING, 2, "%s: module minor version "
+ "(%d) is less than the required minor "
+ "version (%d)\n", module,
+ data->minorversion, req->minorversion);
return FALSE;
}
else if (data->minorversion == req->minorversion &&
req->patchlevel != PATCH_UNSPEC) {
if (data->patchlevel < req->patchlevel) {
- xf86MsgVerb(X_WARNING, 2, "%s: module patch level (%d) "
- "is less than the required patch level (%d)\n",
- module, data->patchlevel, req->patchlevel);
+ LogMessageVerb(X_WARNING, 2, "%sL module patch level "
+ "(%d) is less than the required patch "
+ "level (%d)\n", module, data->patchlevel,
+ req->patchlevel);
return FALSE;
}
}
@@ -667,21 +660,19 @@ CheckVersion(const char *module, XF86ModuleVersionInfo * data,
if (req->moduleclass) {
if (!data->moduleclass ||
strcmp(req->moduleclass, data->moduleclass)) {
- xf86MsgVerb(X_WARNING, 2, "%s: Module class (%s) doesn't match "
- "the required class (%s)\n",
- module,
- data->moduleclass ? data->moduleclass : "<NONE>",
- req->moduleclass);
+ LogMessageVerb(X_WARNING, 2, "%s: Module class (%s) doesn't "
+ "match the required class (%s)\n", module,
+ data->moduleclass ? data->moduleclass : "<NONE>",
+ req->moduleclass);
return FALSE;
}
}
else if (req->abiclass != ABI_CLASS_NONE) {
if (!data->abiclass || strcmp(req->abiclass, data->abiclass)) {
- xf86MsgVerb(X_WARNING, 2, "%s: ABI class (%s) doesn't match the "
- "required ABI class (%s)\n",
- module,
- data->abiclass ? data->abiclass : "<NONE>",
- req->abiclass);
+ LogMessageVerb(X_WARNING, 2, "%s: ABI class (%s) doesn't match"
+ " the required ABI class (%s)\n", module,
+ data->abiclass ? data->abiclass : "<NONE>",
+ req->abiclass);
return FALSE;
}
}
@@ -694,16 +685,16 @@ CheckVersion(const char *module, XF86ModuleVersionInfo * data,
maj = GET_ABI_MAJOR(data->abiversion);
min = GET_ABI_MINOR(data->abiversion);
if (maj != reqmaj) {
- xf86MsgVerb(X_WARNING, 2, "%s: ABI major version (%d) doesn't "
- "match the required ABI major version (%d)\n",
- module, maj, reqmaj);
+ LogMessageVerb(X_WARNING, 2, "%s: ABI major version (%d) "
+ "doesn't match the required ABI major version "
+ "(%d)\n", module, maj, reqmaj);
return FALSE;
}
/* XXX Maybe this should be the other way around? */
if (min > reqmin) {
- xf86MsgVerb(X_WARNING, 2, "%s: module ABI minor version (%d) "
- "is newer than that available (%d)\n",
- module, min, reqmin);
+ LogMessageVerb(X_WARNING, 2, "%s: module ABI minor version "
+ "(%d) is newer than that available (%d)\n",
+ module, min, reqmin);
return FALSE;
}
}
@@ -727,12 +718,11 @@ LoadSubModule(void *_parent, const char *module,
ModuleDescPtr submod;
ModuleDescPtr parent = (ModuleDescPtr) _parent;
- xf86MsgVerb(X_INFO, 3, "Loading sub module \"%s\"\n", module);
+ LogMessageVerb(X_INFO, 3, "Loading sub module \"%s\"\n", module);
if (PathIsAbsolute(module)) {
- xf86Msg(X_ERROR,
- "LoadSubModule: Absolute module path not permitted: \"%s\"\n",
- module);
+ LogMessage(X_ERROR, "LoadSubModule: "
+ "Absolute module path not permitted: \"%s\"\n", module);
if (errmaj)
*errmaj = LDR_BADUSAGE;
if (errmin)
@@ -857,26 +847,26 @@ LoadModule(const char *module, const char **subdirlist,
char *m = NULL;
const char **cim;
- xf86MsgVerb(X_INFO, 3, "LoadModule: \"%s\"", module);
+ LogMessageVerb(X_INFO, 3, "LoadModule: \"%s\"", module);
patterns = InitPatterns(patternlist);
name = LoaderGetCanonicalName(module, patterns);
noncanonical = (name && strcmp(module, name) != 0);
if (noncanonical) {
- xf86ErrorFVerb(3, " (%s)\n", name);
- xf86MsgVerb(X_WARNING, 1,
- "LoadModule: given non-canonical module name \"%s\"\n",
- module);
+ LogWrite(3, " (%s)\n", name);
+ LogMessageVerb(X_WARNING, 1,
+ "LoadModule: given non-canonical module name \"%s\"\n",
+ module);
m = name;
}
else {
- xf86ErrorFVerb(3, "\n");
+ LogWrite(3, "\n");
m = (char *) module;
}
for (cim = compiled_in_modules; *cim; cim++)
if (!strcmp(m, *cim)) {
- xf86MsgVerb(X_INFO, 3, "Module \"%s\" already built-in\n", m);
+ LogMessageVerb(X_INFO, 3, "Module \"%s\" already built-in\n", m);
ret = (ModuleDescPtr) 1;
goto LoadModule_exit;
}
@@ -931,7 +921,7 @@ LoadModule(const char *module, const char **subdirlist,
* did we find the module?
*/
if (!found) {
- xf86Msg(X_WARNING, "Warning, couldn't open module %s\n", module);
+ LogMessage(X_WARNING, "Warning, couldn't open module %s\n", module);
if (errmaj)
*errmaj = LDR_NOENT;
if (errmin)
@@ -980,9 +970,8 @@ LoadModule(const char *module, const char **subdirlist,
}
}
else {
- xf86Msg(X_ERROR,
- "LoadModule: Module %s does not supply"
- " version information\n", module);
+ LogMessage(X_ERROR, "LoadModule: Module %s does not supply"
+ " version information\n", module);
if (errmaj)
*errmaj = LDR_INVALID;
if (errmin)
@@ -997,8 +986,8 @@ LoadModule(const char *module, const char **subdirlist,
}
else {
/* no initdata, fail the load */
- xf86Msg(X_ERROR, "LoadModule: Module %s does not have a %s "
- "data object.\n", module, p);
+ LogMessage(X_ERROR, "LoadModule: Module %s does not have a %s "
+ "data object.\n", module, p);
if (errmaj)
*errmaj = LDR_INVALID;
if (errmin)
@@ -1012,8 +1001,8 @@ LoadModule(const char *module, const char **subdirlist,
}
}
else if (options) {
- xf86Msg(X_WARNING, "Module Options present, but no SetupProc "
- "available for %s\n", module);
+ LogMessage(X_WARNING, "Module Options present, but no SetupProc "
+ "available for %s\n", module);
}
goto LoadModule_exit;
@@ -1162,11 +1151,11 @@ LoaderErrorMsg(const char *name, const char *modname, int errmaj, int errmin)
msg = "unknown error";
}
if (name)
- xf86Msg(type, "%s: Failed to load module \"%s\" (%s, %d)\n",
- name, modname, msg, errmin);
+ LogMessage(type, "%s: Failed to load module \"%s\" (%s, %d)\n",
+ name, modname, msg, errmin);
else
- xf86Msg(type, "Failed to load module \"%s\" (%s, %d)\n",
- modname, msg, errmin);
+ LogMessage(type, "Failed to load module \"%s\" (%s, %d)\n",
+ modname, msg, errmin);
}
/* Given a module path or file name, return the module's canonical name */