Commit cd1408f2 authored by Paul Mundt's avatar Paul Mundt

sh: mach-sh03: Give the sh03 rtc its own spinlock.

This converts the sh03 rtc code off of using the global rtc_lock and on
to its own spinlock. There are no other possible users of the rtc_lock,
so serializing with it is not necessary.
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 6459d7bb
...@@ -35,13 +35,13 @@ ...@@ -35,13 +35,13 @@
#define RTC_BUSY 1 #define RTC_BUSY 1
#define RTC_STOP 2 #define RTC_STOP 2
extern spinlock_t rtc_lock; static DEFINE_SPINLOCK(sh03_rtc_lock);
unsigned long get_cmos_time(void) unsigned long get_cmos_time(void)
{ {
unsigned int year, mon, day, hour, min, sec; unsigned int year, mon, day, hour, min, sec;
spin_lock(&rtc_lock); spin_lock(&sh03_rtc_lock);
again: again:
do { do {
sec = (ctrl_inb(RTC_SEC1) & 0xf) + (ctrl_inb(RTC_SEC10) & 0x7) * 10; sec = (ctrl_inb(RTC_SEC1) & 0xf) + (ctrl_inb(RTC_SEC10) & 0x7) * 10;
...@@ -73,7 +73,7 @@ unsigned long get_cmos_time(void) ...@@ -73,7 +73,7 @@ unsigned long get_cmos_time(void)
goto again; goto again;
} }
spin_unlock(&rtc_lock); spin_unlock(&sh03_rtc_lock);
return mktime(year, mon, day, hour, min, sec); return mktime(year, mon, day, hour, min, sec);
} }
...@@ -91,7 +91,7 @@ static int set_rtc_mmss(unsigned long nowtime) ...@@ -91,7 +91,7 @@ static int set_rtc_mmss(unsigned long nowtime)
int i; int i;
/* gets recalled with irq locally disabled */ /* gets recalled with irq locally disabled */
spin_lock(&rtc_lock); spin_lock(&sh03_rtc_lock);
for (i = 0 ; i < 1000000 ; i++) /* may take up to 1 second... */ for (i = 0 ; i < 1000000 ; i++) /* may take up to 1 second... */
if (!(ctrl_inb(RTC_CTL) & RTC_BUSY)) if (!(ctrl_inb(RTC_CTL) & RTC_BUSY))
break; break;
...@@ -113,7 +113,7 @@ static int set_rtc_mmss(unsigned long nowtime) ...@@ -113,7 +113,7 @@ static int set_rtc_mmss(unsigned long nowtime)
cmos_minutes, real_minutes); cmos_minutes, real_minutes);
retval = -1; retval = -1;
} }
spin_unlock(&rtc_lock); spin_unlock(&sh03_rtc_lock);
return retval; return retval;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment