Hi. On our SoC, we are using S2IDLE instead of S2R as a system suspend mode. However, when I try to enable ARM GICv3 ITS driver (drivers/irqchip/irq-gic-v3-its.c), I noticed that there is no proper way to invoke suspend/resume callback, because it only uses syscore_ops, which is not called in an s2idle scenario. Please refer to the codes below. 5028 static struct syscore_ops its_syscore_ops = { 5029 .suspend = its_save_disable, 5030 .resume = its_restore_enable, 5031 }; ... 5803 register_syscore_ops(&its_syscore_ops); 444 if (state == PM_SUSPEND_TO_IDLE) { 445 s2idle_loop(); 446 goto Platform_wake; 447 } 448 449 error = pm_sleep_disable_secondary_cpus(); 450 if (error || suspend_test(TEST_CPUS)) { 451 log_suspend_abort_reason("Disabling non-boot cpus failed"); 452 goto Enable_cpus; 453 } 454 455 arch_suspend_disable_irqs(); 456 BUG_ON(!irqs_disabled()); 457 458 system_state = SYSTEM_SUSPEND; 459 460 error = syscore_suspend(); How should we handle this situation ?