Commit Graph

5252 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult 4db414be39 (!1681) xfree86: common: use LogMessageVerb() instead of xf86Msg()
Both are doing same job, so no need to keep using an duplicated implementation.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:38 +02:00
Enrico Weigelt, metux IT consult 9901de8070 (!1682) os: log: drop now meaningless XLOG_FLUSH option
Since we're not indirectly writing via FILE anymore, this option has
become meaningless: it meant flushing out our in-process buffer to
the kernel, but we're now doing direct write() calls anyways.

xf86 still accepts the "flush" config file flag for backwards compatibility,
but it hasn't any practical meaning anymore.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:38 +02:00
Enrico Weigelt, metux IT consult c91ebfcaad (!1799) xkb: unexport DDX entry points
These functions are entry points of the DDX (or stubs thereof), not supposed
to be called by any drivers, so no need to keep them exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:37 +02:00
Enrico Weigelt, metux IT consult fdb47fa524 (!1799) xkb: unexport internal variables
These aren't used by any drivers/modules, and it doesn't seem make much
sense doing so, thus no need to keep them exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:37 +02:00
Enrico Weigelt, metux IT consult 988f1422f4 (!1801) os: unexport xstrtokenize()
Not used by any external drivers/modules, so no need to keep it public.
Since modesetting is using it, still needs _X_EXPORT, as long as it's
a module.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:37 +02:00
Enrico Weigelt, metux IT consult d0b0877600 (1823) xfree86: protect from memory allocation failure
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:36 +02:00
Enrico Weigelt, metux IT consult acec916223 (1823) xfree86: replace xallocarray() by calloc()
Only key difference that calloc(), in contrast to rellocarray(),
is zero-initializing. The overhead is hard to measure on today's
machines, and it's safer programming practise to always allocate
zero-initialized, so one can't forget to do it explicitly.

Cocci rule:

    @@
    expression COUNT;
    expression LEN;
    @@
    - xallocarray(COUNT,LEN)
    + calloc(COUNT,LEN)

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:36 +02:00
Enrico Weigelt, metux IT consult bf5a0258ca (1841) dix: move ColormapRec declaration out of public header
Not used by any external module/driver, so no need to keep it in
public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:36 +02:00
Enrico Weigelt, metux IT consult f3c059cf3d (1841) xfree86: drop unused imports of colormapst.h
Drop a several includes of colormapst where we don't actually
need something from that file.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:36 +02:00
Enrico Weigelt, metux IT consult 8c2b016ae9 (1884) xfree86: dri: drop unused variable DRIReqCode
This variable is assigned once, but never used.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:35 +02:00
Enrico Weigelt, metux IT consult d3a22bca2b (!1896) os-support: systemd-logind: don't hard-crash Xserver on strdup() fail
No need to directly hard-crash the Xserver when strdup() fails, instead
try to handle the situation gracefully.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:34 +02:00
Enrico Weigelt, metux IT consult 45037d03cc (!1899) dix: make RESOURCE_ID_MASK private
Not used by any external drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:34 +02:00
Enrico Weigelt, metux IT consult 2c1030b188 (!1902) bsd: drop PCCONS support
The old PCCONS driver only seems to be used on minimal install disks and
cannot coexist with newer ones (at least that's the feedback I've gotten
from BSD community), so there's probably no practical use case for
supporting it in Xorg anymore.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:34 +02:00
Enrico Weigelt, metux IT consult 13921fbd25 (!1393) fix name clash on 'GC' between Xlib and Xserver
Both xlib as well as the Xserver use the same identifier "GC" for
different types. While on xlib it's just the numerical ID of a GC,
the xserver defines a struct for it by the same name. This is this
ugly and needs ridiculous hacks for Xserver code that needs xlib.

