diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-05-07 02:55:41 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-05-07 02:55:41 +0000 |
commit | dcec8a13bf565e47942a1751a9cec21bec5648fe (patch) | |
tree | 548b69625b18cc2e88c3e68d0923be546c9ebb03 /include/asm-sparc64/ide.h | |
parent | 2e0f55e79c49509b7ff70ff1a10e1e9e90a3dfd4 (diff) |
o Merge with Linux 2.1.99.
o Fix ancient bug in the ELF loader making ldd crash.
o Fix ancient bug in the keyboard code for SGI, SNI and Jazz.
Diffstat (limited to 'include/asm-sparc64/ide.h')
-rw-r--r-- | include/asm-sparc64/ide.h | 48 |
1 files changed, 16 insertions, 32 deletions
diff --git a/include/asm-sparc64/ide.h b/include/asm-sparc64/ide.h index e305ccf91..f72c264c8 100644 --- a/include/asm-sparc64/ide.h +++ b/include/asm-sparc64/ide.h @@ -1,7 +1,8 @@ -/* $Id: ide.h,v 1.4 1997/08/30 16:29:29 davem Exp $ +/* $Id: ide.h,v 1.6 1998/03/15 13:29:13 ecd Exp $ * ide.h: Ultra/PCI specific IDE glue. * - * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu) + * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu) + * Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be) */ #ifndef _SPARC64_IDE_H @@ -14,42 +15,31 @@ typedef unsigned long ide_ioreg_t; #undef MAX_HWIFS #define MAX_HWIFS 2 -extern int sparc64_ide_ports_known; -extern ide_ioreg_t sparc64_ide_regbase[MAX_HWIFS]; -extern ide_ioreg_t sparc64_idedma_regbase; /* one for both channels */ -extern unsigned int sparc64_ide_irq; - -extern void sparc64_ide_probe(void); - #define ide_sti() sti() static __inline__ int ide_default_irq(ide_ioreg_t base) { - if(sparc64_ide_ports_known == 0) - sparc64_ide_probe(); - return sparc64_ide_irq; + return 0; } static __inline__ ide_ioreg_t ide_default_io_base(int index) { - if(sparc64_ide_ports_known == 0) - sparc64_ide_probe(); - return sparc64_ide_regbase[index]; + return 0; } static __inline__ void ide_init_hwif_ports(ide_ioreg_t *p, ide_ioreg_t base, int *irq) { - ide_ioreg_t port = base; - int i = 9; - - while(i--) - *p++ = port++; - if(base == sparc64_ide_regbase[0]) - *p = sparc64_idedma_regbase + 0x2; - else - *p = sparc64_idedma_regbase + 0xa; + int i; + + /* These are simply offsets from base. */ + for (i = 0; i < 8; i++) + *p++ = base++; + /* PCI code needs to figure out these. */ + for ( ; i < 10; i++) + *p++ = 0; + /* PCI code needs to figure out this. */ if(irq != NULL) - *irq = sparc64_ide_irq; + *irq = 0; } typedef union { @@ -102,13 +92,7 @@ static __inline__ void ide_release_region(ide_ioreg_t base, unsigned int size) static __inline__ int ide_ack_intr(ide_ioreg_t status_port, ide_ioreg_t irq_port) { - unsigned char stat = inb(irq_port); - - if(stat & 0x4) { - outb((inb(irq_port) & 0x60) | 4, irq_port); - return 1; - } - return 0; + return 1; } /* From m68k code... */ |