Module Name: src Committed By: ryoon Date: Tue Feb 25 21:36:13 UTC 2020
Modified Files: src/sys/dev/pckbport: synaptics.c Log Message: Do not enter extended W mode conditional for non extended W mode device Even without extended W mode, sp_w can be 2. This causes "invalid extended w mode N" warning messages. Restrict extended W mode conditional for hardwares with extended W support. Tested with Synaptics 6.2 device on Panasonic CF-Y8, however it does not work with X. To generate a diff of this commit: cvs rdiff -u -r1.51 -r1.52 src/sys/dev/pckbport/synaptics.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pckbport/synaptics.c diff -u src/sys/dev/pckbport/synaptics.c:1.51 src/sys/dev/pckbport/synaptics.c:1.52 --- src/sys/dev/pckbport/synaptics.c:1.51 Tue Feb 25 16:24:47 2020 +++ src/sys/dev/pckbport/synaptics.c Tue Feb 25 21:36:13 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: synaptics.c,v 1.51 2020/02/25 16:24:47 ryoon Exp $ */ +/* $NetBSD: synaptics.c,v 1.52 2020/02/25 21:36:13 ryoon Exp $ */ /* * Copyright (c) 2005, Steve C. Woodford @@ -48,7 +48,7 @@ #include "opt_pms.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.51 2020/02/25 16:24:47 ryoon Exp $"); +__KERNEL_RCSID(0, "$NetBSD: synaptics.c,v 1.52 2020/02/25 21:36:13 ryoon Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -945,7 +945,8 @@ pms_synaptics_parse(struct pms_softc *ps ((psc->packet[0] & 0x04) >> 1) + ((psc->packet[3] & 0x04) >> 2); sp.sp_finger = 0; - if (sp.sp_w == SYNAPTICS_WIDTH_EXTENDED_W) { + if ((sc->flags & SYN_FLAG_HAS_EXTENDED_WMODE) && + (sp.sp_w == SYNAPTICS_WIDTH_EXTENDED_W)) { ew_mode = psc->packet[5] >> 4; switch (ew_mode) {