devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: "Alessandro Zummo" <a.zummo@towertech.it>,
	"Tony Lindgren" <tony@atomide.com>,
	"Benoît Cousson" <bcousson@baylibre.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Felipe Balbi <balbi@ti.com>, Lokesh Vutla <lokeshvutla@ti.com>,
	Guenter Roeck <linux@roeck-us.net>,
	Colin Foe-Parker <colin.foeparker@logicpd.com>,
	AnilKumar Ch <anilkumar@ti.com>,
	nsekhar@ti.com, t-kristo@ti.com, j-keerthy@ti.com,
	linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	devicetree@vger.kernel.org, rtc-linux@googlegroups.com,
	linux-kernel@vger.kernel.org, Johan Hovold <johan@kernel.org>
Subject: [PATCH 07/12] rtc: omap: silence bogus power-up reset message at probe
Date: Thu,  9 Oct 2014 21:06:29 +0200	[thread overview]
Message-ID: <1412881594-25678-8-git-send-email-johan@kernel.org> (raw)
In-Reply-To: <1412881594-25678-1-git-send-email-johan@kernel.org>

Some legacy RTC IP revisions has a power-up reset flag in the status
register that later revisions lack.

As this flag is always read back as set on later revisions (or is
overloaded with a different flag), make sure to only clear the flag and
print the info message on legacy platforms.

Signed-off-by: Johan Hovold <johan@kernel.org>
---
 drivers/rtc/rtc-omap.c | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
index 1c58920b0c88..0ef016553a97 100644
--- a/drivers/rtc/rtc-omap.c
+++ b/drivers/rtc/rtc-omap.c
@@ -118,6 +118,12 @@
  */
 #define OMAP_RTC_HAS_32KCLK_EN		BIT(2)
 
+/*
+ * Some legacy RTC IP revisions has a power-up reset flag which later
+ * revisions lack.
+ */
+#define OMAP_RTC_HAS_POWER_UP_RESET	BIT(3)
+
 static void __iomem	*rtc_base;
 
 #define rtc_read(addr)		readb(rtc_base + (addr))
