summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <dumbbell@FreeBSD.org>2008-12-17 10:42:53 +0000
committerJean-Sébastien Pédron <dumbbell@FreeBSD.org>2008-12-17 10:42:53 +0000
commitc9d986fe542627e8d24331b1c4eca12ad4f0bf88 (patch)
treef69ffb595c82c524191b4bcbe4889cef21921bfc
parent9928dafbb85e5f2716a0afc14e427fc17d6f1d18 (diff)
Notes
-rw-r--r--sys/dev/atkbdc/psm.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/dev/atkbdc/psm.c b/sys/dev/atkbdc/psm.c
index 6eae9c2aa52e..338d8f2f96f4 100644
--- a/sys/dev/atkbdc/psm.c
+++ b/sys/dev/atkbdc/psm.c
@@ -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);
}