⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ide.h

📁 linux 内核源代码
💻 H
字号:
/* *  linux/include/asm-m68k/ide.h * *  Copyright (C) 1994-1996  Linus Torvalds & authors *//* Copyright(c) 1996 Kars de Jong *//* Based on the ide driver from 1.2.13pl8 *//* * Credits (alphabetical): * *  - Bjoern Brauel *  - Kars de Jong *  - Torsten Ebeling *  - Dwight Engen *  - Thorsten Floeck *  - Roman Hodek *  - Guenther Kelleter *  - Chris Lawrence *  - Michael Rausch *  - Christian Sauer *  - Michael Schmitz *  - Jes Soerensen *  - Michael Thurm *  - Geert Uytterhoeven */#ifndef _M68K_IDE_H#define _M68K_IDE_H#ifdef __KERNEL__#include <asm/setup.h>#include <asm/io.h>#include <asm/irq.h>#ifdef CONFIG_ATARI#include <linux/interrupt.h>#include <asm/atari_stdma.h>#endif#ifdef CONFIG_MAC#include <asm/macints.h>#endif#ifndef MAX_HWIFS#define MAX_HWIFS	4	/* same as the other archs */#endif/* * Get rid of defs from io.h - ide has its private and conflicting versions * Since so far no single m68k platform uses ISA/PCI I/O space for IDE, we * always use the `raw' MMIO versions */#undef inb#undef inw#undef insw#undef inl#undef insl#undef outb#undef outw#undef outsw#undef outl#undef outsl#undef readb#undef readw#undef readl#undef writeb#undef writew#undef writel#define inb				in_8#define inw				in_be16#define insw(port, addr, n)		raw_insw((u16 *)port, addr, n)#define inl				in_be32#define insl(port, addr, n)		raw_insl((u32 *)port, addr, n)#define outb(val, port)			out_8(port, val)#define outw(val, port)			out_be16(port, val)#define outsw(port, addr, n)		raw_outsw((u16 *)port, addr, n)#define outl(val, port)			out_be32(port, val)#define outsl(port, addr, n)		raw_outsl((u32 *)port, addr, n)#define readb				in_8#define readw				in_be16#define __ide_mm_insw(port, addr, n)	raw_insw((u16 *)port, addr, n)#define readl				in_be32#define __ide_mm_insl(port, addr, n)	raw_insl((u32 *)port, addr, n)#define writeb(val, port)		out_8(port, val)#define writew(val, port)		out_be16(port, val)#define __ide_mm_outsw(port, addr, n)	raw_outsw((u16 *)port, addr, n)#define writel(val, port)		out_be32(port, val)#define __ide_mm_outsl(port, addr, n)	raw_outsl((u32 *)port, addr, n)#if defined(CONFIG_ATARI) || defined(CONFIG_Q40)#define insw_swapw(port, addr, n)	raw_insw_swapw((u16 *)port, addr, n)#define outsw_swapw(port, addr, n)	raw_outsw_swapw((u16 *)port, addr, n)#endif/* Q40 and Atari have byteswapped IDE busses and since many interesting * values in the identification string are text, chars and words they * happened to be almost correct without swapping.. However *_capacity * is needed for drives over 8 GB. RZ */#if defined(CONFIG_Q40) || defined(CONFIG_ATARI)#define M68K_IDE_SWAPW  (MACH_IS_Q40 || MACH_IS_ATARI)#endif#ifdef CONFIG_BLK_DEV_FALCON_IDE#define IDE_ARCH_LOCKextern int falconide_intr_lock;static __inline__ void ide_release_lock (void){	if (MACH_IS_ATARI) {		if (falconide_intr_lock == 0) {			printk("ide_release_lock: bug\n");			return;		}		falconide_intr_lock = 0;		stdma_release();	}}static __inline__ voidide_get_lock(irq_handler_t handler, void *data){	if (MACH_IS_ATARI) {		if (falconide_intr_lock == 0) {			if (in_interrupt() > 0)				panic( "Falcon IDE hasn't ST-DMA lock in interrupt" );			stdma_lock(handler, data);			falconide_intr_lock = 1;		}	}}#endif /* CONFIG_BLK_DEV_FALCON_IDE */#define IDE_ARCH_ACK_INTR#define ide_ack_intr(hwif)	((hwif)->ack_intr ? (hwif)->ack_intr(hwif) : 1)#endif /* __KERNEL__ */#endif /* _M68K_IDE_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -