summaryrefslogtreecommitdiffstats
path: root/arch/mips/sni
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-06-30 00:21:34 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-06-30 00:21:34 +0000
commit3917ac5846dd0f9ad1238166f90caab9912052e6 (patch)
tree1c298935def4f29edb39192365a65d73de999155 /arch/mips/sni
parentaf2f803c8b2d469fe38e4a7ce952658dfcb6681a (diff)
o Merge with Linux 2.1.100.
o Cleanup the machine dependencies of floppy and rtc. The driver for the Dallas thingy in the Indy is still missing. o Handle allocation of zero'd pages correct for R4000SC / R4400SC. o Page colouring shit to match the virtual and physical colour of all mapped pages. This tends to produce extreme fragmentation problems, so it's deactivated for now. Users of R4000SC / R4400SC may re-enable the code in arch/mips/mm/init.c by removing the definition of CONF_GIVE_A_SHIT_ABOUT_COLOURS. Should get them somewhat further - but don't shake to hard ... o Fixed ptrace(2)-ing of syscalls, strace is now working again. o Fix the interrupt forwarding from the keyboard driver to the psaux driver, PS/2 mice are now working on the Indy. The fix is somewhat broken as it prevents generic kernels for Indy and machines which handle things different. o Things I can't remember.
Diffstat (limited to 'arch/mips/sni')
-rw-r--r--arch/mips/sni/hw-access.c140
-rw-r--r--arch/mips/sni/pcimt_scache.c8
-rw-r--r--arch/mips/sni/setup.c11
3 files changed, 10 insertions, 149 deletions
diff --git a/arch/mips/sni/hw-access.c b/arch/mips/sni/hw-access.c
index b32e7dcce..eba80f4d7 100644
--- a/arch/mips/sni/hw-access.c
+++ b/arch/mips/sni/hw-access.c
@@ -1,4 +1,4 @@
-/* $Id: hw-access.c,v 1.5 1998/05/06 02:46:46 ralf Exp $
+/* $Id: hw-access.c,v 1.5 1998/05/07 02:57:22 ralf Exp $
*
* Low-level hardware access stuff for SNI RM200 PCI
*
@@ -23,144 +23,6 @@
#include <asm/irq.h>
#include <asm/mc146818rtc.h>
#include <asm/pgtable.h>
-#include <asm/vector.h>
-
-extern int FLOPPY_IRQ;
-extern int FLOPPY_DMA;
-
-/*
- * How to access the FDC's registers.
- */
-static unsigned char
-fd_inb(unsigned int port)
-{
- return inb_p(port);
-}
-
-static void
-fd_outb(unsigned char value, unsigned int port)
-{
- outb_p(value, port);
-}
-
-/*
- * How to access the floppy DMA functions.
- */
-static void
-fd_enable_dma(int channel)
-{
- enable_dma(channel);
-}
-
-static void
-fd_disable_dma(int channel)
-{
- disable_dma(channel);
-}
-
-static int
-fd_request_dma(int channel)
-{
- return request_dma(channel, "floppy");
-}
-
-static void
-fd_free_dma(int channel)
-{
- free_dma(channel);
-}
-
-static void
-fd_clear_dma_ff(int channel)
-{
- clear_dma_ff(channel);
-}
-
-static void
-fd_set_dma_mode(int channel, char mode)
-{
- set_dma_mode(channel, mode);
-}
-
-static void
-fd_set_dma_addr(int channel, unsigned int addr)
-{
- set_dma_addr(channel, addr);
-}
-
-static void
-fd_set_dma_count(int channel, unsigned int count)
-{
- set_dma_count(channel, count);
-}
-
-static int
-fd_get_dma_residue(int channel)
-{
- return get_dma_residue(channel);
-}
-
-static void
-fd_enable_irq(int irq)
-{
- enable_irq(irq);
-}
-
-static void
-fd_disable_irq(int irq)
-{
- disable_irq(irq);
-}
-
-void
-sni_fd_cacheflush(const void *addr, size_t size)
-{
- flush_cache_all();
-}
-
-/*
- * RTC stuff (This is a guess on how the RM handles this ...)
- */
-static unsigned char
-rtc_read_data(unsigned long addr)
-{
- outb_p(addr, RTC_PORT(0));
- return inb_p(RTC_PORT(1));
-}
-
-static void
-rtc_write_data(unsigned char data, unsigned long addr)
-{
- outb_p(addr, RTC_PORT(0));
- outb_p(data, RTC_PORT(1));
-}
-
-struct feature sni_rm200_pci_feature = {
- /*
- * How to access the floppy controller's ports
- */
- fd_inb,
- fd_outb,
- /*
- * How to access the floppy DMA functions.
- */
- fd_enable_dma,
- fd_disable_dma,
- fd_request_dma,
- fd_free_dma,
- fd_clear_dma_ff,
- fd_set_dma_mode,
- fd_set_dma_addr,
- fd_set_dma_count,
- fd_get_dma_residue,
- fd_enable_irq,
- fd_disable_irq,
- /*
- * How to access the RTC functions.
- */
- rtc_read_data,
- rtc_write_data
-};
#define KBD_STAT_IBF 0x02 /* Keyboard input buffer full */
diff --git a/arch/mips/sni/pcimt_scache.c b/arch/mips/sni/pcimt_scache.c
index 8c19fb623..c74903bbd 100644
--- a/arch/mips/sni/pcimt_scache.c
+++ b/arch/mips/sni/pcimt_scache.c
@@ -1,15 +1,15 @@
-/*
+/* $Id: pcimt_scache.c,v 1.1 1998/03/04 08:47:29 ralf Exp $
+ *
* arch/mips/sni/pcimt_scache.c
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
- * Copyright (c) 1997 by Ralf Baechle
- *
- * $Id: pcimt_scache.c,v 1.1 1997/12/20 13:13:40 ralf Exp $
+ * Copyright (c) 1997, 1998 by Ralf Baechle
*/
#include <linux/init.h>
+#include <linux/kernel.h>
#include <asm/bcache.h>
#include <asm/sni.h>
diff --git a/arch/mips/sni/setup.c b/arch/mips/sni/setup.c
index d2b0109e7..60b51a5d4 100644
--- a/arch/mips/sni/setup.c
+++ b/arch/mips/sni/setup.c
@@ -1,4 +1,4 @@
-/* $Id: setup.c,v 1.6 1998/05/04 09:12:58 ralf Exp $
+/* $Id: setup.c,v 1.7 1998/05/07 23:44:02 ralf Exp $
*
* Setup pointers to hardware dependant routines.
*
@@ -26,7 +26,6 @@
#include <asm/processor.h>
#include <asm/reboot.h>
#include <asm/sni.h>
-#include <asm/vector.h>
#include <asm/pci.h>
/*
@@ -40,8 +39,6 @@ static void no_action(int cpl, void *dev_id, struct pt_regs *regs) { }
static struct irqaction irq2 = { no_action, 0, 0, "cascade", NULL, NULL};
extern asmlinkage void sni_rm200_pci_handle_int(void);
-extern asmlinkage void sni_fd_cacheflush(const void *addr, size_t size);
-extern struct feature sni_rm200_pci_feature;
extern void sni_rm200_keyboard_setup(void);
extern void sni_machine_restart(char *command);
@@ -49,6 +46,7 @@ extern void sni_machine_halt(void);
extern void sni_machine_power_off(void);
extern struct ide_ops std_ide_ops;
+extern struct rtc_ops std_rtc_ops;
__initfunc(static void sni_irq_setup(void))
{
@@ -133,8 +131,6 @@ __initfunc(void sni_rm200_pci_setup(void))
sni_pcimt_sc_init();
irq_setup = sni_irq_setup;
- fd_cacheflush = sni_fd_cacheflush; // Will go away
- feature = &sni_rm200_pci_feature;
mips_io_port_base = SNI_PORT_BASE;
keyboard_setup = sni_rm200_keyboard_setup;
@@ -165,7 +161,10 @@ __initfunc(void sni_rm200_pci_setup(void))
*/
request_region(0xcfc,0x04,"PCI config data");
pci_ops = &sni_pci_ops;
+
#ifdef CONFIG_BLK_DEV_IDE
ide_ops = &std_ide_ops;
#endif
+
+ rtc_ops = &std_rtc_ops;
}