This mostly consists of skipping common fd handling when server managed fds
are in used, the rest is handled by xf86OpenSerial and our wcmClose
xf86CloseSerial wrapper.

Signed-off-by: Hans de Goede <hdego...@redhat.com>
---
 src/wcmConfig.c | 5 ++++-
 src/xf86Wacom.c | 9 +++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/wcmConfig.c b/src/wcmConfig.c
index d19b9b4..9a3c8d7 100644
--- a/src/wcmConfig.c
+++ b/src/wcmConfig.c
@@ -634,7 +634,10 @@ InputDriverRec WACOM =
        wcmUninit, /* un-init */
        NULL,          /* module */
 #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
-       default_options
+       default_options,
+#endif
+#ifdef XI86_DRV_CAP_SERVER_FD
+       XI86_DRV_CAP_SERVER_FD,
 #endif
 };
 
diff --git a/src/xf86Wacom.c b/src/xf86Wacom.c
index 3057d7a..4f41d64 100644
--- a/src/xf86Wacom.c
+++ b/src/xf86Wacom.c
@@ -578,6 +578,10 @@ static int wcmDevOpen(DeviceIntPtr pWcm)
 
        DBG(10, priv, "\n");
 
+       /* If fd management is done by the server, skip common fd handling */
+       if (pInfo->flags & XI86_SERVER_FD)
+               goto got_fd;
+
        /* open file, if not already open */
        if (common->fd_refs == 0)
        {
@@ -610,6 +614,7 @@ static int wcmDevOpen(DeviceIntPtr pWcm)
                common->fd_refs++;
        }
 
+got_fd:
        /* start the tablet data */
        if (model->Start && (model->Start(pInfo) != Success))
                return !Success;
@@ -754,6 +759,10 @@ static void wcmDevClose(InputInfoPtr pInfo)
        WacomDevicePtr priv = (WacomDevicePtr)pInfo->private;
        WacomCommonPtr common = priv->common;
 
+       /* If fd management is done by the server, skip common fd handling */
+       if (pInfo->flags & XI86_SERVER_FD)
+               return;
+
        DBG(4, priv, "Wacom number of open devices = %d\n", common->fd_refs);
 
        if (pInfo->fd >= 0)
-- 
1.9.0


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to