ChangeLog    |   11 +++++++
 configure.ac |    2 -
 src/acecad.c |   89 ++++++++++++++++++++++++++++++++++++++---------------------
 3 files changed, 70 insertions(+), 32 deletions(-)

New commits:
commit 7fe06dc37595a39e0298d9123a669d06df934c35
Author: Giuseppe Bilotta <[EMAIL PROTECTED]>
Date:   Tue Apr 24 15:28:51 2007 +0200

    Bump to 1.1.1.

diff --git a/ChangeLog b/ChangeLog
index 7399bd0..0db03e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2007-04-24  Giuseppe Bilotta <[EMAIL PROTECTED]>
+
+       * configure.ac:
+       Bump to 1.1.1.
+
+       * src/acecad.c:
+       Bump to 1.1.1.
+       Support 2.6.x kernels.
+       Use the proper MessageType for probed, default, info and error messages.
+       Clean up defines, and add an include to fix compilation when 
LINUX_INPUT is defined
+
 2006-04-06  Adam Jackson  <[EMAIL PROTECTED]>
 
        * configure.ac:
diff --git a/configure.ac b/configure.ac
index c0ff6ad..f93f430 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-input-acecad],
-        1.1.0,
+        1.1.1,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-input-acecad)
 
diff --git a/src/acecad.c b/src/acecad.c
index abe8bf8..c10aaf4 100644
--- a/src/acecad.c
+++ b/src/acecad.c
@@ -105,7 +105,7 @@ static XF86ModuleVersionInfo VersionRec =
        MODINFOSTRING1,
        MODINFOSTRING2,
        XORG_VERSION_CURRENT,
-       1, 1, 0,
+       1, 1, 1,
        ABI_CLASS_XINPUT,
        ABI_XINPUT_VERSION,
        MOD_CLASS_XINPUT,

commit 7665457d70a37c3187b3dfcc54a7f15058e8acba
Author: Giuseppe Bilotta <[EMAIL PROTECTED]>
Date:   Tue Apr 24 13:35:52 2007 +0200

    Support 2.6.x kernels.

diff --git a/src/acecad.c b/src/acecad.c
index 145bb48..abe8bf8 100644
--- a/src/acecad.c
+++ b/src/acecad.c
@@ -37,6 +37,10 @@
 #ifdef LINUX_INPUT
 #include <asm/types.h>
 #include <linux/input.h>
+#ifndef EV_SYN
+#define EV_SYN EV_RST
+#define SYN_REPORT 0
+#endif
 #ifdef BUS_PCI
 #undef BUS_PCI
 #endif
@@ -663,6 +667,10 @@ USBReadInput (LocalDevicePtr local)
         event<(struct input_event *)(eventbuf+len); event++) {
         
                switch (event->type) {
+               case EV_SYN: /* 2.6.x */
+                       if (event->code != SYN_REPORT)
+                               xf86Msg(X_ERROR, "UNKNOWN EV_SYN code %d\n", 
event->code);
+                       break;
                case EV_ABS:
                    switch (event->code) {
                    case ABS_X:
@@ -703,12 +711,16 @@ USBReadInput (LocalDevicePtr local)
                    }
                    break; /* EV_KEY */
                default:
-                   xf86Msg(X_ERROR, "UNKNOWN event type/code=%d/%d\n", 
event->type, event->code);
+                   xf86Msg(X_ERROR, "UNKNOWN event type/code %d/%d\n", 
event->type, event->code);
                } /* switch event->type */
 
-               /* ABS_MISC is the event terminator */
-               if (event->type != EV_ABS || event->code != ABS_MISC) {
-                   continue;
+               /* Linux Kernel 2.6.x sends EV_SYN/SYN_REPORT as an event 
terminator,
+                * whereas 2.4.x sends EV_ABS/ABS_MISC. We have to support both.
+                */
+               if (!(  (event->type == EV_SYN && event->code == SYN_REPORT) ||
+                       (event->type == EV_ABS && event->code == ABS_MISC)
+               )) {
+                       continue;
                }
 
                if (prox)

commit 1eae0e35655ffddb8a203a51bb1e2aa53928a87e
Author: Giuseppe Bilotta <[EMAIL PROTECTED]>
Date:   Tue Apr 24 12:44:58 2007 +0200

    Use the proper MessageType for probed, default, info and error messages.

diff --git a/src/acecad.c b/src/acecad.c
index 9d85a9e..145bb48 100644
--- a/src/acecad.c
+++ b/src/acecad.c
@@ -169,10 +169,11 @@ IsUSBLine(int fd)
     SYSCALL(err = ioctl(fd, EVIOCGVERSION, &version));
     
     if (!err) {
-       xf86Msg(X_CONFIG,"Kernel Input driver version is %d.%d.%d\n",
+       xf86Msg(X_PROBED, "Kernel Input driver version is %d.%d.%d\n",
               version >> 16, (version >> 8) & 0xff, version & 0xff);
        return 1;
     } else {
+       xf86Msg(X_PROBED, "No Kernel Input driver found\n");
        return 0;
     }
 }
@@ -184,6 +185,7 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
        LocalDevicePtr local = xf86AllocateInput(drv, 0);
        AceCadPrivatePtr priv = xcalloc (1, sizeof (AceCadPrivateRec));
        int speed;
+       int msgtype;
        char *s;
 
        if ((!local) || (!priv))
@@ -216,7 +218,7 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
        local->fd = xf86OpenSerial (local->options);
        if (local->fd == -1)
        {
-               xf86Msg(X_ERROR,"AceCad driver unable to open device\n");
+               xf86Msg(X_ERROR, "AceCad driver unable to open device\n");
                goto SetupProc_fail;
        }
        xf86ErrorFVerb( 6, "tty port opened successfully\n" );
@@ -239,7 +241,13 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
 
                local->read_input = ReadInput;
                
-               speed = xf86SetIntOption(local->options, "ReportSpeed", 85 );
+               msgtype = X_DEFAULT;
+               if (xf86FindOptionValue(local->options, "ReportSpeed")) {
+                       msgtype = X_CONFIG;
+                       speed = xf86SetIntOption(local->options, "ReportSpeed", 
85 );
+               } else {
+                       speed = 85;
+               }
 
                switch (speed)
                {
@@ -258,10 +266,11 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
                default:
                        priv->acecadReportSpeed = 'R';
                        speed = 85;
-                       xf86Msg(X_CONFIG, "Acecad Tablet: ReportSpeed possible 
values:\n 120, 85, 10, 2 \n");         
+                       xf86Msg(X_ERROR, "Acecad Tablet: ReportSpeed value %d 
invalid. Possible values: 120, 85, 10, 2. Defaulting to 85\n", speed);
+                       msgtype = X_DEFAULT;
                }
 
-               xf86Msg(X_CONFIG, "Acecad Tablet report %d points/s\n", speed); 
        
+               xf86Msg(msgtype, "Acecad Tablet report %d points/s\n", speed);
 
                priv->buffer = XisbNew (local->fd, 200);
 
@@ -270,12 +279,13 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
                 */
                if (QueryHardware(priv) != Success)
                {
-                       xf86Msg(X_ERROR,"Unable to query/initialize AceCad 
hardware.\n");
+                       xf86Msg(X_ERROR, "Unable to query/initialize AceCad 
hardware.\n");
                        goto SetupProc_fail;
                }
        }
 
        s = xf86FindOptionValue(local->options, "Mode");
+       msgtype = s ? X_CONFIG : X_DEFAULT;
        if (s && (xf86NameCmp(s, "Relative") == 0))
        {
                priv->flags = priv->flags & ~ABSOLUTE_FLAG;
@@ -285,7 +295,7 @@ AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
                priv->flags = priv->flags | ABSOLUTE_FLAG;
        }
 
-       xf86Msg(X_CONFIG, "Acecad Tablet is in %s mode\n",(priv->flags & 
ABSOLUTE_FLAG) ? "absolute" : "relative");         
+       xf86Msg(msgtype, "Acecad Tablet is in %s mode\n", (priv->flags & 
ABSOLUTE_FLAG) ? "absolute" : "relative");
        DBG (9, XisbTrace (priv->buffer, 1));
 
        local->history_size = xf86SetIntOption(local->options , "HistorySize", 
0);
@@ -355,7 +365,7 @@ DeviceOn (DeviceIntPtr dev)
        LocalDevicePtr local = (LocalDevicePtr) dev->public.devicePrivate;
        AceCadPrivatePtr priv = (AceCadPrivatePtr) (local->private);
 
-       xf86Msg(X_CONFIG, "Acecad Tablet Device On\n");
+       xf86Msg(X_INFO, "Acecad Tablet Device On\n");
 
        local->fd = xf86OpenSerial(local->options);
        if (local->fd == -1)
@@ -375,7 +385,7 @@ DeviceOn (DeviceIntPtr dev)
                        }
 
                /*Rets qu'a l'envoyer a la tablette */
-               sprintf(buffer, "%s%c%c%c%c", acecad_initstr, 
priv->acecadReportSpeed ,ACECAD_INCREMENT, 32 + priv->acecadInc, (priv->flags & 
ABSOLUTE_FLAG)? ACECAD_ABSOLUTE: ACECAD_RELATIVE);
+               sprintf(buffer, "%s%c%c%c%c", acecad_initstr, 
priv->acecadReportSpeed, ACECAD_INCREMENT, 32 + priv->acecadInc, (priv->flags & 
ABSOLUTE_FLAG)? ACECAD_ABSOLUTE: ACECAD_RELATIVE);
                XisbWrite (priv->buffer, (unsigned char *)buffer, 
strlen(buffer));
        }
        
@@ -412,7 +422,7 @@ DeviceOff (DeviceIntPtr dev)
 static Bool
 DeviceClose (DeviceIntPtr dev)
 {
-       xf86Msg(X_CONFIG, "Acecad Tablet Device Close\n");
+       xf86Msg(X_INFO, "Acecad Tablet Device Close\n");
        return (Success);
 }
 
@@ -420,7 +430,7 @@ static void
 ControlProc(DeviceIntPtr       device,
                   PtrCtrl      *ctrl)
 {
-       xf86Msg(X_CONFIG, "Acecad Tablet Control Proc\n");
+       xf86Msg(X_INFO, "Acecad Tablet Control Proc\n");
 }
 
 static Bool
@@ -432,7 +442,7 @@ DeviceInit (DeviceIntPtr dev)
        unsigned char map[] =
        {0, 1, 2, 3};
 
-       xf86Msg(X_CONFIG, "Acecad Tablet Device Init\n");
+       xf86Msg(X_INFO, "Acecad Tablet Device Init\n");
 
        /* 3 boutons */
        if (InitButtonClassDeviceStruct (dev, 3, map) == FALSE)
@@ -517,7 +527,7 @@ DeviceInit (DeviceIntPtr dev)
                        priv->acecadInc = 1;
        }
 
-       xf86Msg(X_CONFIG, "Acecad Tablet Increment: %d\n",priv->acecadInc);
+       xf86Msg(X_INFO, "Acecad Tablet Increment: %d\n", priv->acecadInc);
 
        return (Success);
 }
@@ -530,7 +540,7 @@ ReadInput (LocalDevicePtr local)
        int is_core_pointer, is_absolute;
        AceCadPrivatePtr priv = (AceCadPrivatePtr) (local->private);
 
-       /*xf86Msg(X_CONFIG, "Acecad Tablet Read Input\n");*/
+       /*xf86Msg(X_INFO, "Acecad Tablet Read Input\n");*/
 
        is_absolute = (priv->flags & ABSOLUTE_FLAG);
        is_core_pointer = xf86IsCorePointer(local->dev);
@@ -573,7 +583,7 @@ ReadInput (LocalDevicePtr local)
                        if (!(priv->acecadOldProximity))
                                if (!is_core_pointer)
                                {
-                                       /*xf86Msg(X_CONFIG, "Acecad Tablet 
ProxIN %d %d %d\n",x, y, z);*/
+                                       /*xf86Msg(X_INFO, "Acecad Tablet ProxIN 
%d %d %d\n",x, y, z);*/
                                        xf86PostProximityEvent(local->dev, 1, 
0, 3 , x, y, z);
                                }
 
@@ -582,7 +592,7 @@ ReadInput (LocalDevicePtr local)
                        {
                                if (is_absolute || priv->acecadOldProximity)
                                {
-                                       /*xf86Msg(X_CONFIG, "Acecad Tablet 
Motion %d %d %d\n", x, y, z);*/
+                                       /*xf86Msg(X_INFO, "Acecad Tablet Motion 
%d %d %d\n", x, y, z);*/
                                        xf86PostMotionEvent(local->dev, 
is_absolute, 0, 3, x, y, z);
                                }
                        }
@@ -599,7 +609,7 @@ ReadInput (LocalDevicePtr local)
                                        id=ffs(delta);
                                        delta &= ~(1 << (id-1));
 
-                                       /*xf86Msg(X_CONFIG, "Acecad Tablet 
Button %d 0x%x\n",id,(buttons&(1<<(id-1))));*/
+                                       /*xf86Msg(X_INFO, "Acecad Tablet Button 
%d 0x%x\n",id,(buttons&(1<<(id-1))));*/
                                        xf86PostButtonEvent(local->dev, 
is_absolute, id, (buttons&(1<<(id-1))), 0, 3, x, y,z);
                                }
                        }
@@ -615,13 +625,13 @@ ReadInput (LocalDevicePtr local)
                        if (!is_core_pointer)
                                if (priv->acecadOldProximity)
                                {
-                                       /*xf86Msg(X_CONFIG, "Acecad Tablet 
ProxOUT %d %d %d\n",x, y, z);*/
+                                       /*xf86Msg(X_INFO, "Acecad Tablet 
ProxOUT %d %d %d\n",x, y, z);*/
                                        xf86PostProximityEvent(local->dev, 0, 
0, 3, x,y,z);
                                }
                        priv->acecadOldProximity = 0;
                }
        }
-       /*xf86Msg(X_CONFIG, "Acecad Tablet Sortie Read Input\n");*/
+       /*xf86Msg(X_INFO, "Acecad Tablet Sortie Read Input\n");*/
 }
 
 #ifdef LINUX_INPUT
@@ -693,7 +703,7 @@ USBReadInput (LocalDevicePtr local)
                    }
                    break; /* EV_KEY */
                default:
-                   xf86Msg(X_ERROR, "UNKNOWN event->code=%d\n", event->code);
+                   xf86Msg(X_ERROR, "UNKNOWN event type/code=%d/%d\n", 
event->type, event->code);
                } /* switch event->type */
 
                /* ABS_MISC is the event terminator */
