Hi All, These patches are an upstream submission of a patch titled: "Intel Atom suspend: add debug check for S0ix blockers" Which I have been carrying in my personal kernel tree for years now. This code originally comes from the latte-l-oss branch of: https://github.com/MiCode/Xiaomi_Kernel_OpenSource And has been posted on upstream mailinglists before by Johannes Stezenbach, whose authorship I have kept for the 2 base patches and has been reposted by Takashi Iwai and at one point in time I picked this up from Takashi's reposting as can be seen from the S-o-b lines. Unfortunately I cannot find the original postings, so I have no link to those. The original version of this added some ugly hooks into the intel_idle driver which I presume is why these patches never got anywhere upstream. With the new acpi_s2idle_dev_ops and acpi_register_lps0_dev() functionality this functionality can now be implemented cleanly and that is what this patch-series does. clk and x86/tip maintainers, it is probably the cleanest if this entire series is merged through the pdx86 tree (*). Can we have your ack for merging patch 1/5 resp. 5/5 through the pdx86 tree ? Changes in v3: - Reword commit message of patch 3/5 and 5/5 - Drop confusing /* Low Part */ and /* High Part */ comments in pmc_atom.c - Add punit_s2idle_check_[un]register() helper functions Changes in v2: - Move CLK reg defines to include/linux/platform_data/x86/pmc_atom.h - Drop duplicated "pmc_atom: " prefix from logged messages Regards, Hans *) Andy recently mentioned that it might be a good idea to move some of the arch/x86/platform code to drivers/platform/x86, arch/x86/platform/atom/punit_atom_debug.c which is a completely standalone driver definitly is a good candidate for this Hans de Goede (3): clk: x86: Move clk-pmc-atom register defines to include/linux/platform_data/x86/pmc_atom.h platform/x86: pmc_atom: Annotate d3_sts register bit defines platform/x86: pmc_atom: Check state of PMC clocks on s2idle Johannes Stezenbach (2): platform/x86: pmc_atom: Check state of PMC managed devices on s2idle x86/platform/atom: Check state of Punit managed devices on s2idle arch/x86/platform/atom/punit_atom_debug.c | 54 +++++++++++++++- drivers/clk/x86/clk-pmc-atom.c | 13 +--- drivers/platform/x86/pmc_atom.c | 75 ++++++++++++++++++++++ include/linux/platform_data/x86/pmc_atom.h | 25 ++++++-- 4 files changed, 148 insertions(+), 19 deletions(-) -- 2.43.0