[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-input-mutouch: Changes to 'upstream-unstable'



 README            |   20 ++
 configure.ac      |   25 ---
 man/mutouch.man   |    2 
 src/Makefile.am   |    2 
 src/xf86MuTouch.c |  447 ++++++++++++++++++++----------------------------------
 5 files changed, 198 insertions(+), 298 deletions(-)

New commits:
commit 42d5a96fc6cd69f3b787b5030386e0bcbb9b0cab
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 28 11:32:14 2011 +1000

    mutouch 1.3.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/configure.ac b/configure.ac
index f070450..9aaaa07 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-input-mutouch],
-        1.2.99,
+        1.3.0,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-input-mutouch)
 

commit 7efc947e3cb2fe254f5b44bd1a0f4629fb777a95
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 28 00:57:57 2011 +1000

    Don't reset the stored device's private
    
    Storing references to the finger/stylus pInfo is dangerous as-is,
    but accessing them during the UnInit is suboptimal. This pInfo may have
    been freed already.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
index d382b19..290fa11 100644
--- a/src/xf86MuTouch.c
+++ b/src/xf86MuTouch.c
@@ -1044,8 +1044,6 @@ xf86MuTUninit(InputDriverPtr	drv,
   MuTPrivatePtr		priv = (MuTPrivatePtr) pInfo->private;
 
   if (priv) {
-    priv->stylus->private = NULL;
-    priv->finger->private = NULL;
     free(priv->input_dev);
     free(priv);
     pInfo->private = NULL;

commit d23472b709fafd48f8403e6ea97918c06cc3caaf
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 28 00:45:11 2011 +1000

    Don't free pInfo in Uninit.
    
    Just free priv, reset the pointer to NULL and let the server do the
    rest.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
index aaf16df..d382b19 100644
--- a/src/xf86MuTouch.c
+++ b/src/xf86MuTouch.c
@@ -1048,9 +1048,8 @@ xf86MuTUninit(InputDriverPtr	drv,
     priv->finger->private = NULL;
     free(priv->input_dev);
     free(priv);
+    pInfo->private = NULL;
   }
-  free(pInfo->name);
-  free(pInfo);
 
   xf86DeleteInput(pInfo, 0);
 }

commit 9aaaf67f5e0bb7419c24df041a75bb93e2f7c601
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 28 00:43:18 2011 +1000

    Don't call DEVICE_OFF during Uninit
    
    The server will do it for us before anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
index 01fb684..aaf16df 100644
--- a/src/xf86MuTouch.c
+++ b/src/xf86MuTouch.c
@@ -1043,8 +1043,6 @@ xf86MuTUninit(InputDriverPtr	drv,
 {
   MuTPrivatePtr		priv = (MuTPrivatePtr) pInfo->private;
 
-  xf86MuTControl(pInfo->dev, DEVICE_OFF);
-
   if (priv) {
     priv->stylus->private = NULL;
     priv->finger->private = NULL;

commit 041959f3fcdc473cb92437227522b2e986a1055e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 28 00:38:38 2011 +1000

    Don't free pInfo on PreInit failure.
    
    The server does it for us. Make sure we reset the private pointer to
    NULL though.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
index 15b4d51..01fb684 100644
--- a/src/xf86MuTouch.c
+++ b/src/xf86MuTouch.c
@@ -1232,9 +1232,7 @@ xf86MuTInit(InputDriverPtr	drv,
       free(priv->input_dev);
     }
     free(priv);
-  }
-  if (pInfo) {
-    free(pInfo);
+    pInfo->private = NULL;
   }
   return rc;
 }

commit ea50c9d3a593d6dd2a45a12b39fe9c248ea25309
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 28 00:37:45 2011 +1000

    Require server 1.10 instead of manual ABI checks.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/configure.ac b/configure.ac
index a252306..f070450 100644
--- a/configure.ac
+++ b/configure.ac
@@ -57,7 +57,7 @@ XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
 XORG_DRIVER_CHECK_EXT(XINPUT, inputproto)
 
 # Checks for pkg-config packages
-PKG_CHECK_MODULES(XORG, [xorg-server >= 1.9.0] xproto $REQUIRED_MODULES)
+PKG_CHECK_MODULES(XORG, [xorg-server >= 1.10.0] xproto $REQUIRED_MODULES)
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
 # Checks for libraries.
diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
index 5ef11e8..15b4d51 100644
--- a/src/xf86MuTouch.c
+++ b/src/xf86MuTouch.c
@@ -59,9 +59,6 @@
 
 #include "xf86Module.h"
 
-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
-#error "Need server with input ABI 12"
-#endif
 /*
  ***************************************************************************
  *

commit 29c3cb19938df97fd4a968ac010f48a2e25a3b72
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 28 00:35:13 2011 +1000

    s/MicroTouch/MuTouch
    
    I don't know what the difference is but we had a microtouch driver.
    Having this driver spit out MicroTouch error messages is suboptimal.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
index cc9dcb3..5ef11e8 100644
--- a/src/xf86MuTouch.c
+++ b/src/xf86MuTouch.c
@@ -25,7 +25,7 @@
  *******************************************************************************
  *******************************************************************************
  *
- * This driver is able to deal with MicroTouch serial controllers using
+ * This driver is able to deal with MuTouch serial controllers using
  * firmware set 2. This includes (but may not be limited to) Serial/SMT3
  * and TouchPen controllers. The only data format supported is Mode Tablet
  * as it is the only available with these controllers. Anyway this is not a big
@@ -270,7 +270,7 @@ xf86MuTReadInput(InputInfoPtr	pInfo)
 			   (char *) (priv->rec_buf + priv->num_old_bytes),
 			   MuT_BUFFER_SIZE - priv->num_old_bytes));
   if (num_bytes < 0) {
-    Error("System error while reading from MicroTouch touchscreen.");
+    Error("System error while reading from MuTouch touchscreen.");
     return;
   }
 
@@ -355,7 +355,7 @@ xf86MuTReadInput(InputInfoPtr	pInfo)
 
 	if (!whinged) {
 	  whinged++;
-	  ErrorF("MicroTouch screen sent %s event, but that device is not configured.\n",
+	  ErrorF("MuTouch screen sent %s event, but that device is not configured.\n",
 		 (state & MuT_WHICH_DEVICE)?"stylus":"finger");
 	  ErrorF("You might want to consider altering your config accordingly.\n");
 	}
@@ -430,7 +430,7 @@ xf86MuTSendPacket(unsigned char	*packet,
 		packet[5], packet[6], packet[7], packet[8], packet[9]));
   SYSCALL(result = write(fd, packet, len+2));
   if (result != len+2) {
-    DBG(5, ErrorF("System error while sending to MicroTouch touchscreen.\n"));
+    DBG(5, ErrorF("System error while sending to MuTouch touchscreen.\n"));
     return !Success;
   }
   else {
@@ -486,7 +486,7 @@ xf86MuTGetReply(unsigned char	*buffer,
    * Okay, give up.
    */
   if (num_bytes < 0) {
-    Error("System error while reading from MicroTouch touchscreen.");
+    Error("System error while reading from MuTouch touchscreen.");
     return !Success;
   }
   DBG(4, ErrorF("Read %d bytes of reply\n", num_bytes));
@@ -624,7 +624,7 @@ xf86MuTPrintIdent(unsigned char	*packet)
 {
   int	vers, rev;
 
-  xf86Msg(X_PROBED, "MicroTouch touchscreen is a ");
+  xf86Msg(X_PROBED, "MuTouch touchscreen is a ");
   if (strncmp((char *) &packet[1], MuT_TOUCH_PEN_IDENT, 2) == 0) {
     xf86Msg(X_NONE, "TouchPen");
   }
@@ -636,7 +636,7 @@ xf86MuTPrintIdent(unsigned char	*packet)
   }
   xf86Msg(X_NONE, ", connected through a serial port.\n");
   sscanf((char *) &packet[3], "%2d%2d", &vers, &rev);
-  xf86Msg(X_PROBED, "MicroTouch controller firmware revision is %d.%d.\n", vers, rev);
+  xf86Msg(X_PROBED, "MuTouch controller firmware revision is %d.%d.\n", vers, rev);
 }
 
 
@@ -652,7 +652,7 @@ xf86MuTPrintIdent(unsigned char	*packet)
 static void
 xf86MuTPrintHwStatus(unsigned char	*packet)
 {
-  xf86Msg(X_PROBED, "MicroTouch status of errors: %c%c.\n", packet[7], packet[8]);
+  xf86Msg(X_PROBED, "MuTouch status of errors: %c%c.\n", packet[7], packet[8]);
 }
 
 
@@ -696,7 +696,7 @@ xf86MuTControl(DeviceIntPtr	dev,
 
   case DEVICE_INIT:
     {
-      DBG(2, ErrorF("MicroTouch %s init...\n", id_string));
+      DBG(2, ErrorF("MuTouch %s init...\n", id_string));
 
       if (priv->screen_no >= screenInfo.numScreens ||
 	  priv->screen_no < 0) {
@@ -762,7 +762,7 @@ xf86MuTControl(DeviceIntPtr	dev,
       Bool	already_open = FALSE;
       char	*report_what = "";
 
-      DBG(2, ErrorF("MicroTouch %s on...\n", id_string));
+      DBG(2, ErrorF("MuTouch %s on...\n", id_string));
 
       /*
        * Try to see if the port has already been opened either
@@ -789,10 +789,10 @@ xf86MuTControl(DeviceIntPtr	dev,
       }
       if (!already_open) {
 
-	DBG(2, ErrorF("MicroTouch touchscreen opening : %s\n", priv->input_dev));
+	DBG(2, ErrorF("MuTouch touchscreen opening : %s\n", priv->input_dev));
 	pInfo->fd = xf86OpenSerial(pInfo->options);
 	if (pInfo->fd < 0) {
-	  Error("Unable to open MicroTouch touchscreen device");
+	  Error("Unable to open MuTouch touchscreen device");
 	  return !Success;
 	}
 	memset(req, 0, MuT_PACKET_SIZE);
@@ -809,7 +809,7 @@ xf86MuTControl(DeviceIntPtr	dev,
 	strncpy((char *) &req[1], MuT_OUTPUT_IDENT, strlen(MuT_OUTPUT_IDENT));
 	if (xf86MuTSendCommand(req, strlen(MuT_OUTPUT_IDENT),
 			       reply, pInfo->fd) != Success) {
-	  ErrorF("Unable to ask MicroTouch touchscreen identification\n");
+	  ErrorF("Unable to ask MuTouch touchscreen identification\n");
 	  goto not_success;
 	}
 	xf86MuTPrintIdent(reply);
@@ -817,7 +817,7 @@ xf86MuTControl(DeviceIntPtr	dev,
 	strncpy((char *) &req[1], MuT_UNIT_TYPE, strlen(MuT_UNIT_TYPE));
 	if (xf86MuTSendCommand(req, strlen(MuT_UNIT_TYPE),
 			       reply, pInfo->fd) != Success) {
-	  ErrorF("Unable to ask MicroTouch touchscreen status\n");
+	  ErrorF("Unable to ask MuTouch touchscreen status\n");
 	  goto not_success;
 	}
 	xf86MuTPrintHwStatus(reply);
@@ -829,14 +829,14 @@ xf86MuTControl(DeviceIntPtr	dev,
 	strncpy((char *) &req[1], MuT_FORMAT_TABLET, strlen(MuT_FORMAT_TABLET));
 	if (xf86MuTSendCommand(req, strlen(MuT_FORMAT_TABLET),
 			       NULL, pInfo->fd) != Success) {
-	  ErrorF("Unable to switch MicroTouch touchscreen to Tablet Format\n");
+	  ErrorF("Unable to switch MuTouch touchscreen to Tablet Format\n");
 	  goto not_success;
 	}
 	memset(req, 0, MuT_PACKET_SIZE);
 	strncpy((char *) &req[1], MuT_MODE_STREAM, strlen(MuT_MODE_STREAM));
 	if (xf86MuTSendCommand(req, strlen(MuT_MODE_STREAM),
 			       NULL, pInfo->fd) != Success) {
-	  ErrorF("Unable to switch MicroTouch touchscreen to Stream Mode\n");
+	  ErrorF("Unable to switch MuTouch touchscreen to Stream Mode\n");
 	  goto not_success;
 	}
 
@@ -844,7 +844,7 @@ xf86MuTControl(DeviceIntPtr	dev,
 	strncpy((char *) &req[1], MuT_PEN_ONLY, strlen(MuT_PEN_ONLY));
 	if (xf86MuTSendCommand(req, strlen(MuT_PEN_ONLY),
 			       NULL, pInfo->fd) != Success) {
-	  ErrorF("Unable to change MicroTouch touchscreen to pen mode\n");
+	  ErrorF("Unable to change MuTouch touchscreen to pen mode\n");
 	  goto not_success;
 	}
 	/*	goto not_success;*/
@@ -876,7 +876,7 @@ xf86MuTControl(DeviceIntPtr	dev,
       memset(req, 0, MuT_PACKET_SIZE);
       strncpy((char *) &req[1], report_what, strlen(report_what));
       if (xf86MuTSendCommand(req, strlen(report_what), NULL, pInfo->fd) != Success) {
-	ErrorF("Unable to change MicroTouch touchscreen to %s\n",
+	ErrorF("Unable to change MuTouch touchscreen to %s\n",
 	       (strcmp(report_what, MuT_PEN_FINGER) == 0) ? "Pen & Finger" :
 	       ((strcmp(report_what, MuT_PEN_ONLY) == 0) ? "Pen Only" : "Finger Only"));
 	goto not_success;
@@ -892,7 +892,7 @@ xf86MuTControl(DeviceIntPtr	dev,
 	req[2+strlen(MuT_SET_FREQUENCY)] = '0';
 	req[3+strlen(MuT_SET_FREQUENCY)] = (priv->frequency<=9?'0':'A'-10)+priv->frequency;
 	if (xf86MuTSendCommand(req, strlen((char *) &req[1]), NULL, pInfo->fd) != Success) {
-	  ErrorF("Unable to set MicroTouch ThruGlass frquency to %d\n", priv->frequency);
+	  ErrorF("Unable to set MuTouch ThruGlass frquency to %d\n", priv->frequency);
 	  goto not_success;
 	}
       }
@@ -911,7 +911,7 @@ xf86MuTControl(DeviceIntPtr	dev,
    * Deactivate the device.
    */
   case DEVICE_OFF:
-    DBG(2, ErrorF("MicroTouch %s off...\n", id_string));
+    DBG(2, ErrorF("MuTouch %s off...\n", id_string));
     dev->public.on = FALSE;
     DBG(2, ErrorF("Done\n"));
     return Success;
@@ -921,7 +921,7 @@ xf86MuTControl(DeviceIntPtr	dev,
      * Close the port and free all the resources.
      */
   case DEVICE_CLOSE:
-    DBG(2, ErrorF("MicroTouch %s close...\n", id_string));
+    DBG(2, ErrorF("MuTouch %s close...\n", id_string));
     dev->public.on = FALSE;
     if (pInfo->fd >= 0) {
       xf86RemoveEnabledDevice(pInfo);
@@ -1011,7 +1011,7 @@ xf86MuTAllocate(InputDriverPtr	drv,
 static int
 xf86MuTAllocateFinger(InputDriverPtr drv, InputInfoPtr pInfo)
 {
-  int rc = xf86MuTAllocate(drv, pInfo, XI_FINGER, "MicroTouch Finger", FINGER_ID);
+  int rc = xf86MuTAllocate(drv, pInfo, XI_FINGER, "MuTouch Finger", FINGER_ID);
 
   if (rc == Success) {
     ((MuTPrivatePtr) pInfo->private)->finger = pInfo;
@@ -1030,7 +1030,7 @@ xf86MuTAllocateFinger(InputDriverPtr drv, InputInfoPtr pInfo)
 static int
 xf86MuTAllocateStylus(InputDriverPtr drv, InputInfoPtr pInfo)
 {
-    int rc = xf86MuTAllocate(drv, pInfo, XI_STYLUS, "MicroTouch Stylus", STYLUS_ID);
+    int rc = xf86MuTAllocate(drv, pInfo, XI_STYLUS, "MuTouch Stylus", STYLUS_ID);
 
   if (rc == Success) {
     ((MuTPrivatePtr) pInfo->private)->stylus = pInfo;
@@ -1090,7 +1090,7 @@ xf86MuTInit(InputDriverPtr	drv,
     rc = xf86MuTAllocateStylus(drv, pInfo);
   }
   else {
-    xf86Msg(X_ERROR, "%s: Type field missing in Microtouch module config,\n"
+    xf86Msg(X_ERROR, "%s: Type field missing in MuTouch module config,\n"
 	    "Must be stylus or finger\n", pInfo->name);
     goto init_err;
   }
@@ -1101,7 +1101,7 @@ xf86MuTInit(InputDriverPtr	drv,
 
   str = xf86FindOptionValue(pInfo->options, "Device");
   if (!str) {
-    xf86Msg(X_ERROR, "%s: No Device specified in Microtouch module config.\n",
+    xf86Msg(X_ERROR, "%s: No Device specified in MuTouch module config.\n",
 	    pInfo->name);
     rc = BadValue;
     goto init_err;
@@ -1119,7 +1119,7 @@ xf86MuTInit(InputDriverPtr	drv,
     if ((pInfo != current) &&
 	(current->device_control == xf86MuTControl) &&
 	(strcmp(((MuTPrivatePtr) (current->private))->input_dev, priv->input_dev) == 0)) {
-      xf86Msg(X_CONFIG, "MicroTouch config detected a device share between %s and %s\n",
+      xf86Msg(X_CONFIG, "MuTouch config detected a device share between %s and %s\n",
 	      pInfo->name, current->name);
       free(priv->input_dev);
       free(priv);
@@ -1137,7 +1137,7 @@ xf86MuTInit(InputDriverPtr	drv,
     current = current->next;
   }
   if (!current) {
-    xf86Msg(X_CONFIG, "MicroTouch %s input device: %s\n", pInfo->name, priv->input_dev);
+    xf86Msg(X_CONFIG, "MuTouch %s input device: %s\n", pInfo->name, priv->input_dev);
   }
 
   /* Process the common options. */
@@ -1147,30 +1147,30 @@ xf86MuTInit(InputDriverPtr	drv,
   if (str) {
     pInfo->name = strdup(str);
   }
-  xf86Msg(X_CONFIG, "Microtouch X device name: %s\n", pInfo->name);
+  xf86Msg(X_CONFIG, "MuTouch X device name: %s\n", pInfo->name);
   priv->screen_no = xf86SetIntOption(pInfo->options, "ScreenNo", 0);
-  xf86Msg(X_CONFIG, "Microtouch associated screen: %d\n", priv->screen_no);
+  xf86Msg(X_CONFIG, "MuTouch associated screen: %d\n", priv->screen_no);
   priv->max_x = xf86SetIntOption(pInfo->options, "MaxX", 3000);
-  xf86Msg(X_CONFIG, "Microtouch maximum x position: %d\n", priv->max_x);
+  xf86Msg(X_CONFIG, "MuTouch maximum x position: %d\n", priv->max_x);
   priv->min_x = xf86SetIntOption(pInfo->options, "MinX", 0);
-  xf86Msg(X_CONFIG, "Microtouch minimum x position: %d\n", priv->min_x);
+  xf86Msg(X_CONFIG, "MuTouch minimum x position: %d\n", priv->min_x);
   priv->max_y = xf86SetIntOption(pInfo->options, "MaxY", 3000);
-  xf86Msg(X_CONFIG, "Microtouch maximum y position: %d\n", priv->max_y);
+  xf86Msg(X_CONFIG, "MuTouch maximum y position: %d\n", priv->max_y);
   priv->min_y = xf86SetIntOption(pInfo->options, "MinY", 0);
-  xf86Msg(X_CONFIG, "Microtouch minimum y position: %d\n", priv->min_y);
+  xf86Msg(X_CONFIG, "MuTouch minimum y position: %d\n", priv->min_y);
   priv->frequency = xf86SetIntOption(pInfo->options, "Frequency", 0);
-  xf86Msg(X_CONFIG, "Microtouch ThruGlass frequency is: %d\n", priv->frequency);
+  xf86Msg(X_CONFIG, "MuTouch ThruGlass frequency is: %d\n", priv->frequency);
   priv->swap_axes = xf86SetBoolOption(pInfo->options, "SwapXY", 0);
   if (priv->swap_axes) {
-    xf86Msg(X_CONFIG, "Microtouch %s device will work with X and Y axes swapped\n",
+    xf86Msg(X_CONFIG, "MuTouch %s device will work with X and Y axes swapped\n",
 	    pInfo->name);
   }
   debug_level = xf86SetIntOption(pInfo->options, "DebugLevel", 0);
   if (debug_level) {
 #if DEBUG
-    xf86Msg(X_CONFIG, "Microtouch debug level sets to %d\n", debug_level);
+    xf86Msg(X_CONFIG, "MuTouch debug level sets to %d\n", debug_level);
 #else
-    xf86Msg(X_INFO, "Microtouch debug not available\n");
+    xf86Msg(X_INFO, "MuTouch debug not available\n");
 #endif
   }
   str = xf86SetStrOption(pInfo->options, "PortraitMode", "Landscape");
@@ -1181,14 +1181,14 @@ xf86MuTInit(InputDriverPtr	drv,
     portrait = -1;
   }
   else if (strcmp(str, "Landscape") != 0) {
-    xf86Msg(X_ERROR, "Microtouch portrait mode should be: Portrait, Landscape or PortraitCCW");
+    xf86Msg(X_ERROR, "MuTouch portrait mode should be: Portrait, Landscape or PortraitCCW");
     str = "Landscape";
   }
-  xf86Msg(X_CONFIG, "Microtouch device will work in %s mode\n", str);
+  xf86Msg(X_CONFIG, "MuTouch device will work in %s mode\n", str);
 
   if (priv->max_x - priv->min_x <= 0) {
     int tmp;
-    xf86Msg(X_INFO, "MicroTouch: reverse x mode (minimum x position >= maximum x position)\n");
+    xf86Msg(X_INFO, "MuTouch: reverse x mode (minimum x position >= maximum x position)\n");
     tmp              = priv->max_x; /* X server doesn't do inverted by itself*/
     priv->max_x      = priv->min_x;
     priv->min_x      = tmp;
@@ -1198,7 +1198,7 @@ xf86MuTInit(InputDriverPtr	drv,
 
   if (priv->max_y - priv->min_y <= 0) {
     int tmp;
-    xf86Msg(X_INFO, "MicroTouch: reverse y mode (minimum y position >= maximum y position)\n");
+    xf86Msg(X_INFO, "MuTouch: reverse y mode (minimum y position >= maximum y position)\n");
     tmp              = priv->max_y;
     priv->max_y      = priv->min_y;
     priv->min_y      = tmp;

commit 7de3fd29eaa2f7532658f706ee0471dde34f16d6
Author: Julien Cristau <jcristau@debian.org>
Date:   Sat Apr 17 16:07:29 2010 +0200

    Don't clobber CFLAGS
    
    CFLAGS is a user variable, don't set it from configure.

diff --git a/configure.ac b/configure.ac
index 4b0e04d..a252306 100644
--- a/configure.ac
+++ b/configure.ac
@@ -60,9 +60,6 @@ XORG_DRIVER_CHECK_EXT(XINPUT, inputproto)
 PKG_CHECK_MODULES(XORG, [xorg-server >= 1.9.0] xproto $REQUIRED_MODULES)
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
 
-CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src'
-AC_SUBST([CFLAGS])
-
 # Checks for libraries.
 
 # Checks for header files.
diff --git a/src/Makefile.am b/src/Makefile.am
index 5ddc0b7..194d9c6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -29,3 +29,5 @@
 @DRIVER_NAME@_drv_ladir = @inputdir@
 
 @DRIVER_NAME@_drv_la_SOURCES = xf86MuTouch.c
+
+AM_CFLAGS = $(XORG_CFLAGS)

commit 24029451c591d324fc6e4a64d0bba70841bb1725
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 3 09:07:38 2010 +1000

    Support input ABI 12
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Cyril Brulebois <kibi@debian.org>

diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
index 4312256..cc9dcb3 100644
--- a/src/xf86MuTouch.c
+++ b/src/xf86MuTouch.c
@@ -59,6 +59,9 @@
 
 #include "xf86Module.h"
 
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
+#error "Need server with input ABI 12"
+#endif
 /*
  ***************************************************************************
  *
@@ -727,12 +730,14 @@ xf86MuTControl(DeviceIntPtr	dev,
 			       priv->min_x, priv->max_x,
 			       9500,
 			       0     /* min_res */,
-			       9500  /* max_res */);
+			       9500  /* max_res */,
+			       Absolute);
 	InitValuatorAxisStruct(dev, 1, axis_labels[1],
 			       priv->min_y, priv->max_y,
 			       10500,
 			       0     /* min_res */,
-			       10500 /* max_res */);
+			       10500 /* max_res */,
+			       Absolute);
       }
 
       if (InitFocusClassDeviceStruct(dev) == FALSE) {
@@ -953,26 +958,17 @@ xf86MuTControl(DeviceIntPtr	dev,
  *
  ***************************************************************************
  */
-static InputInfoPtr
+static int
 xf86MuTAllocate(InputDriverPtr	drv,
+		InputInfoPtr	pInfo,
 		char		*name,
 		char		*type_name,
 		int		flag)
 {
-  InputInfoPtr        pInfo = xf86AllocateInput(drv, 0);
   MuTPrivatePtr         priv = (MuTPrivatePtr) malloc(sizeof(MuTPrivateRec));
 
-  if (!pInfo) {
-    if (priv) {
-      free(priv);
-    }
-    return NULL;
-  }
   if (!priv) {
-    if (pInfo) {
-      free(pInfo);
-    }
-    return NULL;
+    return BadAlloc;
   }
 
   priv->input_dev = strdup(MuT_PORT);
@@ -992,19 +988,16 @@ xf86MuTAllocate(InputDriverPtr	drv,
   priv->frequency = 0;
   priv->device_type = flag;
 
-  pInfo->name = name;
   pInfo->flags = 0 /* XI86_NO_OPEN_ON_INIT */;
   pInfo->device_control = xf86MuTControl;
   pInfo->read_input = xf86MuTReadInput;
   pInfo->control_proc = NULL;
   pInfo->switch_mode = NULL;
   pInfo->fd = -1;
-  pInfo->atom = 0;
-  pInfo->dev = NULL;
   pInfo->private = priv;
   pInfo->type_name = type_name;
 
-  return pInfo;
+  return Success;
 }
 
 
@@ -1015,15 +1008,15 @@ xf86MuTAllocate(InputDriverPtr	drv,
  *
  ***************************************************************************
  */
-static InputInfoPtr
-xf86MuTAllocateFinger(InputDriverPtr	drv)
+static int
+xf86MuTAllocateFinger(InputDriverPtr drv, InputInfoPtr pInfo)
 {
-  InputInfoPtr	pInfo = xf86MuTAllocate(drv, XI_FINGER, "MicroTouch Finger", FINGER_ID);
+  int rc = xf86MuTAllocate(drv, pInfo, XI_FINGER, "MicroTouch Finger", FINGER_ID);
 
-  if (pInfo) {
+  if (rc == Success) {
     ((MuTPrivatePtr) pInfo->private)->finger = pInfo;
   }
-  return pInfo;
+  return rc;
 }
 
 
@@ -1034,15 +1027,15 @@ xf86MuTAllocateFinger(InputDriverPtr	drv)
  *
  ***************************************************************************
  */
-static InputInfoPtr
-xf86MuTAllocateStylus(InputDriverPtr	drv)
+static int
+xf86MuTAllocateStylus(InputDriverPtr drv, InputInfoPtr pInfo)
 {
-  InputInfoPtr	pInfo = xf86MuTAllocate(drv, XI_STYLUS, "MicroTouch Stylus", STYLUS_ID);
+    int rc = xf86MuTAllocate(drv, pInfo, XI_STYLUS, "MicroTouch Stylus", STYLUS_ID);
 
-  if (pInfo) {
+  if (rc == Success) {
     ((MuTPrivatePtr) pInfo->private)->stylus = pInfo;
   }
-  return pInfo;
+  return rc;
 }
 
 
@@ -1067,7 +1060,7 @@ xf86MuTUninit(InputDriverPtr	drv,
   xf86DeleteInput(pInfo, 0);
 }
 
-static const char *default_options[] = {
+static char *default_options[] = {
   "BaudRate", "9600",
   "StopBits", "1",
   "DataBits", "8",
@@ -1078,49 +1071,39 @@ static const char *default_options[] = {
   NULL
 };
 
-static InputInfoPtr
+static int
 xf86MuTInit(InputDriverPtr	drv,
-	    IDevPtr		dev,
+	    InputInfoPtr	pInfo,
 	    int			flags)
 {
-  InputInfoPtr	pInfo=NULL, fake_pInfo=NULL, current;
+  InputInfoPtr		current;
   MuTPrivatePtr		priv=NULL;
   char			*str;
   int			portrait=0;
+  int			rc = Success;
 
-  fake_pInfo = (InputInfoPtr) calloc(1, sizeof(InputInfoRec));
-  if (!fake_pInfo) {
-    goto init_err;
-  }
-  fake_pInfo->conf_idev = dev;
-
-  xf86CollectInputOptions(fake_pInfo, default_options, NULL);
-
-  str = xf86FindOptionValue(fake_pInfo->options, "Type");
+  str = xf86FindOptionValue(pInfo->options, "Type");
   if (str && (xf86NameCmp(str, "finger") == 0)) {
-    pInfo = xf86MuTAllocateFinger(drv);
+    rc = xf86MuTAllocateFinger(drv, pInfo);
   }
   else if (str && (xf86NameCmp(str, "stylus") == 0)) {
-    pInfo = xf86MuTAllocateStylus(drv);
+    rc = xf86MuTAllocateStylus(drv, pInfo);
   }
   else {
     xf86Msg(X_ERROR, "%s: Type field missing in Microtouch module config,\n"
-	    "Must be stylus or finger\n", dev->identifier);
+	    "Must be stylus or finger\n", pInfo->name);
     goto init_err;
   }
-  if (!pInfo) {
+  if (rc != Success) {
     goto init_err;
   }
   priv = pInfo->private;
-  pInfo->options = fake_pInfo->options;
-  pInfo->conf_idev = fake_pInfo->conf_idev;
-  free(fake_pInfo);
-  fake_pInfo = NULL;
 
   str = xf86FindOptionValue(pInfo->options, "Device");
   if (!str) {
     xf86Msg(X_ERROR, "%s: No Device specified in Microtouch module config.\n",
-	    dev->identifier);
+	    pInfo->name);
+    rc = BadValue;
     goto init_err;
   }
   priv->input_dev = strdup(str);
@@ -1244,14 +1227,9 @@ xf86MuTInit(InputDriverPtr	drv,
     priv->swap_axes = (priv->swap_axes==0) ? 1 : 0;
   }
 
-  /* mark the device configured */
-  pInfo->flags |= XI86_CONFIGURED;
-  return pInfo;
+  return Success;
 
  init_err:
-  if (fake_pInfo) {
-    free(fake_pInfo);
-  }
   if (priv) {
     if (priv->input_dev) {
       free(priv->input_dev);
@@ -1261,7 +1239,7 @@ xf86MuTInit(InputDriverPtr	drv,
   if (pInfo) {
     free(pInfo);
   }
-  return NULL;
+  return rc;
 }
 
 _X_EXPORT InputDriverRec MUTOUCH = {
@@ -1271,6 +1249,7 @@ _X_EXPORT InputDriverRec MUTOUCH = {
     xf86MuTInit,		/* pre-init */
     xf86MuTUninit,		/* un-init */
     NULL,			/* module */
+    default_options,
 };
 
 static pointer

commit f7c4418ae0313b35d528fe28cfaf7899bc96e029
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 3 09:06:16 2010 +1000

    Replace use of private_flags with driver-internal device_type.
    
    private_flags is removed in input ABI 12 but it's not needed anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Cyril Brulebois <kibi@debian.org>

diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
index 2cc8398..4312256 100644
--- a/src/xf86MuTouch.c
+++ b/src/xf86MuTouch.c
@@ -196,7 +196,7 @@ static int      debug_level = 0;
  */
 #define FINGER_ID		1
 #define STYLUS_ID		2
-#define DEVICE_ID(flags)	((flags) & 0x03)
+#define DEVICE_ID(pInfo) (((MuTPrivatePtr)(pInfo)->private)->device_type)
 
 typedef struct _MuTPrivateRec {
   char			*input_dev;	/* The touchscreen input tty			*/
@@ -217,6 +217,7 @@ typedef struct _MuTPrivateRec {
   InputInfoPtr	stylus;		/* Stylus device ptr associated with the hw.	*/
   int			swap_axes;	/* Swap X an Y axes if != 0 */
   unsigned char		rec_buf[MuT_BUFFER_SIZE]; /* Receive buffer.			*/
+  int			device_type;	/* FINGER_ID or STYLUS_ID */
 } MuTPrivateRec, *MuTPrivatePtr;
 
 
@@ -684,7 +685,7 @@ xf86MuTControl(DeviceIntPtr	dev,
   unsigned char		map[] = { 0, 1 };
   unsigned char		req[MuT_PACKET_SIZE];
   unsigned char		reply[MuT_BUFFER_SIZE];
-  char			*id_string = DEVICE_ID(pInfo->private_flags) == FINGER_ID ? "finger" : "stylus";
+  char			*id_string = DEVICE_ID(pInfo) == FINGER_ID ? "finger" : "stylus";
   Atom btn_label;
   Atom axis_labels[2] = { 0, 0 };
 
@@ -766,7 +767,7 @@ xf86MuTControl(DeviceIntPtr	dev,
 	already_open = TRUE;
       }
       else {
-	switch (DEVICE_ID(pInfo->private_flags)) {
+	switch (DEVICE_ID(pInfo)) {
 	case FINGER_ID:
 	  if (priv->stylus && priv->stylus->fd >= 0) {
 	    already_open = TRUE;
@@ -849,7 +850,7 @@ xf86MuTControl(DeviceIntPtr	dev,
        * Select Pen / Finger reports depending on which devices are
        * currently on.
        */
-      switch (DEVICE_ID(pInfo->private_flags)) {
+      switch (DEVICE_ID(pInfo)) {
       case FINGER_ID:
 	if (priv->stylus && priv->stylus->dev->public.on) {
 	  report_what = MuT_PEN_FINGER;
@@ -924,7 +925,7 @@ xf86MuTControl(DeviceIntPtr	dev,
       /*
        * Need some care to close the port only once.
        */
-      switch (DEVICE_ID(pInfo->private_flags)) {
+      switch (DEVICE_ID(pInfo)) {
 	case FINGER_ID:
 	  if (priv->stylus) {
 	    priv->stylus->fd = -1;
@@ -989,6 +990,7 @@ xf86MuTAllocate(InputDriverPtr	drv,
   priv->finger = NULL;
   priv->swap_axes = 0;
   priv->frequency = 0;
+  priv->device_type = flag;
 
   pInfo->name = name;
   pInfo->flags = 0 /* XI86_NO_OPEN_ON_INIT */;
@@ -1000,7 +1002,6 @@ xf86MuTAllocate(InputDriverPtr	drv,
   pInfo->atom = 0;
   pInfo->dev = NULL;
   pInfo->private = priv;
-  pInfo->private_flags = flag;
   pInfo->type_name = type_name;
 
   return pInfo;
@@ -1140,7 +1141,7 @@ xf86MuTInit(InputDriverPtr	drv,
       free(priv->input_dev);
       free(priv);
       priv = pInfo->private = current->private;
-      switch (DEVICE_ID(pInfo->private_flags)) {
+      switch (DEVICE_ID(pInfo)) {
       case FINGER_ID:
 	priv->finger = pInfo;
 	break;

commit 3390adfb0c4cec5914a1c4e05bb95a6140fe6d31
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 2 15:42:33 2010 +1000

    Drop driver-specific motion history size handling.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Cyril Brulebois <kibi@debian.org>

diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
index 445b3e2..2cc8398 100644
--- a/src/xf86MuTouch.c
+++ b/src/xf86MuTouch.c
@@ -717,7 +717,7 @@ xf86MuTControl(DeviceIntPtr	dev,
        * screen to fit one meter.
        */
       if (InitValuatorClassDeviceStruct(dev, 2, axis_labels,
-					pInfo->history_size, Absolute) == FALSE) {
+					GetMotionHistorySize(), Absolute) == FALSE) {
 	ErrorF("Unable to allocate ValuatorClassDeviceStruct\n");
 	return !Success;
       }
@@ -1002,7 +1002,6 @@ xf86MuTAllocate(InputDriverPtr	drv,
   pInfo->private = priv;
   pInfo->private_flags = flag;
   pInfo->type_name = type_name;
-  pInfo->history_size = 0;
 
   return pInfo;
 }

commit 9c887eceeb7f6bb1f9005bc2aeedeaa0a5d77ec4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 2 15:42:11 2010 +1000

    Drop close_proc, conversion_proc, reverse_conversion_proc
    
    All three are not called by the server anymore.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Cyril Brulebois <kibi@debian.org>

diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
index d733e4a..445b3e2 100644
--- a/src/xf86MuTouch.c
+++ b/src/xf86MuTouch.c
@@ -220,62 +220,6 @@ typedef struct _MuTPrivateRec {
 } MuTPrivateRec, *MuTPrivatePtr;
 
 
-
-
-/*
- ***************************************************************************
- *
- * xf86MuTConvert --
- *	Convert extended valuators to x and y suitable for core motion
- *	events. Return True if ok and False if the requested conversion
- *	can't be done for the specified valuators.
- *
- ***************************************************************************
- */
-static Bool
-xf86MuTConvert(InputInfoPtr	pInfo,
-	       int		first,
-	       int		num,
-	       int		v0,
-	       int		v1,
-	       int		v2,
-	       int		v3,
-	       int		v4,
-	       int		v5,
-	       int		*x,
-	       int		*y)
-{
-  MuTPrivatePtr	priv = (MuTPrivatePtr) pInfo->private;
-  int		width = priv->max_x - priv->min_x;
-  int		height = priv->max_y - priv->min_y;
-  int		input_x, input_y;
-
-  if (first != 0 || num != 2)
-    return FALSE;
-
-  if (priv->swap_axes) {
-    input_x = v1;
-    input_y = v0;
-  }
-  else {
-    input_x = v0;
-    input_y = v1;
-  }
-  *x = (priv->screen_width * (input_x - priv->min_x)) / width;
-  *y = (priv->screen_height -
-	(priv->screen_height * (input_y - priv->min_y)) / height);
-
-  /*
-   * Need to check if still on the correct screen.
-   * This call is here so that this work can be done after
-   * calib and before posting the event.
-   */
-  xf86XInputSetScreen(pInfo, priv->screen_no, *x, *y);
-
-  return TRUE;
-}
-
-
 /*
  ***************************************************************************
  *
@@ -1051,10 +995,7 @@ xf86MuTAllocate(InputDriverPtr	drv,
   pInfo->device_control = xf86MuTControl;
   pInfo->read_input = xf86MuTReadInput;
   pInfo->control_proc = NULL;
-  pInfo->close_proc = NULL;
   pInfo->switch_mode = NULL;
-  pInfo->conversion_proc = xf86MuTConvert;
-  pInfo->reverse_conversion_proc = NULL;
   pInfo->fd = -1;
   pInfo->atom = 0;
   pInfo->dev = NULL;

commit 69ea6552035603f1813c80caa14cd8fba2778102
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 2 15:38:46 2010 +1000

    Drop libc wrappers for free, malloc
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Cyril Brulebois <kibi@debian.org>

diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
index 6215e15..d733e4a 100644
--- a/src/xf86MuTouch.c
+++ b/src/xf86MuTouch.c
@@ -800,7 +800,7 @@ xf86MuTControl(DeviceIntPtr	dev,
       xf86MotionHistoryAllocate(pInfo);
 
       /*
-       * This once has caused the server to crash after doing an xalloc & strcpy ??
+       * This once has caused the server to crash after doing an malloc & strcpy ??
        */
 
       DBG(2, ErrorF("Done.\n"));
@@ -1015,17 +1015,17 @@ xf86MuTAllocate(InputDriverPtr	drv,
 		int		flag)


Reply to: