patch-2.4.27 linux-2.4.27/arch/sh64/lib/io.c
Next file: linux-2.4.27/arch/sh64/mach-cayman/irq.c
Previous file: linux-2.4.27/arch/sh64/kernel/time.c
Back to the patch index
Back to the overall index
- Lines: 32
- Date:
2004-08-07 16:26:04.603344682 -0700
- Orig file:
linux-2.4.26/arch/sh64/lib/io.c
- Orig date:
2003-08-25 04:44:40.000000000 -0700
diff -urN linux-2.4.26/arch/sh64/lib/io.c linux-2.4.27/arch/sh64/lib/io.c
@@ -27,17 +27,23 @@
#define dprintk(x...)
-//#define io_addr(x) (((unsigned)(x) & 0x000fffff)| PCI_ST50_IO_ADDR )
-
+static int io_addr(int x) {
+ if (x < 0x400) {
#ifdef CONFIG_SH_CAYMAN
-extern unsigned long smsc_virt;
-extern unsigned long pciio_virt;
-#define io_addr(x) ( ((x)<0x400) ? \
- (((x) << 2)|smsc_virt) : \
- ((unsigned long)(x)+pciio_virt) )
+ return (x << 2) | smsc_superio_virt;
+#else
+ panic ("Illegal access to I/O port 0x%04x\n", x);
+ return 0;
+#endif
+ } else {
+#ifdef CONFIG_PCI
+ return (x + pciio_virt);
#else
-#define io_addr(x) ((unsigned long)(x)+pciio_virt)
+ panic ("Illegal access to I/O port 0x%04x\n", x);
+ return 0;
#endif
+ }
+}
unsigned long inb(unsigned long port)
{
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)