Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.26-rc3 65 lines 1.2 kB view raw
1/* 2 * Copyright (C) 1994-1996 Linus Torvalds & authors 3 */ 4 5/* 6 * This file contains the i386 architecture specific IDE code. 7 */ 8 9#ifndef __ASMi386_IDE_H 10#define __ASMi386_IDE_H 11 12#ifdef __KERNEL__ 13 14 15#ifndef MAX_HWIFS 16# ifdef CONFIG_BLK_DEV_IDEPCI 17#define MAX_HWIFS 10 18# else 19#define MAX_HWIFS 6 20# endif 21#endif 22 23static __inline__ int ide_default_irq(unsigned long base) 24{ 25 switch (base) { 26 case 0x1f0: return 14; 27 case 0x170: return 15; 28 case 0x1e8: return 11; 29 case 0x168: return 10; 30 case 0x1e0: return 8; 31 case 0x160: return 12; 32 default: 33 return 0; 34 } 35} 36 37static __inline__ unsigned long ide_default_io_base(int index) 38{ 39 /* 40 * If PCI is present then it is not safe to poke around 41 * the other legacy IDE ports. Only 0x1f0 and 0x170 are 42 * defined compatibility mode ports for PCI. A user can 43 * override this using ide= but we must default safe. 44 */ 45 if (no_pci_devices()) { 46 switch(index) { 47 case 2: return 0x1e8; 48 case 3: return 0x168; 49 case 4: return 0x1e0; 50 case 5: return 0x160; 51 } 52 } 53 switch (index) { 54 case 0: return 0x1f0; 55 case 1: return 0x170; 56 default: 57 return 0; 58 } 59} 60 61#include <asm-generic/ide_iops.h> 62 63#endif /* __KERNEL__ */ 64 65#endif /* __ASMi386_IDE_H */