€•l.Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ)/translations/zh_CN/power/drivers-testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/zh_TW/power/drivers-testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/it_IT/power/drivers-testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/ja_JP/power/drivers-testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/ko_KR/power/drivers-testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ)/translations/sp_SP/power/drivers-testing”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ4Testing suspend and resume support in device drivers”h]”hŒ4Testing suspend and resume support in device drivers”…””}”(hh¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh£hžhhŸŒC/var/lib/git/docbuild/linux/Documentation/power/drivers-testing.rst”h KubhŒ block_quote”“”)”}”(hŒ.(C) 2007 Rafael J. Wysocki , GPL ”h]”hŒenumerated_list”“”)”}”(hhh]”hŒ list_item”“”)”}”(hŒ*2007 Rafael J. Wysocki , GPL ”h]”hŒ paragraph”“”)”}”(hŒ)2007 Rafael J. Wysocki , GPL”h]”(hŒ2007 Rafael J. Wysocki <”…””}”(hhÊhžhhŸNh NubhŒ reference”“”)”}”(hŒ rjw@sisk.pl”h]”hŒ rjw@sisk.pl”…””}”(hhÔhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:rjw@sisk.pl”uh1hÒhhÊubhŒ>, GPL”…””}”(hhÊhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KhhÄubah}”(h]”h ]”h"]”h$]”h&]”uh1hÂhh¿ubah}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œ upperalpha”Œprefix”Œ(”Œsuffix”Œ)”Œstart”Kuh1h½hh¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khh£hžhubh¢)”}”(hhh]”(h§)”}”(hŒ1. Preparing the test system”h]”hŒ1. Preparing the test system”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjhžhhŸh¶h KubhÉ)”}”(hXåUnfortunately, to effectively test the support for the system-wide suspend and resume transitions in a driver, it is necessary to suspend and resume a fully functional system with this driver loaded. Moreover, that should be done several times, preferably several times in a row, and separately for hibernation (aka suspend to disk or STD) and suspend to RAM (STR), because each of these cases involves slightly different operations and different interactions with the machine's BIOS.”h]”hXçUnfortunately, to effectively test the support for the system-wide suspend and resume transitions in a driver, it is necessary to suspend and resume a fully functional system with this driver loaded. Moreover, that should be done several times, preferably several times in a row, and separately for hibernation (aka suspend to disk or STD) and suspend to RAM (STR), because each of these cases involves slightly different operations and different interactions with the machine’s BIOS.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K hjhžhubhÉ)”}”(hX€Of course, for this purpose the test system has to be known to suspend and resume without the driver being tested. Thus, if possible, you should first resolve all suspend/resume-related problems in the test system before you start testing the new driver. Please see Documentation/power/basic-pm-debugging.rst for more information about the debugging of suspend/resume functionality.”h]”hX€Of course, for this purpose the test system has to be known to suspend and resume without the driver being tested. Thus, if possible, you should first resolve all suspend/resume-related problems in the test system before you start testing the new driver. Please see Documentation/power/basic-pm-debugging.rst for more information about the debugging of suspend/resume functionality.”…””}”(hj&hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khjhžhubeh}”(h]”Œpreparing-the-test-system”ah ]”h"]”Œ1. preparing the test system”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kubh¢)”}”(hhh]”(h§)”}”(hŒ2. Testing the driver”h]”hŒ2. Testing the driver”…””}”(hj?hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj<hžhhŸh¶h KubhÉ)”}”(hŒ‚Once you have resolved the suspend/resume-related problems with your test system without the new driver, you are ready to test it:”h]”hŒ‚Once you have resolved the suspend/resume-related problems with your test system without the new driver, you are ready to test it:”…””}”(hjMhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khj<hžhubh¾)”}”(hhh]”(hÃ)”}”(hŒ‚Build the driver as a module, load it and try the test modes of hibernation (see: Documentation/power/basic-pm-debugging.rst, 1). ”h]”hÉ)”}”(hŒBuild the driver as a module, load it and try the test modes of hibernation (see: Documentation/power/basic-pm-debugging.rst, 1).”h]”hŒBuild the driver as a module, load it and try the test modes of hibernation (see: Documentation/power/basic-pm-debugging.rst, 1).”…””}”(hjbhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÂhj[hžhhŸh¶h NubhÃ)”}”(hŒLoad the driver and attempt to hibernate in the "reboot", "shutdown" and "platform" modes (see: Documentation/power/basic-pm-debugging.rst, 1). ”h]”hÉ)”}”(hŒLoad the driver and attempt to hibernate in the "reboot", "shutdown" and "platform" modes (see: Documentation/power/basic-pm-debugging.rst, 1).”h]”hŒ›Load the driver and attempt to hibernate in the “rebootâ€, “shutdown†and “platform†modes (see: Documentation/power/basic-pm-debugging.rst, 1).”…””}”(hjzhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K!hjvubah}”(h]”h ]”h"]”h$]”h&]”uh1hÂhj[hžhhŸh¶h NubhÃ)”}”(hŒSCompile the driver directly into the kernel and try the test modes of hibernation. ”h]”hÉ)”}”(hŒRCompile the driver directly into the kernel and try the test modes of hibernation.”h]”hŒRCompile the driver directly into the kernel and try the test modes of hibernation.”…””}”(hj’hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K$hjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1hÂhj[hžhhŸh¶h NubhÃ)”}”(hŒyAttempt to hibernate with the driver compiled directly into the kernel in the "reboot", "shutdown" and "platform" modes. ”h]”hÉ)”}”(hŒxAttempt to hibernate with the driver compiled directly into the kernel in the "reboot", "shutdown" and "platform" modes.”h]”hŒ„Attempt to hibernate with the driver compiled directly into the kernel in the “rebootâ€, “shutdown†and “platform†modes.”…””}”(hjªhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K'hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÂhj[hžhhŸh¶h NubhÃ)”}”(hŒÃTry the test modes of suspend (see: Documentation/power/basic-pm-debugging.rst, 2). [As far as the STR tests are concerned, it should not matter whether or not the driver is built as a module.] ”h]”hÉ)”}”(hŒÂTry the test modes of suspend (see: Documentation/power/basic-pm-debugging.rst, 2). [As far as the STR tests are concerned, it should not matter whether or not the driver is built as a module.]”h]”hŒÂTry the test modes of suspend (see: Documentation/power/basic-pm-debugging.rst, 2). [As far as the STR tests are concerned, it should not matter whether or not the driver is built as a module.]”…””}”(hjÂhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K*hj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÂhj[hžhhŸh¶h NubhÃ)”}”(hŒ|Attempt to suspend to RAM using the s2ram tool with the driver loaded (see: Documentation/power/basic-pm-debugging.rst, 2). ”h]”hÉ)”}”(hŒ{Attempt to suspend to RAM using the s2ram tool with the driver loaded (see: Documentation/power/basic-pm-debugging.rst, 2).”h]”hŒ{Attempt to suspend to RAM using the s2ram tool with the driver loaded (see: Documentation/power/basic-pm-debugging.rst, 2).”…””}”(hjÚhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K/hjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1hÂhj[hžhhŸh¶h Nubeh}”(h]”h ]”h"]”h$]”h&]”húŒ loweralpha”hühhþhÿuh1h½hj<hžhhŸh¶h KubhÉ)”}”(hŒ»Each of the above tests should be repeated several times and the STD tests should be mixed with the STR tests. If any of them fails, the driver cannot be regarded as suspend/resume-safe.”h]”hŒ»Each of the above tests should be repeated several times and the STD tests should be mixed with the STR tests. If any of them fails, the driver cannot be regarded as suspend/resume-safe.”…””}”(hjõhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K2hj<hžhubeh}”(h]”Œtesting-the-driver”ah ]”h"]”Œ2. testing the driver”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kubeh}”(h]”Œ4testing-suspend-and-resume-support-in-device-drivers”ah ]”h"]”Œ4testing suspend and resume support in device drivers”ah$]”h&]”uh1h¡hhhžhhŸh¶h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h¶uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¦NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j6Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h¶Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jj j9j6jjuŒ nametypes”}”(j‰j9‰j‰uh}”(j h£j6jjj<uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”hŒsystem_message”“”)”}”(hhh]”hÉ)”}”(hŒ:Enumerated list start value not ordinal-1: "C" (ordinal 3)”h]”hŒ>Enumerated list start value not ordinal-1: “C†(ordinal 3)”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhjšubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”h¶Œline”Kuh1j˜hh¹ubaŒtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.