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-all mailing list