More small comments. Sorry for the drip feed, just trying to understand things... On Fri, 2025-06-27 at 14:08 +0100, Peter Griffin wrote: > [...] > > +static int gs101_cpu_pm_notify_callback(struct notifier_block *self, > + unsigned long action, void *v) > +{ > + switch (action) { > + case CPU_PM_ENTER: > + /* > + * Ignore CPU_PM_ENTER event in reboot or > + * suspend sequence. > + */ > + > + if (atomic_read(&pmu_context->sys_suspended) || > + atomic_read(&pmu_context->sys_rebooting)) > + return NOTIFY_OK; > + > + return gs101_cpu_pmu_offline(); > + > + break; break is not needed after return, and generally there should be an empty line before the next case statement. > + case CPU_PM_EXIT: Should this also handle CPU_PM_ENTER_FAILED in the same way to bring the CPU back up in case of failures? > + > + if (atomic_read(&pmu_context->sys_rebooting)) > + return NOTIFY_OK; > + > + return gs101_cpu_pmu_online(); > + > + break; No break needed. Cheers, Andre'