Jonathan Kliegman wrote: > > The interupt combiner registers need to be saved on suspend resume > or its interrupts (trackpad and keyboard most noticeably) won't work > after resume. > > Signed-off-by: Jonathan Kliegman <kliegs@xxxxxxxxxxxx> > --- > arch/arm/mach-exynos/common.c | 74 > +++++++++++++++++++++++++++++++++++++---- > 1 files changed, 67 insertions(+), 7 deletions(-) [...] > +#ifdef CONFIG_PM #ifdef CONFIG_CPU_PM? > +static void combiner_save(void) > +{ > + int i; > + > + for (i = 0; i < rt_max_combiner_nr; i++) { > + if (combiner_data[i].irq_mask & > + __raw_readl(combiner_data[i].base + COMBINER_ENABLE_SET)) > { > + combiner_data[i].saved_on = true; > + } else { > + combiner_data[i].saved_on = false; > + } > + } > +} > + > +static void combiner_restore(void) > +{ > + int i; > + > + for (i = 0; i < rt_max_combiner_nr; i++) { > + if (!combiner_data[i].saved_on) > + continue; > + > + __raw_writel(combiner_data[i].irq_mask, > + combiner_data[i].base + COMBINER_ENABLE_SET); > + } > +} > + > + No need double empty lines :) > +static int combiner_notifier(struct notifier_block *self, unsigned long > cmd, > + void *v) > +{ > + switch (cmd) { > + case CPU_PM_ENTER: Should be CPU_CLUSTER_PM_ENTER? > + combiner_save(); > + break; > + case CPU_PM_EXIT: CPU_CLUSTER_PM_EXIT? Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@xxxxxxxxxxx>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html