svn commit: r186218 - head/sys/dev/atkbdc
Jean-Sebastien Pedron
dumbbell at FreeBSD.org
Wed Dec 17 10:42:54 UTC 2008
Author: dumbbell
Date: Wed Dec 17 10:42:53 2008
New Revision: 186218
URL: http://svn.freebsd.org/changeset/base/186218
Log:
Synaptics touchpads must be reinitialized after suspend/resume.
This fixes touchpad resume on Asus EeePC among others.
Submitted by: rpaulo
Modified:
head/sys/dev/atkbdc/psm.c
Modified: head/sys/dev/atkbdc/psm.c
==============================================================================
--- head/sys/dev/atkbdc/psm.c Wed Dec 17 10:27:34 2008 (r186217)
+++ head/sys/dev/atkbdc/psm.c Wed Dec 17 10:42:53 2008 (r186218)
@@ -3956,6 +3956,9 @@ static void
synaptics_sysctl_create_tree(struct psm_softc *sc)
{
+ if (sc->syninfo.sysctl_tree != NULL)
+ return;
+
/* Attach extra synaptics sysctl nodes under hw.psm.synaptics */
sysctl_ctx_init(&sc->syninfo.sysctl_ctx);
sc->syninfo.sysctl_tree = SYSCTL_ADD_NODE(&sc->syninfo.sysctl_ctx,
@@ -4263,7 +4266,6 @@ enable_synaptics(struct psm_softc *sc)
kbdc = sc->kbdc;
VLOG(3, (LOG_DEBUG, "synaptics: BEGIN init\n"));
- disable_aux_dev(kbdc);
sc->hw.buttons = 3;
sc->squelch = 0;
@@ -4419,6 +4421,12 @@ enable_synaptics(struct psm_softc *sc)
/* Create sysctl tree. */
synaptics_sysctl_create_tree(sc);
+ /*
+ * The touchpad will have to be reinitialized after
+ * suspend/resume.
+ */
+ sc->config |= PSM_CONFIG_HOOKRESUME | PSM_CONFIG_INITAFTERSUSPEND;
+
return (TRUE);
}
More information about the svn-src-head
mailing list