patch-2.3.99-pre1 linux/drivers/block/rapide.c
Next file: linux/drivers/block/rz1000.c
Previous file: linux/drivers/block/qd6580.c
Back to the patch index
Back to the overall index
- Lines: 93
- Date:
Wed Dec 31 16:00:00 1969
- Orig file:
v2.3.51/linux/drivers/block/rapide.c
- Orig date:
Sat Feb 26 22:31:44 2000
diff -u --recursive --new-file v2.3.51/linux/drivers/block/rapide.c linux/drivers/block/rapide.c
@@ -1,92 +0,0 @@
-/*
- * linux/drivers/block/rapide.c
- *
- * Copyright (c) 1996-1998 Russell King.
- *
- * Changelog:
- * 08-06-1996 RMK Created
- * 13-04-1998 RMK Added manufacturer and product IDs
- */
-
-#include <linux/module.h>
-#include <linux/malloc.h>
-#include <linux/blkdev.h>
-#include <linux/errno.h>
-#include <linux/ide.h>
-
-#include <asm/ecard.h>
-
-static const card_ids __init rapide_cids[] = {
- { MANU_YELLOWSTONE, PROD_YELLOWSTONE_RAPIDE32 },
- { 0xffff, 0xffff }
-};
-
-static struct expansion_card *ec[MAX_ECARDS];
-static int result[MAX_ECARDS];
-
-static inline int rapide_register(struct expansion_card *ec)
-{
- unsigned long port = ecard_address (ec, ECARD_MEMC, 0);
- hw_regs_t hw;
-
- int i;
-
- memset(&hw, 0, sizeof(hw));
-
- for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) {
- hw.io_ports[i] = (ide_ioreg_t)port;
- port += 1 << 4;
- }
- hw.io_ports[IDE_CONTROL_OFFSET] = port + 0x206;
- hw.irq = ec->irq;
-
- return ide_register_hw(&hw, NULL);
-}
-
-int __init rapide_init(void)
-{
- int i;
-
- for (i = 0; i < MAX_ECARDS; i++)
- ec[i] = NULL;
-
- ecard_startfind();
-
- for (i = 0; ; i++) {
- if ((ec[i] = ecard_find(0, rapide_cids)) == NULL)
- break;
-
- ecard_claim(ec[i]);
- result[i] = rapide_register(ec[i]);
- }
- for (i = 0; i < MAX_ECARDS; i++)
- if (ec[i] && result[i] < 0) {
- ecard_release(ec[i]);
- ec[i] = NULL;
- }
- return 0;
-}
-
-#ifdef MODULE
-
-int init_module (void)
-{
- return rapide_init();
-}
-
-void cleanup_module (void)
-{
- int i;
-
- for (i = 0; i < MAX_ECARDS; i++)
- if (ec[i]) {
- unsigned long port;
- port = ecard_address(ec[i], ECARD_MEMC, 0);
-
- ide_unregister_port(port, ec[i]->irq, 16);
- ecard_release(ec[i]);
- ec[i] = NULL;
- }
-}
-#endif
-
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)