📄 ide-rapide.c
字号:
/* * linux/arch/arm/drivers/block/ide-ics.c * * Copyright (c) 1996 Russell King. * * Changelog: * 08-06-1996 RMK Created */#include <linux/module.h>#include <linux/malloc.h>#include <linux/blkdev.h>#include <linux/errno.h>#include <asm/ecard.h>#include "ide.h"static const card_ids rapide_cids[] = { { 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); return ide_register_port (port, port + 0x206, 4, ec->irq);}int 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 MODULEint 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -