patch-2.4.6 linux/drivers/char/rtc.c
Next file: linux/drivers/char/sbc60xxwdt.c
Previous file: linux/drivers/char/rocket.c
Back to the patch index
Back to the overall index
- Lines: 50
- Date:
Tue Jun 12 11:08:46 2001
- Orig file:
v2.4.5/linux/drivers/char/rtc.c
- Orig date:
Thu Jan 4 12:50:17 2001
diff -u --recursive --new-file v2.4.5/linux/drivers/char/rtc.c linux/drivers/char/rtc.c
@@ -73,6 +73,9 @@
#ifdef __sparc__
#include <asm/ebus.h>
+#ifdef __sparc_v9__
+#include <asm/isa.h>
+#endif
static unsigned long rtc_port;
static int rtc_irq;
@@ -622,22 +625,37 @@
#ifdef __sparc__
struct linux_ebus *ebus;
struct linux_ebus_device *edev;
+#ifdef __sparc_v9__
+ struct isa_bridge *isa_br;
+ struct isa_device *isa_dev;
+#endif
#endif
#ifdef __sparc__
for_each_ebus(ebus) {
for_each_ebusdev(edev, ebus) {
if(strcmp(edev->prom_name, "rtc") == 0) {
+ rtc_port = edev->resource[0].start;
+ rtc_irq = edev->irqs[0];
goto found;
}
}
}
+#ifdef __sparc_v9__
+ for_each_isa(isa_br) {
+ for_each_isadev(isa_dev, isa_br) {
+ if (strcmp(isa_dev->prom_name, "rtc") == 0) {
+ rtc_port = isa_dev->resource.start;
+ rtc_irq = isa_dev->irq;
+ goto found;
+ }
+ }
+ }
+#endif
printk(KERN_ERR "rtc_init: no PC rtc found\n");
return -EIO;
found:
- rtc_port = edev->resource[0].start;
- rtc_irq = edev->irqs[0];
/*
* XXX Interrupt pin #7 in Espresso is shared between RTC and
* PCI Slot 2 INTA# (and some INTx# in Slot 1). SA_INTERRUPT here
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)