[PATCH 07/12] pm: at91: the standby mode uses the same sram function as the suspend to memory mode
From: Yang, Wenyou <hidden>
Date: 2015-01-27 03:10:35
Also in:
lkml
Hi Alexandre,
-----Original Message----- From: Alexandre Belloni [mailto:alexandre.belloni at free-electrons.com] Sent: Saturday, January 24, 2015 7:13 AM To: Sylvain Rochet Cc: Yang, Wenyou; Ferre, Nicolas; linux at arm.linux.org.uk; linux- kernel at vger.kernel.org; peda at axentia.se; linux-arm-kernel at lists.infradead.org Subject: Re: [PATCH 07/12] pm: at91: the standby mode uses the same sram function as the suspend to memory mode On 23/01/2015 at 17:50:20 +0100, Sylvain Rochet wrote :quoted
Hello Wenyou, On Tue, Jan 20, 2015 at 04:17:00PM +0800, Wenyou Yang wrote:quoted
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c index691e6db..a1010f0 100644--- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.cquoted
@@ -145,62 +145,51 @@ extern void at91_slow_clock(void __iomem *pmc,void __iomem *ramc0,quoted
quoted
void __iomem *ramc1, int memctrl); extern u32 at91_slow_clock_sz; +static void at91_pm_suspend(suspend_state_t state) {(...)quoted
+ slow_clock(at91_pmc_base, at91_ramc_base[0], + at91_ramc_base[1], pm_data); +}quoted
- if (slow_clock) { - slow_clock(at91_pmc_base, at91_ramc_base[0], - at91_ramc_base[1], - at91_pm_data.memctrl);(...)quoted
+ at91_pm_suspend(state);By doing that you removed the condition "if (slow_clock)". But slow_clock can still be NULL, see commit d2e4679, there are multiple reasons which ends up with a NULL slow_clock.I would fix that by not calling suspend_set_ops(&at91_pm_ops) when slow_clock is NULL in patch 6 (quick and easy) or copying the whole at91_pm_sram_init() in at91_pm_init() and handle failures from there.
Thank you for suggestion, I will fix it.
-- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Best Regards, Wenyou Yang