Hi All, Here is v4 of this patch series to add S0ix related s2idle checks to the pmc_atom and punit_atom code. Changes in v4: - Add pmc_s2idle_check_register() helper which is a stub when CONFIG_SUSPEND is not set to avoid needing more then 1 ifdef - Add a couple of Acked-by and Reviewed-by tags Patches 1/5 and 5/5 have Acked-by-s from the clk resp. x86 maintainers to be merged through the pdx86 tree together with the rest of the series. Ilpo, I believe that this is ready for merging now. It would be great if you can still pick this up for the 6.9 cycle. OTOH there is no big rush to get these debug patches for older platforms merged. So postponing them to the next cycle is fine too. Below is the previous cover-letter of v3 with some more background info: 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. 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 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 | 79 ++++++++++++++++++++++ include/linux/platform_data/x86/pmc_atom.h | 25 +++++-- 4 files changed, 152 insertions(+), 19 deletions(-) -- 2.43.2