53 lines · plain
1====================================================2Testing suspend and resume support in device drivers3====================================================4 5 (C) 2007 Rafael J. Wysocki <rjw@sisk.pl>, GPL6 71. Preparing the test system8============================9 10Unfortunately, to effectively test the support for the system-wide suspend and11resume transitions in a driver, it is necessary to suspend and resume a fully12functional system with this driver loaded. Moreover, that should be done13several times, preferably several times in a row, and separately for hibernation14(aka suspend to disk or STD) and suspend to RAM (STR), because each of these15cases involves slightly different operations and different interactions with16the machine's BIOS.17 18Of course, for this purpose the test system has to be known to suspend and19resume without the driver being tested. Thus, if possible, you should first20resolve all suspend/resume-related problems in the test system before you start21testing the new driver. Please see Documentation/power/basic-pm-debugging.rst22for more information about the debugging of suspend/resume functionality.23 242. Testing the driver25=====================26 27Once you have resolved the suspend/resume-related problems with your test system28without the new driver, you are ready to test it:29 30a) Build the driver as a module, load it and try the test modes of hibernation31 (see: Documentation/power/basic-pm-debugging.rst, 1).32 33b) Load the driver and attempt to hibernate in the "reboot", "shutdown" and34 "platform" modes (see: Documentation/power/basic-pm-debugging.rst, 1).35 36c) Compile the driver directly into the kernel and try the test modes of37 hibernation.38 39d) Attempt to hibernate with the driver compiled directly into the kernel40 in the "reboot", "shutdown" and "platform" modes.41 42e) Try the test modes of suspend (see:43 Documentation/power/basic-pm-debugging.rst, 2). [As far as the STR tests are44 concerned, it should not matter whether or not the driver is built as a45 module.]46 47f) Attempt to suspend to RAM using the s2ram tool with the driver loaded48 (see: Documentation/power/basic-pm-debugging.rst, 2).49 50Each of the above tests should be repeated several times and the STD tests51should be mixed with the STR tests. If any of them fails, the driver cannot be52regarded as suspend/resume-safe.53