Commit 582defd8 authored by David S. Miller's avatar David S. Miller

rtc: Allow RTC_DRV_CMOS to be used on SPARC.

Add Sparc to the Kconfig depends list.

Add __sparc___ to address_sparc = 128 ifdef.

Finally, don't be concerned about 24-hour BCD mode support if the RTC
doesn't have a valid IRQ.  We won't even use the alarm code in this
case and the Sparc RTCs have this limitation.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0c0db98b
...@@ -329,7 +329,7 @@ comment "Platform RTC drivers" ...@@ -329,7 +329,7 @@ comment "Platform RTC drivers"
config RTC_DRV_CMOS config RTC_DRV_CMOS
tristate "PC-style 'CMOS'" tristate "PC-style 'CMOS'"
depends on X86 || ALPHA || ARM || M32R || ATARI || PPC || MIPS depends on X86 || ALPHA || ARM || M32R || ATARI || PPC || MIPS || SPARC
default y if X86 default y if X86
help help
Say "yes" here to get direct support for the real time clock Say "yes" here to get direct support for the real time clock
......
...@@ -636,7 +636,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq) ...@@ -636,7 +636,7 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
*/ */
#if defined(CONFIG_ATARI) #if defined(CONFIG_ATARI)
address_space = 64; address_space = 64;
#elif defined(__i386__) || defined(__x86_64__) || defined(__arm__) #elif defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__sparc__)
address_space = 128; address_space = 128;
#else #else
#warning Assuming 128 bytes of RTC+NVRAM address space, not 64 bytes. #warning Assuming 128 bytes of RTC+NVRAM address space, not 64 bytes.
...@@ -699,7 +699,8 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq) ...@@ -699,7 +699,8 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
/* FIXME teach the alarm code how to handle binary mode; /* FIXME teach the alarm code how to handle binary mode;
* <asm-generic/rtc.h> doesn't know 12-hour mode either. * <asm-generic/rtc.h> doesn't know 12-hour mode either.
*/ */
if (!(rtc_control & RTC_24H) || (rtc_control & (RTC_DM_BINARY))) { if (is_valid_irq(rtc_irq) &&
(!(rtc_control & RTC_24H) || (rtc_control & (RTC_DM_BINARY)))) {
dev_dbg(dev, "only 24-hr BCD mode supported\n"); dev_dbg(dev, "only 24-hr BCD mode supported\n");
retval = -ENXIO; retval = -ENXIO;
goto cleanup1; goto cleanup1;
......
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