Thread (3 messages) 3 messages, 3 authors, 2011-05-04

AT91: Convert RTC and RTT drivers to be independent of processor base-address

From: Ryan Mallon <hidden>
Date: 2011-05-04 20:49:13

On 04/30/2011 07:41 AM, Andrew Victor wrote:
For supporting multiple AT91 processors in a single kernel image, the
following changes to the RTC and RTT driver support:
 * pass base addresses via platform resources
 * replace calls to at91_sys_read() / at91_sys_write()
 * rename AT91_RTT/AT91_RTC to AT91xxx_RTT/AT91xxx_RTC to denote they
are processor-specific.

Signed-off-by: Andrew Victor <redacted>
Looks mostly good. Couple of minor comments below.

~Ryan
quoted hunk ↗ jump to hunk
diff --git a/drivers/rtc/rtc-at91rm9200.c b/drivers/rtc/rtc-at91rm9200.c
index e39b77a..971271c 100644
--- a/drivers/rtc/rtc-at91rm9200.c
+++ b/drivers/rtc/rtc-at91rm9200.c
@@ -27,6 +27,7 @@
 #include <linux/interrupt.h>
 #include <linux/ioctl.h>
 #include <linux/completion.h>
+#include <linux/slab.h>
 
 #include <asm/uaccess.h>
 
@@ -35,23 +36,33 @@
 
 #define AT91_RTC_EPOCH		1900UL	/* just like arch/arm/common/rtctime.c */
 
+struct at91_rtc {
+	struct rtc_device	*rtcdev;
+	void __iomem		*regbase;
+	unsigned int		alarm_year;
+};
+
 static DECLARE_COMPLETION(at91_rtc_updated);
-static unsigned int at91_alarm_year = AT91_RTC_EPOCH;
+
+#define rtc_readl(rtc, reg) \
+	__raw_readl((rtc)->regbase + (reg))
+#define rtc_writel(rtc, reg, value) \
+	__raw_writel((value), (rtc)->regbase + (reg))
static inline unsigned rtc_readl(struct at91_rtc, unsigned reg)
{
	return __raw_readl(rtc->regbase + reg);
}

static inline void rtc_writel(struct at91_rtc, unsigned reg,
				unsigned value)
{
	__raw_writel(valie, rtc->regbase + reg);
}
 
 /*
  * Decode time/date into rtc_time structure
  */
-static void at91_rtc_decodetime(unsigned int timereg, unsigned int calreg,
-				struct rtc_time *tm)
+static void at91_rtc_decodetime(struct at91_rtc* rtc,
Nitpick, should be:

	struct at91_rtc *rtc,

-- 
Bluewater Systems Ltd - ARM Technology Solution Centre

Ryan Mallon         		5 Amuri Park, 404 Barbadoes St
ryan at bluewatersys.com         	PO Box 13 889, Christchurch 8013
http://www.bluewatersys.com	New Zealand
Phone: +64 3 3779127		Freecall: Australia 1800 148 751
Fax:   +64 3 3779135			  USA 1800 261 2934
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help