Subject: Re: pmf(9): shutdown & D1/D2 states
To: None <tech-kern@netbsd.org>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-kern
Date: 12/24/2007 00:58:00
  I would like to get some feedback on changes that I would like to make
  to the power management (PM) framework, pmf(9), to support D1 and D2
  power-saving states and wake-up events, and also to distinguish device
  shutdown from device suspension.

We will really need definitions in the man page.

Are the states D[0123] defined in some standard?  I've seen them
(e.g. in PXA mauals), and get the impression that they're reasonably
uniform (from ACPI?).  It would be good to reference the standard in the
man page.

If we do use D0-D3, the callback names should use them.  Having a
"human-friendly" name will just cause confusion.

    Let's add an optional callback for D2 state, too, called sleep_lightly:

            void
            pmf_device_register(device_t dev, bool (*shutdown)(device_t dev),
                bool (*suspend)(device_t dev),
                bool (*sleep_lightly)(device_t dev),
                bool (*save_power)(device_t dev),
                bool (*resume)(device_t dev));


We have 4 states, and thus a key qusetion is if arbitrary transitions
(12 of them!) are allowed, or only D0<>Dn for n!=0, which is 6.  Perhaps
the resume callback takes it from any of D[123] to D0.