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);
 }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to