summaryrefslogtreecommitdiff
path: root/sys/dev/apm
diff options
context:
space:
mode:
authorjmcneill <jmcneill@NetBSD.org>2007-12-09 20:27:42 +0000
committerjmcneill <jmcneill@NetBSD.org>2007-12-09 20:27:42 +0000
commit4c1d81b2b5fa658e9fd5e7151eb40ba71ba676da (patch)
tree3f8b0d6c63745bde8809b8c6f9e4f6b1514f335e /sys/dev/apm
parent3947df41d16da8b387239b9b87789bfbe950a3b2 (diff)
Merge jmcneill-pm branch.
Diffstat (limited to 'sys/dev/apm')
-rw-r--r--sys/dev/apm/apm.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/sys/dev/apm/apm.c b/sys/dev/apm/apm.c
index 8b4a8f9ce9f..a0dd710e288 100644
--- a/sys/dev/apm/apm.c
+++ b/sys/dev/apm/apm.c
@@ -1,4 +1,4 @@
-/* $NetBSD: apm.c,v 1.15 2007/12/05 17:19:48 pooka Exp $ */
+/* $NetBSD: apm.c,v 1.16 2007/12/09 20:27:54 jmcneill Exp $ */
/*-
* Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: apm.c,v 1.15 2007/12/05 17:19:48 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: apm.c,v 1.16 2007/12/09 20:27:54 jmcneill Exp $");
#include "opt_apm.h"
@@ -316,11 +316,8 @@ apm_suspend(struct apm_softc *sc)
sc->sc_power_state = PWR_SUSPEND;
if (!(sc->sc_hwflags & APM_F_DONT_RUN_HOOKS)) {
- dopowerhooks(PWR_SOFTSUSPEND);
-
+ pmf_system_suspend();
apm_spl = splhigh();
-
- dopowerhooks(PWR_SUSPEND);
}
error = (*sc->sc_ops->aa_set_powstate)(sc->sc_cookie, APM_DEV_ALLDEVS,
@@ -345,11 +342,8 @@ apm_standby(struct apm_softc *sc)
sc->sc_power_state = PWR_STANDBY;
if (!(sc->sc_hwflags & APM_F_DONT_RUN_HOOKS)) {
- dopowerhooks(PWR_SOFTSTANDBY);
-
+ pmf_system_suspend();
apm_spl = splhigh();
-
- dopowerhooks(PWR_STANDBY);
}
error = (*sc->sc_ops->aa_set_powstate)(sc->sc_cookie, APM_DEV_ALLDEVS,
APM_SYS_STANDBY);
@@ -379,11 +373,8 @@ apm_resume(struct apm_softc *sc, u_int event_type, u_int event_info)
inittodr(time_second);
if (!(sc->sc_hwflags & APM_F_DONT_RUN_HOOKS)) {
- dopowerhooks(PWR_RESUME);
-
splx(apm_spl);
-
- dopowerhooks(PWR_SOFTRESUME);
+ pmf_system_resume();
}
apm_record_event(sc, event_type);
@@ -694,6 +685,9 @@ apm_attach(struct apm_softc *sc)
"kernel APM support disabled\n",
sc->sc_dev.dv_xname);
}
+
+ if (!pmf_device_register(&sc->sc_dev, NULL, NULL))
+ aprint_error_dev(&sc->sc_dev, "couldn't establish power handler\n");
}
void