Commit Graph

1153 Commits

Author SHA1 Message Date
Peter Hutterer 693e92d404 xfree86: add xf86OptionListDuplicate()
Does what it says on the box.

Some drivers need to duplicate option lists from the original device to
ensure that devices created by the driver (driver-internal hotplugging) have
the same list of options as the original device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-09-18 13:55:37 +02:00
Peter Hutterer 9dca441670 xfree86: add a hook to replace the new console handler.
This hook is only necessary for the keyboard driver to remove the race
condition between drain_console() and the driver's ReadInput (Bug 29969).

The idea is that a driver that needs to handle events from the console
calls xf86ReplaceConsoleHandler() with it's own ReadInput (or NULL) and thus
removes the drain_console call. It's the driver's responsibility to restore
the previous behaviour when the driver is unloaded.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
CC: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2010-09-10 09:09:47 +10:00
Peter Hutterer 52df92a563 xfree86: move XI_VERIFY_VALUATORS to the source file it's used in.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-09-10 09:09:46 +10:00
Peter Hutterer 824e970c5c xfree86: remove TS_Raw and TS_Scaled defines.
There are no references to it other than the commit that added them. But
since we're re-doing the API anyway, now is a good time to break things.

commit 9398d62f27
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Wed Mar 21 00:18:24 2007 +0200

    XFree86 input: Add backwards compatibility for motion history
    Add the old motion history API back, as a shim around the new mi
    API.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-09-10 09:09:46 +10:00
Peter Hutterer ac3f88e604 xfree86: remove {Dont}SendCoreEvents defines
The input drivers that use it only do so with ABI 0 and we're long past this
one now. Input driver don't have a say in whether they send core events now
anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-09-10 09:09:46 +10:00
Peter Hutterer 3f264149ff xfree86: don't export xf86InputDevs.
Use xf86FirstLocalDevice() instead (but don't get me started on the naming
of that one...)

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org>
2010-09-10 09:09:40 +10:00
Peter Hutterer 8f0531bdda xfree86: remove XI_PRIVATE macro, unused.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org>
2010-09-10 09:09:32 +10:00
Peter Hutterer c08f7afdbc xfree86: update comment for xf86DeleteInput
We have a driver hook - it's UnInit.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org>
2010-09-10 09:09:21 +10:00
Peter Hutterer b8d9c5ff00 xfree86: remove IDevRec, replace with InputInfoRec.
This struct is superfluous, maintaining the same info as the InputInfoRec
(with the exception of the driver name).

This is a rather large commit with the majority of changes being a rename
from the fields of the IDevRec (idev, commonOptions) to the InputInfoRec
(pInfo, options).

The actual changes affect the initialization process of the input device:
In NewInputDeviceRequest, the InputInfoRec is now always allocated and just
added to the internal list in xf86NewInputDevice() if the init process
succeeded.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-09-10 09:09:20 +10:00
Peter Hutterer c5da32a610 xfree86: plug minor memory leak.
When no identifier for the device was specified, the allocated IDevRec (and
its associated fields) need to be freed.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org>
2010-09-10 09:09:12 +10:00
Peter Hutterer 34ade08174 xfree86: Remove extraOptions parameter from xf86CollectInputOptions.
And unexport it, drivers don't need to call this in the new init process.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-09-10 09:09:11 +10:00
Peter Hutterer 2199842ed5 xfree86: remove extraOptions field from IDevRec.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-09-10 09:09:11 +10:00
Peter Hutterer 5ab8ca0807 xfree86: remove some ifdef 0 code.
InputInfoRec hasn't had a free function pointer since the git import.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org>
2010-09-10 09:09:02 +10:00
Peter Hutterer b0da1bc509 xfree86: move a declaration down to the block it is used in.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org>
2010-09-10 09:08:54 +10:00
Peter Hutterer cd7059db4a xfree86: minor comment fix. HAL → config backend
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org>
2010-09-10 09:08:46 +10:00
Peter Hutterer f3861522fe xfree86: skip a few NULL initialization, calloc does it for us.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org>
2010-09-10 09:08:39 +10:00
Peter Hutterer 1217097861 xfree86: remove conversion procs and close proc from InputInfoRec.
None of them are called by the server.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Fernando Carrijo <fcarrijo@freedesktop.org>
2010-09-10 09:08:27 +10:00
Peter Hutterer 9802cca816 Remove atom field from InputInfoRec.
This field was only used in one location where we can use a local variable.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-09-06 12:44:17 +10:00
Peter Hutterer 79ea9ef399 input: constify valuators passed in by input drivers.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-09-06 12:44:10 +10:00
Jesse Adkins be978c7fc9 xfree86: Purge kbdCustomKeycodes from xf86Info.
This was obsolete after 3eeb62e8f5 "bug #890: completely remove deprecated keyboard driver".

Signed-off-by: Jesse Adkins <jesserayadkins@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-09-01 15:27:20 +10:00
Peter Hutterer 6922b31a13 xfree86: remove history_size
For a couple of ABIs now the history size was essentially static anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-09-01 15:27:20 +10:00
Peter Hutterer 892e39025b xfree86: remove always_core_feedback from InputInfoRec.
Unused

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-09-01 15:27:20 +10:00
Peter Hutterer 5e2912bd1d xfree86: remove first/last from InputInfoRec.
Unused.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-09-01 15:27:19 +10:00
Peter Hutterer 974bc2322b xfree86: remove private_flags from InputInfoRec.
Unused field.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-09-01 15:27:19 +10:00
Peter Hutterer 23b361b25b xfree86: Purge old_x/old_y from InputInfoRec.
Unused field.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-09-01 15:27:19 +10:00
Peter Hutterer 4ac3be29bc input: Purge AddOtherInputDevices DDX hook.
This hook wasn't used by any DDX. Device addition and removal is handled by
the config backend, so we don't need to do anything special that during the
ListInputDevices request processing.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:52 +10:00
Peter Hutterer cb672a461c input: remove OpenInputDevice and CloseInputDevice DDX hooks.
In theory, these hooks were to be used for DDX-specific device enablement.
None of the DDXs however did anything here. Now we call DEVICE_INIT on all
devices when they are added, so the xfree86 DDX as the only one with real
code didn't do anything here.

kdrive checked for device validity but that's already handled in
ProcXOpenDevice.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:51 +10:00
Simon Thum a46d2bb344 xfree86: Fix xf86 backend-specific input initialization
Instead of shoving it in rather unrelated places, move acceleration init
into xf86NewInputDevice.

Caveat: It's not clear atm how relevant other callers of ActivateDevice
(like OpenDevice) actually are.

Signed-off-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:51 +10:00
Peter Hutterer e930710ae5 xfree86: purge superfluous includes from xf86Xinput.c
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:51 +10:00
Peter Hutterer 2b7840b63d xfree86: remove unused DeviceAssocRec struct.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:50 +10:00
Peter Hutterer cdb5863c9f xfree86: remove LocalDeviceRec/Ptr definition.
Two names pointing to the same struct for over 7 years now. Remove the
define, if drivers don't want to change they can always do the typedef
themselves.

Rename all "LocalDevicePtr local" to "InputInfoPtr pInfo".

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:50 +10:00
Peter Hutterer 8764782f6d xfree86: add xf86IDrvMsg and friends for input driver logging.
Input driver messages are only standardised by convention, with the drivers
prefixing the device name to most messages. This makes it rather hard to
grep on "evdev" for example when looking for the evdev ouput.

This patch adds three new logging functions, modeled after xf86DrvMsg(), the
logging function for output drivers. New functions are
   xf86IDrvMsg()        - input driver log message in default verbosity.
   xf86IDrvMsgVerb()    - input driver log message in specified verbosity.
   xf86VIDrvMsgVerb()   - same as xf86IDrvMsgVerb() but takes a varargs
                          argument.

Default log format is <driver name>: <device name>: <message>.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:50 +10:00
Peter Hutterer b55ac354af xfree86: move xf86AllocateInput and xf86DeleteInput to xf86Xinput.c
Make xf86AllocateInput static in the process, this function is only called
from one location.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:49 +10:00
Peter Hutterer d2a5f41664 xfree86: return the device from xf86ActivateDevice.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:49 +10:00
Peter Hutterer fbf35e27f3 input: set XKB extension for all new devices, not just xfree86 ones.
Right now, Xephyr and others don't get to use XKB on the slave devices.
Which works given that no-one cares about SDs just yet but event processing
is different if the ProcessInputProc isn't wrapped properly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:49 +10:00
Peter Hutterer 11ed32b62c xfree86: purge SendDragEvents support.
From the documentation:
"This is mainly to allow a touch screen to be used with netscape and other
browsers which do strange things if the mouse moves between button down and
button up."

