[PATCH 00/19] Input driver API rework and cleanup

Peter Hutterer peter.hutterer at who-t.net
Thu Jul 29 23:21:16 PDT 2010


As I have mentioned in the past, the input driver API is in need of a
cleanup. For those easily amused, I recommend going through the input device
addition process where one can find gimmicks such as the DIX calling the DDX
which calls the driver to call back into the DDX to allocate a struct then
handed to the driver to be used by the DIX. Or so, sometimes I get confused
figuring this out in detail.

This set of patches provides some of this cleanup, including a new input
API. [PATCH 02/19] "xfree86: rework driver PreInit API - XInput ABI 12" is
the main one to look at here, the rest is just throwing out unnecessary
stuff.

All input drivers will need adjusting to this new API though the impact is
relatively small, wacom will likely be the one most affected by it.

I've ported evdev and synaptics already, the main evdev patch can be seen
here:
http://cgit.freedesktop.org/~whot/xf86-input-evdev/commit/?id=92e8dc49611398c8a9659b244645530cd26736fe
Most notably, the effort required to support in-driver hotplugging is now
much less (patches for that separately).

Obviously, this work is aimed for server 1.10. It's available on the
input-api branch in my personal repo, same for the evdev patches.

Cheers,
  Peter


The following changes since commit 750d4e82a0c1161292d24216bcff200cd6647611:

  XQuartz: xpbproxy: Don't take down the whole server on an IO error (2010-07-29 11:41:32 -0700)

are available in the git repository at:
  git://people.freedesktop.org/~whot/xserver.git input-api

Peter Hutterer (18):
      xfree86: fix compiler warning about implicied decl of DuplicateModule.
      xfree86: rework driver PreInit API - XInput ABI 12
      config: expose config_info as an input option.
      xfree86: make xf86ActivateDevice static.
      xfree86: remove superflous assignments.
      input: Purge Register*Device() functions.
      xfree86: purge some unused defines.
      xfree86: remove XI86_CONFIGURED flag.
      xfree86: purge SendDragEvents support.
      input: set XKB extension for all new devices, not just xfree86 ones.
      xfree86: return the device from xf86ActivateDevice.
      xfree86: move xf86AllocateInput and xf86DeleteInput to xf86Xinput.c
      xfree86: add xf86IDrvMsg and friends for input driver logging.
      xfree86: remove LocalDeviceRec/Ptr definition.
      xfree86: remove unused DeviceAssocRec struct.
      xfree86: purge superfluous includes from xf86Xinput.c
      input: remove OpenInputDevice and CloseInputDevice DDX hooks.
      input: Purge AddOtherInputDevices DDX hook.

Simon Thum (1):
      xfree86: Fix xf86 backend-specific input initialization

 Xi/closedev.c                        |    1 -
 Xi/exevents.c                        |    7 -
 Xi/listdev.c                         |    3 -
 Xi/opendev.c                         |    1 -
 Xi/stubs.c                           |   90 ---------
 config/hal.c                         |    6 +-
 config/udev.c                        |    7 +-
 dix/devices.c                        |   18 +--
 doc/xml/Xserver-spec.xml             |   25 ---
 hw/dmx/doc/dmx.xml                   |   14 +--
 hw/dmx/input/dmxinputinit.c          |    8 +-
 hw/dmx/input/dmxxinput.c             |   17 --
 hw/kdrive/src/kinput.c               |   32 ----
 hw/vfb/InitInput.c                   |    2 -
 hw/xfree86/common/xf86Config.c       |    1 -
 hw/xfree86/common/xf86Helper.c       |  111 ++++--------
 hw/xfree86/common/xf86InPriv.h       |    3 -
 hw/xfree86/common/xf86Module.h       |    2 +-
 hw/xfree86/common/xf86Xinput.c       |  333 ++++++++++++++++++----------------
 hw/xfree86/common/xf86Xinput.h       |   68 +++----
 hw/xfree86/doc/devel/Registry        |    1 -
 hw/xfree86/doc/man/xorg.conf.man.pre |    3 -
 hw/xquartz/darwin.c                  |    5 -
 hw/xquartz/darwinXinput.c            |   72 --------
 hw/xwin/InitInput.c                  |    4 -
 include/XIstubs.h                    |   14 --
 include/exevents.h                   |    4 -
 include/input.h                      |    6 -
 28 files changed, 252 insertions(+), 606 deletions(-)


More information about the xorg-devel mailing list