From: Wenyou Yang Date: Mon, 12 Oct 2015 08:39:23 +0000 (+0800) Subject: rtc: at91rm9200: clear RTC alarm status flag prior to suspending X-Git-Tag: v5.15~14745^2~8 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=921372bf5a7c03a05de25a083b852c6b5d9d97a7;p=mirror_ubuntu-kernels.git rtc: at91rm9200: clear RTC alarm status flag prior to suspending As said in the SAMA5D2 datasheet, "Prior to instructing the device to enter ULP mode 1, ... and the internal sources of wake-up must be cleared." This patch is to clear the RTC alarm status flag prior to suspending to avoid the erroneous wake-up activity, as it is often used as the wake-up source for the ULP mode 1. Signed-off-by: Wenyou Yang Signed-off-by: Alexandre Belloni --- diff --git a/drivers/rtc/rtc-at91rm9200.c b/drivers/rtc/rtc-at91rm9200.c index cb62e214b52a..b60fd477778f 100644 --- a/drivers/rtc/rtc-at91rm9200.c +++ b/drivers/rtc/rtc-at91rm9200.c @@ -495,6 +495,8 @@ static int at91_rtc_suspend(struct device *dev) /* this IRQ is shared with DBGU and other hardware which isn't * necessarily doing PM like we are... */ + at91_rtc_write(AT91_RTC_SCCR, AT91_RTC_ALARM); + at91_rtc_imr = at91_rtc_read_imr() & (AT91_RTC_ALARM|AT91_RTC_SECEV); if (at91_rtc_imr) {