@@ -744,7 +754,7 @@ USBReadInput (LocalDevicePtr local)
                priv->acecadOldZ = z;
                priv->acecadOldProximity = prox;
        }
-       /*xf86Msg(X_CONFIG, "Acecad Tablet Sortie Read Input\n");*/
+       /*xf86Msg(X_INFO, "Acecad Tablet Sortie Read Input\n");*/
 }
 #endif
 
@@ -828,12 +838,12 @@ QueryHardware (AceCadPrivatePtr priv)
                priv->acecadMaxX = (int)priv->packet[1] + ((int)priv->packet[2] 
<< 7);
                priv->acecadMaxY = (int)priv->packet[3] + ((int)priv->packet[4] 
<< 7);
                priv->acecadMaxZ = 512;
-               xf86Msg(X_CONFIG, "Acecad Tablet MaxX:%d 
MaxY:%d\n",priv->acecadMaxX,priv->acecadMaxY);
+               xf86Msg(X_INFO, "Acecad Tablet MaxX:%d 
MaxY:%d\n",priv->acecadMaxX,priv->acecadMaxY);
        }
        else
                return (!Success);
                
-       /*xf86Msg(X_CONFIG, "Acecad Tablet query hardware fini \n");*/
+       /*xf86Msg(X_INFO, "Acecad Tablet query hardware fini \n");*/
        return (Success);
 }
 
@@ -854,7 +864,7 @@ USBQueryHardware (LocalDevicePtr local)
        char            name[256] = "Unknown";
 
        ioctl(local->fd, EVIOCGNAME(sizeof(name)), name);
-       xf86Msg(X_CONFIG, "Kernel Input device name: \"%s\"\n", name);
+       xf86Msg(X_PROBED, "Kernel Input device name: \"%s\"\n", name);
 
        memset(bit, 0, sizeof(bit));
        ioctl(local->fd, EVIOCGBIT(0, EV_MAX), bit[0]);
@@ -883,7 +893,7 @@ USBQueryHardware (LocalDevicePtr local)
                }
        }
     
-       xf86Msg(X_CONFIG, "Acecad Tablet MaxX:%d MaxY:%d 
MaxZ:%d\n",priv->acecadMaxX,priv->acecadMaxY,priv->acecadMaxZ);
+       xf86Msg(X_PROBED, "Acecad Tablet MaxX:%d MaxY:%d MaxZ:%d\n", 
priv->acecadMaxX, priv->acecadMaxY,priv->acecadMaxZ);
        return (Success);
 }
 #endif
@@ -923,7 +933,7 @@ AceCadGetPacket (AceCadPrivatePtr priv)
                        count=ACECAD_PACKET_SIZE-1;
                        while(count-- && (c = XisbRead(priv->buffer))>=0)
                                {
-                               /*xf86Msg(X_CONFIG, "Push %2.2x\n",(char) c);*/
+                               /*xf86Msg(X_INFO, "Push %2.2x\n",(char) c);*/
                                priv->packet[priv->packeti++] = c;
                                }
                        XisbBlockDuration (priv->buffer, 0);

commit 9ab58ae1001a399907458d236b1f725e3503ee90
Author: Giuseppe Bilotta <[EMAIL PROTECTED]>
Date:   Tue Apr 24 12:38:38 2007 +0200

    Clean up defines, and add an include to fix compilation when LINUX_INPUT is 
defined

diff --git a/src/acecad.c b/src/acecad.c
index 43ac644..9d85a9e 100644
--- a/src/acecad.c
+++ b/src/acecad.c
@@ -47,7 +47,9 @@
 
 #include <misc.h>
 #include <xf86.h>
+#ifndef NEED_XF86_TYPES
 #define NEED_XF86_TYPES
+#endif
 #include <xf86_OSproc.h>
 #include <xisb.h>
 #include <xf86Xinput.h>
@@ -57,6 +59,10 @@
 #include <string.h>
 #include <stdio.h>
 
+#ifdef LINUX_INPUT
+#include <errno.h>
+#endif
+
 /*****************************************************************************
  *     Local Headers
  ****************************************************************************/
@@ -70,7 +76,6 @@
  *     Local Variables
  ****************************************************************************/
 
-#define SYSCALL(call) while(((call) == -1) && (errno == EINTR))
 #undef read
 #define read(a,b,c) xf86ReadSerial((a),(b),(c))
 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to