@@ -347,6 +353,7 @@ static int omap_rtc_timer;
 static struct platform_device_id omap_rtc_devtype[] = {
 	{
 		.name	= DRIVER_NAME,
+		.driver_data = OMAP_RTC_HAS_POWER_UP_RESET,
 	},
 	[OMAP_RTC_DATA_AM3352_IDX] = {
 		.name	= "am3352-rtc",
@@ -376,7 +383,7 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
 {
 	struct resource		*res;
 	struct rtc_device	*rtc;
-	u8			reg, new_ctrl;
+	u8			reg, mask, new_ctrl;
 	const struct platform_device_id *id_entry;
 	const struct of_device_id *of_id;
 
@@ -429,12 +436,16 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
 
 	/* clear old status */
 	reg = rtc_read(OMAP_RTC_STATUS_REG);
-	if (reg & (u8) OMAP_RTC_STATUS_POWER_UP) {
-		dev_info(&pdev->dev, "RTC power up reset detected\n");
-		rtc_write(OMAP_RTC_STATUS_POWER_UP, OMAP_RTC_STATUS_REG);
+
+	mask = OMAP_RTC_STATUS_ALARM;
+	if (id_entry->driver_data & OMAP_RTC_HAS_POWER_UP_RESET) {
+		mask |= OMAP_RTC_STATUS_POWER_UP;
+		if (reg & OMAP_RTC_STATUS_POWER_UP)
+			dev_info(&pdev->dev, "RTC power up reset detected\n");
 	}
-	if (reg & (u8) OMAP_RTC_STATUS_ALARM)
-		rtc_write(OMAP_RTC_STATUS_ALARM, OMAP_RTC_STATUS_REG);
+
+	if (reg & mask)
+		rtc_write(reg & mask, OMAP_RTC_STATUS_REG);
 
 	/* handle periodic and alarm irqs */
 	if (devm_request_irq(&pdev->dev, omap_rtc_timer, rtc_irq, 0,
-- 
2.0.4


  parent reply	other threads:[~2014-10-09 19:06 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-09 19:06 [PATCH 00/12] rtc: omap: fixes and power-off feature Johan Hovold
2014-10-09 19:06 ` [PATCH 01/12] rtc: omap: fix clock-source configuration Johan Hovold
2014-10-10 17:55   ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 02/12] rtc: omap: fix missing wakealarm attribute Johan Hovold
2014-10-10 17:55   ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 03/12] rtc: omap: fix class-device registration Johan Hovold
2014-10-10 17:59   ` Felipe Balbi
2014-10-11  9:59     ` Johan Hovold
2014-10-13 15:57       ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 04/12] rtc: omap: remove unused register-base define Johan Hovold
2014-10-10 17:59   ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 05/12] rtc: omap: remove redundant debug message Johan Hovold
2014-10-10 17:59   ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 06/12] rtc: omap: use dev_info and dev_dbg Johan Hovold
2014-10-10 18:00   ` Felipe Balbi
2014-10-09 19:06 ` Johan Hovold [this message]
2014-10-10 18:00   ` [PATCH 07/12] rtc: omap: silence bogus power-up reset message at probe Felipe Balbi
2014-10-10 18:02     ` Felipe Balbi
2014-10-11 10:20       ` Johan Hovold
2014-10-12  0:50         ` Felipe Balbi
2014-10-12 18:42           ` Johan Hovold
2014-10-13 15:56             ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 08/12] rtc: omap: restore irq state after reading TC registers Johan Hovold
2014-10-10 18:02   ` Felipe Balbi
2014-10-11 10:12     ` Johan Hovold
2014-10-12  0:47       ` Felipe Balbi
2014-10-22 10:50         ` Johan Hovold
2014-10-23 18:52           ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 09/12] rtc: omap: add support for pmic_power_en Johan Hovold
2014-10-10 18:07   ` Felipe Balbi
2014-10-11 10:31     ` Johan Hovold
2014-10-22 10:18     ` Johan Hovold
2014-10-23 18:52       ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 10/12] rtc: omap: enable wake-up from power off Johan Hovold
2014-10-10 18:08   ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 11/12] ARM: dts: am33xx: update rtc node compatible property Johan Hovold
2014-10-10 18:08   ` Felipe Balbi
2014-10-09 19:06 ` [PATCH 12/12] ARM: dts: am335x-bone-common: enable power off and rtc wake up Johan Hovold
2014-10-10 18:09   ` Felipe Balbi
2014-10-11 10:34     ` Johan Hovold
2014-10-10 17:54 ` [PATCH 00/12] rtc: omap: fixes and power-off feature Felipe Balbi
2014-10-11  9:38   ` Johan Hovold
2014-10-11 19:08     ` Tony Lindgren
2014-10-22 11:07       ` Johan Hovold
2014-10-22 15:29         ` Tony Lindgren
2014-10-22 16:21           ` Johan Hovold
2014-10-22 16:43             ` Tony Lindgren
2014-10-15 16:55 ` Felipe Balbi
2014-10-15 17:06   ` Johan Hovold
2014-10-15 17:08     ` Felipe Balbi
2014-10-22 10:23       ` Johan Hovold
2014-10-23 18:55         ` Felipe Balbi
2014-10-24  7:58           ` Johan Hovold
2014-10-21 17:37 ` [PATCH v2 00/20] " Johan Hovold
     [not found]   ` <1413913086-12730-1-git-send-email-johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-10-21 17:37     ` [PATCH v2 01/20] rtc: omap: fix clock-source configuration Johan Hovold
2014-10-21 17:37   ` [PATCH v2 02/20] rtc: omap: fix missing wakealarm attribute Johan Hovold
2014-10-21 17:37   ` [PATCH v2 03/20] rtc: omap: fix interrupt disable at probe Johan Hovold
2014-10-21 17:37   ` [PATCH v2 04/20] rtc: omap: clean up probe error handling Johan Hovold
2014-10-21 17:37   ` [PATCH v2 05/20] rtc: omap: fix class-device registration Johan Hovold
2014-10-21 17:37   ` [PATCH v2 06/20] rtc: omap: remove unused register-base define Johan Hovold
2014-10-21 17:37   ` [PATCH v2 07/20] rtc: omap: use dev_info Johan Hovold
2014-10-21 17:37   ` [PATCH v2 08/20] rtc: omap: make platform-device id table const Johan Hovold
2014-10-21 17:37   ` [PATCH v2 09/20] rtc: omap: add device abstraction Johan Hovold
2014-10-21 17:37   ` [PATCH v2 10/20] rtc: omap: remove DRIVER_NAME macro Johan Hovold
2014-10-21 17:37   ` [PATCH v2 11/20] rtc: omap: add structured device-type info Johan Hovold
2014-10-21 17:37   ` [PATCH v2 12/20] rtc: omap: silence bogus power-up reset message at probe Johan Hovold
2014-10-21 17:37   ` [PATCH v2 13/20] rtc: omap: add helper to read raw bcd time Johan Hovold
2014-10-21 17:38   ` [PATCH v2 14/20] rtc: omap: add helper to read 32-bit registers Johan Hovold
2014-10-21 17:38   ` [PATCH v2 15/20] rtc: omap: add support for pmic_power_en Johan Hovold
2014-10-21 17:38   ` [PATCH v2 16/20] rtc: omap: enable wake-up from power off Johan Hovold
2014-10-21 17:38   ` [PATCH v2 17/20] rtc: omap: fix minor coding style issues Johan Hovold
2014-10-21 17:38   ` [PATCH v2 18/20] rtc: omap: add copyright entry Johan Hovold
2014-10-21 17:38   ` [PATCH v2 19/20] ARM: dts: am33xx: update rtc-node compatible property Johan Hovold
2014-10-21 17:38   ` [PATCH v2 20/20] ARM: dts: am335x-boneblack: enable power off and rtc wake up Johan Hovold
2014-10-24 16:08   ` [PATCH v2 00/20] rtc: omap: fixes and power-off feature Felipe Balbi
2014-10-24 19:02     ` Johan Hovold
2014-10-24 19:25       ` Felipe Balbi
2014-10-24 19:29         ` Felipe Balbi
2014-10-24 19:36           ` Johan Hovold
2014-10-24 19:44             ` Felipe Balbi
2014-10-24 19:55               ` Johan Hovold
2014-10-24 20:08                 ` Felipe Balbi
2014-10-27 23:22                 ` Andrew Morton
2014-10-28  0:25                   ` Russell King - ARM Linux
     [not found]                     ` <20141028002552.GX12379-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-10-28  8:16                       ` Johan Hovold
2014-10-28  8:47                         ` Russell King - ARM Linux
2014-10-28 13:12                           ` Johan Hovold
2014-10-28 15:16                             ` Russell King - ARM Linux
2014-10-29 12:34                               ` Johan Hovold
2014-10-29 12:55                                 ` Romain Perier
     [not found]                                   ` <CABgxDo+ewxNwb3RrBVZA7kqYMvSujLb9U6A6FCvnHQH1W8V0kg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-10-29 13:00                                     ` Johan Hovold
2014-10-29 13:11                                       ` Romain Perier
2014-10-29 13:44                                         ` Johan Hovold
2014-10-29 13:10                                 ` Russell King - ARM Linux
2014-10-29 13:22                                   ` Johan Hovold
2014-10-29 15:25                                     ` Guenter Roeck
2014-10-29 15:51                                       ` Johan Hovold
2014-10-30 10:01                                         ` Johan Hovold
2014-10-29 13:20                                 ` Guenter Roeck
2014-10-29 13:35                                   ` Johan Hovold
2014-10-29 15:36                                     ` Guenter Roeck
2014-10-29 15:54                                       ` Johan Hovold
2014-10-27  8:09   ` [PATCH v3] rtc: omap: add support for pmic_power_en Johan Hovold
2014-10-27 16:45     ` Felipe Balbi
2014-10-27 16:56       ` Johan Hovold
2014-10-27 17:09         ` Felipe Balbi
2014-10-27 22:40     ` Andrew Morton
     [not found]       ` <20141027154031.4492ea11d401045ca04a3ff8-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2014-10-28  8:36         ` Johan Hovold
2014-10-28 21:18           ` Andrew Morton
2014-10-29 12:46             ` Johan Hovold
2014-10-29 12:50           ` Johan Hovold
2014-10-29 19:14             ` Andrew Morton
2014-10-30  9:55   ` [PATCH v4] " Johan Hovold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1412881594-25678-8-git-send-email-johan@kernel.org \
    --to=johan@kernel.org \
    --cc=a.zummo@towertech.it \
    --cc=akpm@linux-foundation.org \
    --cc=anilkumar@ti.com \
    --cc=balbi@ti.com \
    --cc=bcousson@baylibre.com \
    --cc=colin.foeparker@logicpd.com \
    --cc=devicetree@vger.kernel.org \
    --cc=j-keerthy@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=lokeshvutla@ti.com \
    --cc=nsekhar@ti.com \
    --cc=rtc-linux@googlegroups.com \
    --cc=t-kristo@ti.com \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).