diff options
| author | jmcneill <jmcneill@NetBSD.org> | 2007-12-09 20:27:42 +0000 |
|---|---|---|
| committer | jmcneill <jmcneill@NetBSD.org> | 2007-12-09 20:27:42 +0000 |
| commit | 4c1d81b2b5fa658e9fd5e7151eb40ba71ba676da (patch) | |
| tree | 3f8b0d6c63745bde8809b8c6f9e4f6b1514f335e /sys/dev/apm | |
| parent | 3947df41d16da8b387239b9b87789bfbe950a3b2 (diff) | |
Merge jmcneill-pm branch.
Diffstat (limited to 'sys/dev/apm')
| -rw-r--r-- | sys/dev/apm/apm.c | 22 |
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 |