CLOSED - NOTOURBUG

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:48 +10:00
Peter Hutterer 7defd282be xfree86: remove XI86_CONFIGURED flag.
PreInit returns a status code. Let's use that instead of having it report
Success in some cases but not set the XI86_CONFIGURED flag and thus signal
an init failure.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:48 +10:00
Peter Hutterer 97a4acdac2 xfree86: purge some unused defines.
These defines have been write-only for a while now.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:48 +10:00
Peter Hutterer 0fb7a5c261 input: Purge Register*Device() functions.
RegisterPointerDevice() and RegisterKeyboardDevice() were already mapped to
RegisterOtherDevice() and obsolete.

RegisterOtherDevice() was called for all devices and the two assignments can
simply be moved into AddInputDevice(). Purge RegisterOtherDevice() and
pretend it never happened.

*lalalalala*

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:47 +10:00
Peter Hutterer 67ffbcc14c xfree86: remove superflous assignments.
ActivateGrab and DeactivateGrab are set in AddInputDevice() already.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:47 +10:00
Peter Hutterer 4cd54d9ed9 xfree86: make xf86ActivateDevice static.
No-one but the joystick driver uses it and that one should be using NIDR
instead.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:47 +10:00
Peter Hutterer 31c71425ac config: expose config_info as an input option.
config_info is the only reliable indicator we have in the server for
duplicate devices (drivers can test for maj/min on fds as well). Don't set
this after the device has been initialized but assume it's important enough
to set during NIDR.

This makes the option "config_info" available to the drivers as well.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:46 +10:00
Peter Hutterer de0cc5a72d xfree86: rework driver PreInit API - XInput ABI 12
The main change introduced in this patch is the removal of the
back-and-forth between DDX and the driver.
The DDX now allocates the InputInfoRec and fills it with default values. The
DDX processes common options (and module-specific default options, if
appropriate) before passing the initialised struct to the driver.

The driver may do module-specific initializations and return Success or an
error code in the case of a failure.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-09-01 15:26:46 +10:00
Alan Coopersmith b5cf9c5090 Stop checking or calling PtrCtrlProcs
None of them do anything useful now that pointer acceleration is
entirely handled in the server.   (Does not completely nuke yet,
since that would be an API/ABI break.)

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-08-13 15:24:51 +10:00
Keith Packard d75e8146c4 Unwrap/rewrap EnterVT/LeaveVT completely, Fixes 28998
Because some EnterVT code needs to remove it self from the
call chain, we need to fix all of the wrappers to correctly
unwrap/rewrap during the call chain. This is a follow-on to the fix
for bug 27114 in commit 68a9ee8370.

Signed-off-by: Keith Packard <keithp@keithp.com>
Tested-by: Jesse Barnes <jesse.barnes@intel.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2010-07-13 09:58:04 -07:00
Peter Hutterer fd4f5059f0 dix: purge leftover manual key down bit setting.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2010-07-07 13:29:46 +10:00
Tiago Vignatti 5ea497fc32 xfree86: configure: remove vendor and card name matching rules
Although vendor and board naming are used to create the configure file, the
server doesn't actually use it when fetching such file and probing devices.

Reported-by: Richard Barnette <jrbarnette@chromium.org>
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-07-01 08:04:15 -04:00
Tiago Vignatti 90fd9e40b5 xfree86: pci: remove superfluous vendor and card name logging
X server suffers in startup time when relying on the pciaccess's linear search
to fetch vendor and video device name from PCI ID file (when existent). Such
names are only used to write the log, which may be superfluous. This
information often is provided by the drivers or likewise users can get the it
using external tools like lspci or scanpci.

This patch remove the references of those functions from X start up.

Reported-by: Richard Barnette <jrbarnette@chromium.org>
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: James Cloos <cloos@jhcloos.com>
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-07-01 08:03:26 -04:00
Alan Coopersmith b8615d5927 Don't coredump on "X -showopts" (bug 25874)
Don't try walking the xf86ConfigLayout.screens table if it's empty
https://bugs.freedesktop.org/show_bug.cgi?id=25874

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-06-18 14:36:54 -07:00
Mikhail Gusarov e4570f5db5 xfree86: Get rid of xstrdup when argument is definitely non-NULL
ditto for XFree86

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-06-11 19:05:46 +07:00