Easy to solve by just renaming the GC typedef to GCRec (consistent
with how we're naming other structs) and replacing GC* by GCPtr.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:34 +02:00
Enrico Weigelt, metux IT consult e663f4f7a4 (!1903) dix: CreateColormap() pass in ClientPtr instead of client index
The function actually operates on ClientRec, so we can pass it in
directly, so it doesn't need to fetch it from clients[] array itself.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:34 +02:00
Enrico Weigelt, metux IT consult e209b66e18 (!1935) exa: drop exaGetPixmapSize()
Not used by anybody, neither Xserver nor drivers, so no need to
keep it around any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult f759a7eee7 (!1909) xfree86: use calloc() instead of malloc()
Using calloc() instead of malloc() as preventive measure, so there
never can be any hidden bugs or leaks due uninitialized memory.

The extra cost of using this compiler intrinsic should be practically
impossible to measure - in many cases a good compiler can even deduce
if certain areas really don't need to be zero'd (because they're written
to right after allocation) and create more efficient machine code.

The code pathes in question are pretty cold anyways, so it's probably
not worth even thinking about potential extra runtime costs.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult f0442781a9 (!1939) xfree86: drop obsolete xf86GetEntityForSbusInfo()
Not used anywhere, neither Xserver nor drivers, so no need to keep it anymore.

According to git history, it had been introduced introduced in 2003 (*1),
but never called (inside the Xserver) - unclear whether it ever had been
actually used somewhere.

*1) 9508a382f8
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 240fe45d96 (!1940) xfree86: sbus: drop SBUS_DEVICE_MGX
There doesn't seem to be any driver for these cards anymore,
so no need for trying to probe them anymore.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 389f9eed91 (!1940) xfree86: sbus: drop SBUS_DEVICE_GT
There doesn't seem to be any sungt driver anymore, so no need for
trying to probe those cards any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 3978a1c26a (!1940) xfree86: sbus: drop SBUS_DEVICE_CG12
There doesn't seem to be any suncg12 driver anymore, so no need for
trying to probe those cards any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 692387f520 (!1940) xfree86: sbus: drop SBUS_DEVICE_CG8
There doesn't seem to be any suncg8 driver anymore, so no need for
trying to probe those cards any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 823336efbe (!1940) xfree86: sbus: drop SBUS_DEVICE_CG4
There doesn't seem to be any suncg4 driver anymore, so no need for
trying to probe those cards any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult bd37bd46b8 (!1940) xfree86: sbus: drop SBUS_DEVICE_CG2
There doesn't seem to be any suncg2 driver anymore, no need for trying
to probe those cards any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 6c88cf61a7 (!1940) xfree86: sbus: drop SBUS_DEVICE_BW2
There doesn't seem to be any sunbw2 driver anymore, so no need for trying
to probe those cards any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 3eae1904a4 (!1941) xfree86: sbus: make promRootNode field static
Only used internally inside Sbus.c, so no need to keep it public any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 9084c14e3f (!1941) xfree86: sbus: make promGetBool() static
Only used internally inside Sbus.c, so no need to keep it public any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 4932dd034c (!1941) xfree86: sbus: make promGetProperty() static
Only used internally inside Sbus.c, so no need to keep it public any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 6d2d0fb479 (!1941) xfree86: sbus: make promGetChild() static
Only used internally inside Sbus.c, so no need to keep it public any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 3dab9f6a53 (!1941) xfree86: sbus: make promGetSibling() static
Only used internally inside Sbus.c, so no need to keep it public any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 2ea2d98e58 (!1942) xfree86: sbus: unexport struct sbus_devtable
Not used by any drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 29da211eb9 (!1942) xfree86: sbus: unexport sbusDeviceTable field
Not used by any drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 1c21a7eb9c (!1942) xfree86: sbus: unexport xf86SbusInfo field
Not used by any drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 8cdd5499b2 (!1942) xfree86: sbus: unexport sparcDriverName()
Not used by any drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult ad1379acd6 (!1942) xfree86: sbus: unexport sparcPromPathname2Node()
Not used by any drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 1d67fbbf13 (!1942) xfree86: sbus: unexport sparcPromNode2Pathname()
Not used by any drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 11c491d6cf (!1942) xfree86: sbus: unexport sparcPromAssignNodes()
Not used by any drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 6cd5932745 (!1942) xfree86: sbus: unexport sparcPromGetProperty()
Not used by any drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 815286a689 (!1942) xfree86: sbus: unexport xf86SbusProbe()
Not used by any drivers, so no need to keep it exported.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 5757308f7a (!1944) treewide: drop COMPOSITE symbol
It's always enabled for very long time now (at least since meson transition),
there doesn't seem to be any need to ever disable it again. So we can reduce
code complexity by removing all the ifdef's.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 2561ed5337 (!1714) xfree86: crtc: use PostCreateResources screen hook
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new PostCreateScreenResources screen hook instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 5a5ef53966 (!1714) dix: add CreateScreenResources callback mechanism
Right now, extensions that need to be called after the CreateScreenResources
proc had been run, must wrap the screen proc vector directly (all of them
forming kind of daisy chain), and so - when called - temporarily restore the
previous one, call it, wrap again, and if the call was successful finally
doing it's own stuff. (same is done for many other procs)

While that approach is looking nice and elegant on the drawing board, it's
complicated, dangerous like a chainsaw and makes debugging hard, leading to
pretty blurred API borders.

Instead introducing a simple approach for letting extension hook into a
post-CreateScreenResources callback list safely, w/o having to care much
about side effects with the call chain. Extensions now can simply register
their business logic and get called back - w/o ever having to mess with the
ScreenRec's internal structures.

Note that these hooks are executed *AFTER* the original CreateScreenResources()
proc had been called SUCCESSFULLY (returned TRUE), so callees can rely on
the DDX/driver had already done it's job.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult d92591614f (!1714) xfree86: shadowfb: use CloseScreen hook
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult dad86b509e (!1714) xfree86: cursor: use CloseScreen hook
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 5dbab63f56 (!1714) xfree86: crtc: use CloseScreen hook
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.

This one doesn't look so trivial at first glance, but I've checked that
other functions called by xf86CrtcCloseScreen() just free'ing up some
memory and removing the CRTCs from some lists - thus a change in
execution order really shouldn't matter at all.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 2e7c653c7b (!1714) xfree86: exa: use CloseScreen hook
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 54fec99bd6 (!1714) xfree86: xvmc: use CloseScreen hook
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult c4268d9782 (!1714) xfree86: xv: use CloseScreen hook
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 271d77b75d (!1714) xfree86: sbus: use CloseScreen hook
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00
Enrico Weigelt, metux IT consult 31b0f7cd80 (!1714) xfree86: fbman: use CloseScreen hook
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new screen close notify hook instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-03 11:37:33 +02:00