Hello community, here is the log from the commit of package x11-input-synaptics checked in at Wed Aug 15 20:34:39 CEST 2007. -------- --- x11-input-synaptics/x11-input-synaptics.changes 2007-02-06 14:38:37.000000000 +0100 +++ /mounts/work_src_done/STABLE/x11-input-synaptics/x11-input-synaptics.changes 2007-08-14 16:41:07.155161000 +0200 @@ -1,0 +2,6 @@ +Mon May 21 18:45:31 CEST 2007 - sndirsch@suse.de + +- wait.diff: + * wait up to 2 seconds for the device to get ready (Bug #274723) + +------------------------------------------------------------------- New: ---- wait.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ x11-input-synaptics.spec ++++++ --- /var/tmp/diff_new_pack.ng4421/_old 2007-08-15 20:34:32.000000000 +0200 +++ /var/tmp/diff_new_pack.ng4421/_new 2007-08-15 20:34:32.000000000 +0200 @@ -16,12 +16,12 @@ BuildRequires: xorg-x11-server-sdk %endif URL: http://web.telia.com/~u89404340/touchpad/ -License: GNU General Public License (GPL) +License: GPL v2 or later Group: System/X11/Servers/XF86_4 Autoreqprov: on %define driver_release 0.14.6 Version: 0.14.6 -Release: 37 +Release: 86 Summary: X11 input module for synaptics touchpad Provides: xorg-x11-server:/usr/X11R6/%{_lib}/modules/input/synaptics_drv.o Source: synaptics-%{version}.tar.bz2 @@ -30,6 +30,7 @@ Patch: synaptics-%{version}.diff Patch1: xorg_gunze.diff Patch2: gunze-tools.diff +Patch3: wait.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -64,7 +65,7 @@ Group: System/X11/Servers/XF86_4 Autoreqprov: on Version: 031126 -Release: 73 +Release: 122 %description -n x11-input-gunze X11 input module for gunze touchscreen @@ -82,7 +83,7 @@ Requires: x11-input-gunze = %{version}-%{release} Autoreqprov: on Version: 031126 -Release: 73 +Release: 122 %description -n x11-input-gunze-tools Tools to configure and calibrate gunze X11 input driver. @@ -97,6 +98,7 @@ %prep %setup -n synaptics-%driver_release -b1 -b2 %patch +%patch3 major=$(echo %driver_release | cut -d "." -f 1) minor=$(echo %driver_release | cut -d "." -f 2) patch=$(echo %driver_release | cut -d "." -f 3) @@ -192,7 +194,10 @@ /usr/bin/gunze_panel /usr/bin/gunzets_calib -%changelog -n x11-input-synaptics +%changelog +* Mon May 21 2007 - sndirsch@suse.de +- wait.diff: + * wait up to 2 seconds for the device to get ready (Bug #274723) * Tue Feb 06 2007 - sndirsch@suse.de - removed "-nostdlib/-lgcc" to fix loading of synaptics/gunze modules (Bug #242319) ++++++ wait.diff ++++++ diff -p -w -U11 -r ../synaptics-0.14.6.orig/eventcomm.c ./eventcomm.c --- ../synaptics-0.14.6.orig/eventcomm.c 2007-06-01 22:37:48.368576223 +0200 +++ ./eventcomm.c 2007-06-01 22:38:06.292136136 +0200 @@ -231,56 +231,66 @@ EventReadHwState(LocalDevicePtr local, s } } return FALSE; } static Bool EventAutoDevProbe(LocalDevicePtr local) { /* We are trying to find the right eventX device or fall back to the psaux protocol and the given device from XF86Config */ int i; - Bool have_evdev = FALSE; - int noent_cnt = 0; - const int max_skip = 10; + Bool have_evdev; + int noent_cnt; + const int max_skip = 10; + int wait = 0; + const int max_wait = 2000; + while (wait <= max_wait) { + have_evdev = FALSE; + noent_cnt = 0; for (i = 0; ; i++) { char fname[64]; int fd = -1; Bool is_touchpad; sprintf(fname, "%s/%s%d", DEV_INPUT_EVENT, EVENT_DEV_NAME, i); SYSCALL(fd = open(fname, O_RDONLY)); if (fd < 0) { if (errno == ENOENT) { if (++noent_cnt >= max_skip) break; else continue; } else { continue; } } noent_cnt = 0; have_evdev = TRUE; is_touchpad = event_query_is_touchpad(fd); SYSCALL(close(fd)); if (is_touchpad) { - xf86Msg(X_PROBED, "%s auto-dev sets device to %s\n", - local->name, fname); + xf86Msg(X_PROBED, "%s auto-dev sets device to %s (waited %d msec)\n", + local->name, fname, wait); xf86ReplaceStrOption(local->options, "Device", fname); return TRUE; } } - ErrorF("%s no synaptics event device found (checked %d nodes)\n", - local->name, i + 1); + ErrorF("%s waiting 100 msec to become devices ready\n", local->name); + usleep(100*1000); + wait += 100; + ErrorF("%s waiting time total: %d\n", local->name, wait); + } + ErrorF("%s no synaptics event device found (checked %d nodes, waited %d msec)\n", + local->name, i + 1, wait); if (i <= max_skip) ErrorF("%s The /dev/input/event* device nodes seem to be missing\n", local->name); if (i > max_skip && !have_evdev) ErrorF("%s The evdev kernel module seems to be missing\n", local->name); return FALSE; } struct SynapticsProtocolOperations event_proto_operations = { EventDeviceOnHook, EventDeviceOffHook, ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org