Connect macppc's power button and lid to the SUSPEND stubs
authorgkoehler <gkoehler@openbsd.org>
Sun, 23 Oct 2022 03:43:03 +0000 (03:43 +0000)
committergkoehler <gkoehler@openbsd.org>
Sun, 23 Oct 2022 03:43:03 +0000 (03:43 +0000)
commitbdedaf0238ec824edc66710ba63b2c7a6334dbfb
tree4ce8b9f0d5c166887750ec4f93d6e1c4878161ca
parentcbad891aa6955d10455f123e2808514aeaf1f197
Connect macppc's power button and lid to the SUSPEND stubs

A kernel with option SUSPEND now calls gosleep() if I run zzz(8),
press the power button (when machdep.pwraction=2), or close the lid
(when machdep.lidaction=1).  Because gosleep() is an empty stub, the
macppc does not really suspend; it only suspends some devices and
immediately resumes.

The interrupt from the power button or the lid needs some thread
(other than systq) to call sleep_state().  Use taskq_create(9) to
create another thread.

Add a call to device_register_wakeup().  Without this call,
sleep_state() does nothing.

ok kettenis@ deraadt@
sys/arch/macppc/dev/adb.c
sys/arch/macppc/dev/apm.c